About Tiles

  • This page details the format of files found in the tile/ directories related to Android Binary Transparency.

  • These files contain SHA256 hashes of Merkle Tree nodes representing the Binary Transparency log for Pixel Factory Images, which are packaged into tiles.

  • The tlog library is used to write tiles with a height of 1, meaning each tile contains at most 2 hashes.

  • Tile paths follow a specific structure as defined in the tlog documentation.

General information about the Android Binary Transparency is available on the main Binary Transparency Page.

This page contains more details on the format of the files under the various tile/ directories.

These files contain the hashes of the Merkle Tree nodes representing the Binary Transparency log for Pixel Factory Images. Furthermore, these hashes are packaged into tiles. For an overview of how splitting the tree into tiles see Tiling a Log.

In this log, the nodes are hashed using SHA256. We use the tlog library to write the tiles specifically with a tile height of 1. That means that each tile contains at most 2^height = 2 hashes, each of them 32 bytes.

Details of tile path constructions can be found in the tlog Tile docs.

The root of the tile for the each log is served at:

  • Pixel Transparency Log
    • https://developers.google.com/android/binary_transparency/tile
  • Google System APK Transparency Log
    • https://developers.google.com/android/binary_transparency/google1p/tile/

Example of Computing with Tiles

To better understand how tiles work, we walk through an example using Pixel Transparency Log. Let's assume a tree of size 8. If you're looking at entry at index 3, it would be the first hash in tile t(0, 1). Paths for tiles are of the form tile/H/L/NNN[.p/W]. So, the path for tile t(0, 1) would be https://developers.google.com/android/binary_transparency/tile/1/0/001. The tree root would be in tile t(3, 0)/1, which is path https://developers.google.com/android/binary_transparency/tile/1/3/000.p/1.