Privacy

The file never leaves your device. Here is what does.

Verifyum is built so that we cannot learn what you are proving. This page says exactly what we receive, what we keep, for how long, and what we never see. It applies to the website, the HTTP API, the hosted MCP endpoint and the local MCP server.

We receiveA commitment, your IP address and browser identifier
We never receiveYour file, its name, its hash or the nonce
We publishThe proof record and batch checkpoints
We do not runAnalytics, advertising or third-party scripts

What we receive

Creating a proof

Your browser, or the local MCP server, hashes the file on your device, generates a random 32-byte nonce on your device, builds a canonical manifest and computes a domain-separated commitment. Only that commitment is sent to us. We never receive the file, its name, its hash or the nonce, and the commitment cannot be reversed into any of them or matched against a database of known file hashes.

With the request we receive your IP address and your browser or client identifier, as any web server does. The IP address is used to limit how many proofs one source can create per hour and per day. It is used as a keyed hash, computed with a secret key that is wiped from memory after use, and the raw address is not stored with your proof or in the proof queue.

If you use an authenticated client credential, the outcome of each request is recorded in an operations log under that client identifier, so the client can be supported and abuse can be traced.

What we keep

The proof record, and not much else

A proof record contains the proof identifier, the commitment, the network, the Solana transaction reference, timestamps and our Ed25519 service signature. It contains no IP address, no file name and no file hash. It is kept permanently, because it is an anchor in a public ledger and the whole point is that it outlives us.

Web server access logs contain the IP address, the client identifier and the request line. They are kept in daily files in the host's temporary directory and are removed by the system's temporary-file policy, which deletes them after thirty days. They are used for operations and abuse investigation only.

Rate-limit reservations are keyed hashes that expire with their hourly and daily windows.

The status page at /stats is behind a short code while it is not public. Entering it sets one cookie holding a signed expiry, so the page knows the code was entered. It contains no identifier and expires after twelve hours. Failed attempts are counted per address, as a keyed hash, and that record is deleted once its window passes. No other page on this site sets a cookie.

What we publish

Proofs are public by design

Every finalized proof is readable at its proof address and in its Solana transaction by anyone who holds the proof identifier. We publish no listing endpoint, but a proof is not private for that reason. The identifier is written into the Solana memo, and every anchor is sent from one public address, so anyone who has seen a single proof can read the identifiers of the rest straight from the chain. Finalized proofs are also announced by identifier in a public Telegram channel and an Atom feed. Treat the existence of a proof as public.

What stays private is what the proof is about. The record contains no file, no file name, no file hash and no nonce, and the commitment is blinded by the nonce, so it cannot be matched against a file someone already holds. Someone listing proofs learns that a proof was made and when, and nothing else.

The Witness Layer groups finalized proofs into hourly and daily checkpoints. A checkpoint carries a Merkle root, the period it covers, when it was made, how many proofs it contains and the previous checkpoint's hash. Checkpoints, or digests of them, are sent to external witnesses and published. They never contain proof identifiers, commitments, file hashes or nonces, and the members cannot be derived from the root. The witnesses are named on the Witnesses page.

What we do not do

No tracking

Our pages load no analytics, no advertising, no third-party fonts and no third-party scripts. The only cookie we set is the status page one described above, and it is there to remember a code, not to recognise you. We do not sell or share personal data. External witnesses receive checkpoints, not personal data. The local MCP server stores nothing and writes no log on your machine.

Your rights

What can and cannot be undone

A proof record cannot be deleted. It is an entry in a public ledger, and it reveals nothing about you or your file. Access logs are deleted after thirty days. If you believe we hold personal data about you beyond this, or want to exercise a right under the GDPR, write to us and we will answer.

The operator is AI SENSE AS, Oslo, Norway. Contact: post@aisense.no. The legal basis for processing the IP address is our legitimate interest in running the service and preventing abuse.