When a file is dropped in the above box, its hash value
is calculated locally inside the browser (the file is not shared
with anyone, preserving privacy);
then, this hash is submitted to the public
calendar servers for attestation of its existence (timestamp);
a submission (.ots) receipt is locally downloaded.
In time, the hash will be attested in a Bitcoin block header
and the receipt will become upgradable to attestation proof.
Alternatively, if the file dropped in the above box is a (.ots) receipt/proof, first an upgraded proof is obtained from the calendar servers if available, then the most recent receipt/proof status is displayed below.
A timestamp proves that a document existed in a specific status prior to a given point in time. Digital data can be timestamped attesting its 'hash' in a blockchain transaction: the hash acts as a digital fingerprint, 'uniquely' identifying the unmodified original document; the transaction content and timestamping is secured by the computational effort performed after its blockchain inclusion. Tampering with the transaction is computationally intensive, to the limit of being economically prohibitive in the Bitcoin case.
OpenTimestamps is a vendor-independent open protocol that defines a set of operations for creating provable blockchain timestamps and later independently verifying them; as such, it allows for third party auditability and is suitable for regulatory prescriptions.
While anyone could realize a timestamp with the permissionless blockchain(s) by paying the appropriate transaction fees, there are public OpenTimestamps calendar servers, free to use without any registration or API key. To avoid the inefficiency of one blockchain transaction for every timestamp, a calendar server provides aggregation of multiple documents (in a Merkle tree data structure) and performs their attestation in a single transaction (attesting the tree root).
This webpage is an interface to create timestamp proofs using the OpenTimestamps public calendar servers (e.g. btc-ots.dgi.io): Bitcoin's blockchain is used as a timestamp notary, i.e. the proof is attested in a Bitcoin block header. OpenTimestamps proofs can be verified independently from any server or facility, using a local Bitcoin Core node; anyway, since a web-page cannot access the local filesystem, this page relies on public block-explorers for verification.
While the OpenTimestamps protocol is blockchain agnostic, a timestamp is as reliable as the used blockchain:
It should be obvious, but it is worth mentioning that timestamping (using the OpenTimestamps protocol or any alternative approach):