FORENSIAWeb3 forensicsOpen workspace

The local evidence vault

Where raw responses are kept, how they are encrypted on your device, and what "verified" means when you check them.

2 min read · How a lookup works

#Plain languageIn plain terms

A fingerprint tells you a response has not changed. To actually re-read a response you need the response itself. Where the data licence allows it, Forensia hands the raw responses to your browser, which stores them encrypted on your device. Nothing is kept on a server.

Later you can ask the vault to check itself. It decrypts each saved response and confirms it still matches its fingerprint. Only responses that pass can be exported.

#How it worksHow it works

  1. The server compresses each response and sends it with the result.
  2. The browser checks each one against its fingerprint before saving it.
  3. It encrypts each response with a key that never leaves the browser.
  4. On a check, it decrypts, decompresses and re-fingerprints every saved response.
  5. Export packages contain only responses that verified.

#Technical detailThe exact rules

Storage is the browser's IndexedDB. The key is AES-GCM with a 256-bit length, generated in the browser and marked non-extractable, which means script cannot read the key material back out. Each response is encrypted with a fresh random 12-byte nonce. The response's two fingerprints are bound into the encryption as additional authenticated data, so a ciphertext cannot be swapped onto another record.

LimitValue
Retention30 days from first save
Responses per snapshot512
Compressed size per response1,000,000 bytes
Compressed size per snapshot2,000,000 bytes
Original size per snapshot64 MiB
Original size per response8 MiB

What verified means

A response is marked verified only when all of these hold:

  • The snapshot fingerprint recomputes to the stored value.
  • The record links to exactly one saved response with the same fingerprint.
  • Decryption succeeds, which also authenticates the ciphertext.
  • The compressed size and compressed fingerprint match.
  • Decompression produces exactly the recorded number of bytes.
  • The SHA-256 of the decompressed bytes equals the record's fingerprint.
StateMeaning
VerifiedAll checks above passed.
Reference onlyA pointer to a published source. No response was captured.
No responseThe request got no answer.
Not retainedThe fingerprint exists but the response was not saved.
MissingA link exists but the saved response is gone.
ExpiredPast the 30-day retention.
FailedA check did not pass. Export is blocked.
Key unavailableThe decryption key cannot be read.
Check limitToo many or too large to check in one pass.

Export is blocked when the vault has expired, when any response fails, when no response verified, or when a re-check of the interpretation disagrees with the saved bytes.

#LimitsWhat it does not tell you

  • On the public beta, raw responses are not sent to the browser at all, because public data sources do not license onward distribution. Fingerprints are still recorded.
  • The vault is tied to one browser on one device. Clearing site data deletes it, including the key.
  • There is no passphrase and no key backup. A lost key cannot be recovered.
  • Saving again does not extend the 30 days.
  • Verified means the bytes match what was received. It does not mean the provider's content is true.