The record Agent A handed over

One observation: NDVI 0.4709 at one 10 m cell near Keylong on 2026-09-25, from a Sentinel-2A L2A scene. Below is every field of its 1,115 bytes, read by the build from research/repro/v8/proof_bundle_ndvi.cbor.

The token: emem:fact:defi.zb572.xoso.zb1ec:oj5ceccile62uvm6hedpuk67cjt2pqc7z33mtsyuffgakxbxmyaa

Its name: oj5ceccile62uvm6hedpuk67cjt2pqc7z33mtsyuffgakxbxmyaa = base32(BLAKE3-256(the 1,115 bytes)). The name binds every field below. It names this record, not the satellite file.

No signature of its own. The record carries the signer's key as a field. The signature is on the batch: the operator signs a Merkle root over BLAKE3(record) leaves, and the batch is a log entry.

Source named, not hashed. sources[0] names the two COG files by URL and carries no hash of them. So L3 is a re-read of the named pixel, not a hash check.

1 · The record (1,115 bytes, CBOR)

fieldvalue in this recordbound by the namebinds the source file's byteslayer
kindprimaryyesnoL0
celldefi.zb572.xoso.zb1ec (node 32.57126° N, 77.03448° E, near Keylong, Lahaul, India)yesnoL1
bandindices.ndviyesnoL1
tslot20721 (UTC day 2026-09-25)yesnoL1
value0.4708994708994709 (IEEE-754 double)yesnoL0, L2
confidence0.95 (single-precision float)yesnoL2
sources[0].schemesentinel_s2_l2ayesnoL3
sources[0].idT43SFS_20260925T054251_B08_10m.tif
T43SFS_20260925T054251_B04_10m.tif
two Planetary Computer COG URLs, named in full; no hash of either file
yesno: named by URL onlyL3
sources[0].captured_at2026-09-25T05:42:51.024000ZyesnoL1, L3
derivation.fn_keysentinel2_l2a_indices_ndvi@1yesnoL2
derivation.args[0]latitude of the cell node: 32.57125977099409yesnoL1, L3
derivation.args[1]longitude of the cell node: 77.03447748052537yesnoL1, L3
derivation.args[2]Sentinel-2 scene id: S2A_MSIL2A_20260925T054251_R005_T43SFS_20260925T090015yesnoL3
derivation.args[3]EPSG code of the asset: 32643yesnoL3
derivation.args[4]formula note: NDVI = (B08 − B04) / (B08 + B04). Vegetation greenness.yesnoL2
derivation.args[5]DNs read [B08, B04]: [3502, 1900]yesnoL2, L3
derivation.args[6]scene cloud cover, %: 10.840102yesnoL3
derivation.args[7]maximum cloud cover allowed, %: 40yesnoL3
derivation.args[8]look-back window, days: 30yesnoL3
derivation.args[9]SCL class at the pixel: 4yesnoL3
derivation.args[10]scenes tried: 1yesnoL3
derivation.args[11]STAC catalogue searched: https://planetarycomputer.microsoft.com/api/stac/v1/searchyesnoL3
derivation.args[12]BOA offset: -1000yesnoL2, L3
privacy_classpublicyesnonone
schema_cidd24rgwlq47a5ism5vkkbiuav3wi2voewqqgy4x4ttnhdnzziyfkqyesnoL0
signer777er3yihgifqmv5hmc2wwmyszgddzderzhsx6rex4yoakwomvka (emem.dev's key; a field, not a signature)yesnoL0
signed_at2026-09-28T09:06:56ZyesnoL1, L3

Layers, as in the methods: L0 record integrity (re-hash, signature, log) · L1 observation identity (cell, band and time against the question) · L2 derivation (recompute the value) · L3 source (re-read the named pixel) · L4 entity (is this the field you meant?) · L5 truth and decision. L4 and L5 are outside what the record can show.

Not in the record: unit (absent); uncertainty (absent); sources[0].hash (absent: the server never fills it); sources[0].cid (absent); reader stamp (cog-pixel-floor@2) (absent: signed after the pixel fix of 28 Sep 2026 04:09Z, before the stamp was added). The provenance class is declared per band in the bands manifest, not in the record. The request (the asked date, the question) is not stored.

2 · The batch attestation (what is signed)

fieldvaluein the signed preimage
factsa batch of 1 record; its leaf is BLAKE3 of the 1,115 bytes abovevia batch_root
batch_rootwnljgmqgsxs4rlw6saoi43musygzzllgao3jte6uoqkwqbffq3ea (Merkle root over the sorted BLAKE3 leaves)yes
registry_cid3pbqnyninz6xqll2ynjlh4djlppcp2mdcdmzeq4otebnli5ndzaayes
schema_cidd24rgwlq47a5ism5vkkbiuav3wi2voewqqgy4x4ttnhdnzziyfkqyes
attester777er3yihgifqmv5hmc2wwmyszgddzderzhsx6rex4yoakwomvka (the verifying key)the key that verifies
signatureEd25519, 64 bytes, over BLAKE3(PreimageV1("attestation"){1: batch_root, 2: registry_cid, 3: schema_cid})is the signature
attested_at2026-09-28T09:06:56Zno (bound only by the log entry hash)
attester_key_epoch0no
preimage_version1selects the rule

Every field of the record is signed transitively: its hash is a leaf under batch_root. The pinned key is published under emem.dev in DNS TXT _emem-node.emem.dev, did.json and jwks.json; all are controlled by the operator of emem.dev.

3 · The public log

objectvalueread-only link
log entry2,457,078 (leaf = BLAKE3(0x00 ‖ BLAKE3(attestation entry)), entry 1,604 B)GET the entry
signed tree head2,556,451 entries, signed 2026-09-30T09:15:54Z by 777er3yi…; inclusion path of 20 hashesGET the inclusion proof
witnesskey quunzdv5qymo… co-signed head 2,541,495; consistency proof of 21 hashes to the head aboveGET the consistency proof
current headthe log keeps growing; pin a head and ask for consistency laterGET /v1/log/sth

These are the proofs the demo checks offline from the committed bundle (signed 2026-09-30T09:15:54Z). The links fetch fresh copies from emem.dev with GET. On 1 Oct 2026, one organisation ran both the log and its only independent-tier witness.

Check it yourself

The 1,115 bytes (hex)

ac646b696e64677072696d6172796463656c6c75646566692e7a623537322e78
6f736f2e7a623165636462616e646c696e64696365732e6e6476696574736c6f
741950f16576616c7565fb3fde233788cde2336a636f6e666964656e6365fa3f
73333367736f757263657381a366736368656d656f73656e74696e656c5f7332
5f6c32616269647901d768747470733a2f2f73656e74696e656c326c32613031
2e626c6f622e636f72652e77696e646f77732e6e65742f73656e74696e656c32
2d6c322f34332f532f46532f323032362f30392f32352f5332415f4d53494c32
415f3230323630393235543035343235315f4e303531335f523030355f543433
5346535f3230323630393235543039303031352e534146452f4752414e554c45
2f4c32415f5434335346535f413035383830345f323032363039323554303534
3234352f494d475f444154412f5231306d2f5434335346535f32303236303932
35543035343235315f4230385f31306d2e746966203b2068747470733a2f2f73
656e74696e656c326c326130312e626c6f622e636f72652e77696e646f77732e
6e65742f73656e74696e656c322d6c322f34332f532f46532f323032362f3039
2f32352f5332415f4d53494c32415f3230323630393235543035343235315f4e
303531335f523030355f5434335346535f323032363039323554303930303135
2e534146452f4752414e554c452f4c32415f5434335346535f41303538383034
5f3230323630393235543035343234352f494d475f444154412f5231306d2f54
34335346535f3230323630393235543035343235315f4230345f31306d2e7469
666b63617074757265645f6174781b323032362d30392d32355430353a34323a
35312e3032343030305a6a64657269766174696f6ea266666e5f6b6579781c73
656e74696e656c325f6c32615f696e64696365735f6e64766940316461726773
8dfb4040491f0a48f854fb40534234e108d38478365332415f4d53494c32415f
3230323630393235543035343235315f523030355f5434335346535f32303236
3039323554303930303135197f8378394e445649203d202842303820e2889220
42303429202f2028423038202b20423034292e2056656765746174696f6e2067
7265656e6e6573732e82f96ad7f9676cfb4025ae21d96e9bbff95100181e0401
783a68747470733a2f2f706c616e6574617279636f6d70757465722e6d696372
6f736f66742e636f6d2f6170692f737461632f76312f736561726368f9e3d06d
707269766163795f636c617373667075626c69636a736368656d615f63696478
346432347267776c713437613569736d35766b6b626975617633776932766f65
777171677934783474746e68646e7a7a6979666b71667369676e6572982018ff
18fe184818ef08183918901858183218bd183b0518ab185918981896184c1831
18e41864188e184f182b18fa182418bf183018e0182a18ce1865185469736967
6e65645f617474323032362d30392d32385430393a30363a35365a

A signature fixes these bytes. It does not make the measurement true. Whether the cell is the field you meant (L4), and whether the sensor and a decision taken on the value are right (L5), are outside what this record can show.