O registro de transparência de aplicativos de produtos do Google aproveita a tecnologia de registro de transparência.
A utilidade dos registros de transparência foi comprovada por projetos como a Transparência binária do Pixel e também a Transparência dos certificados.
Os registros de transparência são implementados com árvores Merkle. Esta página pressupõe conhecimento geral de árvores Merkle e transparência binária. Consulte Estruturas de dados verificáveis para uma visão geral das árvores Merkle e a página principal para uma visão geral do esforço de transparência binária no Android.
Implementação de registros
O registro de transparência de aplicativos de produtos do Google é implementado usando Tessera e segue a especificação tlog-tiles com uma altura de bloco de 8 (cada bloco ou pacote contém no máximo 28 = 256 itens).
A raiz do conteúdo do registro é disponibilizada em:
https://gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile/entries/
A raiz do conteúdo do bloco é disponibilizada em:
https://gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile/
Observe que estas não são páginas da Web comuns: as entradas de registro contidas nos
subdiretórios precisam ser lidas programaticamente com uma biblioteca de clientes tlog-tiles (como Tessera ou Golang SumDB Tlog) e não
por um navegador. Declaramos o link aqui para fins de esclarecimento.
- Blocos de árvore: os hashes de nós internos e folha da árvore Merkle são disponibilizados em
tile/<level>/<path>(por exemplo,tile/0/000,tile/1/000). - Pacotes de entrada: os payloads de folha de registro são organizados em pacotes de entrada em
tile/entries/<path>(por exemplo,tile/entries/000,tile/entries/001), com cada pacote contendo até 256 entradas concatenadas.
Consulte Conteúdo do registro para uma descrição do que cada entrada contém.
O hash de raiz da árvore Merkle do registro, contido em um checkpoint, é disponibilizado
em https://gstatic.com/android/binary_transparency/google1p/apk/2026/02/checkpoint
no formato de checkpoint.
A origem do checkpoint é android.transparency.goog/google1p/apk/2026/1.
As assinaturas de checkpoint são geradas usando o algoritmo de assinatura Ed25519.
A assinatura do checkpoint pode ser verificada com a seguinte chave pública
no formato de verificador de notas (conforme definido em golang.org/x/mod/sumdb/note)
ou no formato PEM padrão:
- Formato de verificador de observações (
<name>+<key_hash>+<public_key_bytes>):
android.transparency.goog/google1p/apk/2026/1+fc654374+ATr9NQE0gvOtVfj5cCStUzdlflEp3oZoNHD8pImzPj5O
- Formato PEM (SubjectPublicKeyInfo):
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAOv01ATSC861V+PlwJK1TN2V+USnehmg0cPykibM+Pk4=
-----END PUBLIC KEY-----
Registro arquivado (V1)
Antes da atualização do terceiro trimestre de 2026, o registro operava em uma implementação V1 anterior usando assinaturas ECDSA (NIST P-256 com SHA-256). O registro V1 é arquivado e somente leitura, mas permanece acessível publicamente para verificar entradas históricas:
- Tamanho da árvore: 1.797.152 entradas (no momento do arquivamento)
- Hash de raiz:
IkmuYB2xKKEOLiaQkIho1o9/uGjrKDbk8xa3xXaFeHY= - Checkpoint: https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/checkpoint.txt
- Folhas de dados: devido ao tamanho do arquivo individual e às limitações de armazenamento em
gstatic.com(que limita arquivos estáticos únicos a 200 MiB), os payloads de folha do registro arquivado completo são particionados em dois arquivos sequenciais:- Parte 1 (entradas de 0 a 1.714.860): https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/package_info.txt
- Parte 2 (entradas de 1.714.861 a 1.797.151): https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/package_info2.txt
- Raiz do bloco:
https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/tile/ - Chave pública (formato PEM, ECDSA P-256):
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaP7xodTP5/teDOUYFAUHF0MqvOXt
+jamtcDYWxTjY99hyYczpB/cF2fxHhIqEznNpLcI2Vorl+iEchWhZ0y3Mg==
-----END PUBLIC KEY-----
Verificar reivindicações de registro
A página de verificação descreve com mais detalhes como os vários componentes do registro são usados para verificar as reivindicações feitas no modelo de requerente.