)]}'
{
  "commit": "5310d48b392da31171e952a436c7594c56c0373c",
  "tree": "bedba57a5820242b4b2b69e59fb781c9d7af53db",
  "parents": [
    "ca11109f62b75f281a333c40295e75b072a4db7b"
  ],
  "author": {
    "name": "QUICHE team",
    "email": "quiche-dev@google.com",
    "time": "Fri Jun 19 00:26:34 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Jun 19 00:27:09 2026 -0700"
  },
  "message": "[SM] CL 1/n: Refactor BlindSignAuth to accept generic attestation data\n\n- Refactor BlindSignAuth to accept `google::protobuf::Any` for attestation data to enable cross-platform compatibility.\n\n- By replacing the `absl::Span\u003cconst std::string\u003e` parameter (which was previously used to pass Android-specific attestation certificates) with a generic `Any` protobuf, we decouple the core QUICHE library from platform-specific attestation structures. The responsibility of constructing the platform-specific proto (e.g., `AndroidAttestationData` for Android or `IosAttestationData` for Apple devices) is now correctly delegated to the platform-specific callers (like the Android JNI layer).\n\n- It was chosen to refactor the interface rather than introducing method overloads (i.e. maintaining the old Android signature alongside a new iOS signature) to keep the core `BlindSignAuth` library clean and fully platform-agnostic. Overloading would require the core library to continue parsing and depending on Android-specific protos. The chosen approach enforces a cleaner separation of concerns, ensuring that the core library only acts as a pass-through for opaque `Any` payloads.\n\n#SM\n\nPiperOrigin-RevId: 934771494\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "de86473bbfe6b94386eabfe33c054be278155063",
      "old_mode": 33188,
      "old_path": "quiche/blind_sign_auth/blind_sign_auth.cc",
      "new_id": "767a192331a60c72405cf1a689a27c01c4ec6a76",
      "new_mode": 33188,
      "new_path": "quiche/blind_sign_auth/blind_sign_auth.cc"
    },
    {
      "type": "modify",
      "old_id": "15accf7d42b83bd7aa19d1b2c7ac2434719c64e3",
      "old_mode": 33188,
      "old_path": "quiche/blind_sign_auth/blind_sign_auth.h",
      "new_id": "8a4a10c7619f3c1d6d9bae72b7aac5e58c424f3f",
      "new_mode": 33188,
      "new_path": "quiche/blind_sign_auth/blind_sign_auth.h"
    },
    {
      "type": "modify",
      "old_id": "4058b6dd618a0079d3a0f47c661f3fe5ba5724f8",
      "old_mode": 33188,
      "old_path": "quiche/blind_sign_auth/blind_sign_auth_interface.h",
      "new_id": "8715a58221d2244216383e8cccb1b9de05a4f83b",
      "new_mode": 33188,
      "new_path": "quiche/blind_sign_auth/blind_sign_auth_interface.h"
    },
    {
      "type": "modify",
      "old_id": "2b2f3d431e227ff866bdd20df90f21e9b54ff3e9",
      "old_mode": 33188,
      "old_path": "quiche/blind_sign_auth/blind_sign_auth_test.cc",
      "new_id": "dcffc922f00dde74311b0eea7843787bf15f4b01",
      "new_mode": 33188,
      "new_path": "quiche/blind_sign_auth/blind_sign_auth_test.cc"
    }
  ]
}
