Ledger
Every day, each captured file is hashed and the day is chained to the one before, so nothing can be added or changed after the fact.
digest = SHA-256(previous digest + date + Merkle root of the day’s file hashes). Recompute from /api/v1/ledger. Each digest is timestamped in Bitcoin through OpenTimestamps; check a receipt with ots verify -d <digest> <day>.ots.