A .mem can prove two things about itself: when it existed, and that it has not changed since. Every asset’s contentHash is the SHA-256 of its bytes (for a voice or note asset, of its transcript). The package’s provenance.manifestHash is the SHA-256 over mem-v1:<id>:<count>:<sorted asset hashes>. Any reader can recompute both without our engine: re-hash the media against each contentHash, then recompute manifestHash from the package id and the asset hashes. That is what verifyMemArchive does.
The timestamp
A .mem may carry its own timestamp. anchor.ots is an OpenTimestamps proof attesting to manifestHash, and provenance.anchor describes it:
interface MemAnchor {
method: "opentimestamps";
target: string; // the SHA-256 digest the proof attests to (== manifestHash)
proofRef: string; // "anchor.ots"
status: "pending" | "confirmed";
stampedAt?: string;
bitcoin?: { height: number; timestamp: number }; // once confirmed
}target equals the file’s own manifestHash, so the file proves its own contents existed, unaltered, at a point in time, with no server lookup. The status starts pending right after stamping (the calendars take 1 to 24 hours) and becomes confirmed, with a Bitcoin block height and time, once a block attests it. A re-export then embeds the confirmed proof.
Verify it yourself
Recompute manifestHash from mem.json, then run ots verify anchor.ots against that digest, or call the OpenTimestamps library on the proof bytes. No Memoresse code is involved. verifyMemArchive reports whether a proof is present and whether it targets this file’s hash; full Bitcoin confirmation is deliberately out of band. You do not have to trust us. You can verify it yourself, even if we are gone.
What it proves, and what it does not
It proves that these exact bytes existed no later than the attested block and have not been altered since. It does not prove who made them, that a photo depicts a real event, that nothing was edited before the stamp, or anything about ownership. It carries no legal or evidentiary weight. It is a proof of integrity and timing, which is why this app shows it as a quiet trust badge and nothing more.