What it is
A sealed, dated record that one official run of your files produced your results.
The archive attached to your repository issues the certificate. It receives your packed files, chooses the seed for the run, checks the recorded run against the protocol's rules, and signs. It never trusts a fingerprint you computed; it computes its own.
You do not need to know any of the tools. You take one short form and hand it to an AI assistant that can run commands on your computer. The assistant runs the author's program for you: it runs your analysis twice to see that it repeats, sends the packed copy to the archive, runs once more under the archive's seed, and hands in the certificate. Your original folder is never changed, and nothing is published until you say so.
Before you begin
What you need
- Your replication folder on this computer: code, data, and a README. No package at hand? Try this small sample dataset.
- The software your code uses, R or Python, installed here: the certified run happens on your machine.
- An account at the repository you deposit to, and its API token (on Dataverse: your name, API Token, Create Token). Keep it ready to paste; never write it into the form.
- An AI assistant that can run commands on your computer.
How it works
Four steps.
Get the form
Copy it or download it below. It asks three things: your folder, your repository's address, and where the dataset goes. Answer what you like; the assistant asks for the rest, one question at a time. If you prefer, drop your folder on the page and its name and contents go into the form.
Paste it into your assistant
Open your assistant in a new, empty folder and paste. It follows fixed instructions: it checks your folder, proposes the run order, runs your analysis twice, registers the draft, deposits, runs once more under the archive's seed, and submits the certificate.
Review, then let the archive seal
You see, in plain words, which scripts ran and in which order, the repeatability grade, the receipt's ledger line and the seed, and the certificate fields now on your draft. Any repair is listed with the exact change. The seal itself takes a few hours.
Say "publish"
The repository checks with the archive that the file in the version is the certified one, releases the version, and shows the Replication Certificate on the dataset page. Publishing is irreversible, so it waits for your word.
Start here
Get the form
Copy it, or download it as a file, and fill it in with your assistant. Nothing on this page is sent anywhere.
The assistant's fixed instructions are CERTIFY_PROMPT.md; the blank form on its own is CERTIFY_INTAKE.txt.
Optional: drop your folder here
Its name and the list of its files go into the form, so the assistant knows what it will find. Nothing is uploaded; the page only reads the names.
The grade
How closely your two practice runs agreed.
The usual causes of T2 are an unpinned seed, a date written into an output, or parallel computation left on. The grade is recorded on the certificate and recomputed by every check.
For readers and journals
Check a certificate in seconds.
On a certified dataset's page, the Replication Certificate fields name the certificate's fingerprint, the packed files' fingerprint, the archive and its key, the grade, any exception mark, the ledger lines, the seed-sensitivity summary and the archive's state. The certificate bundle field links to everything the archive stores beside it, readable with no login.
Download the bundle, unpack it, and run the checker with the archive's public key obtained from a source the depositor cannot edit. It prints what passed, what failed, and what it could not evaluate. "Unevaluated" is not "failed": public timestamps take a few hours to confirm, and some parts only the archive can judge.
# the bundle from the dataset's certificate link, unpacked rulebook verify ./bundle --archive-key archive.pub.pem Checking ./bundle Archive key: archive.pub.pem Every finding that could be evaluated passed. …
The checker is installed with the author's program; a stranger needs only it, the bundle and the key.
For archives and repositories
Any archive can offer it.
An archive or data repository offers certification by running the certification service beside it. The service holds the signing side: it issues receipts and seeds, checks and signs certificates, keeps the public ledger, stores the packed file in the author's draft, writes the certificate fields onto the dataset, answers the question "is the file in this version the certified one?" before a version is released, and records the publication afterwards. A small connector adapts it to the repository's own interface; the repository's own software does not change.
Dataverse is the first repository with a connector, built from things Dataverse already supports: a metadata block, an external tool, two workflows and a few settings. Another repository needs a connector of its own, written against the same service. The installation steps and the service's interface are in the project's repository; the certification team hands them out.
Questions
The ones we hear most.
Does anything change my files?
No. The author's program works on copies. If a script needs a repair to run at all, the assistant shows you the exact change and applies it only to a prepared copy, with a note that records it. Tick the first box on the form to forbid even that.
Why does the seal take a few hours?
The archive dates your receipt with a public timestamp on the Bitcoin chain, so that nobody, including the archive, can move the date later. It signs the certificate only after that timestamp has confirmed. Your assistant can wait, or you can come back.
What does the archive learn about me?
Your packed files and your certificate. Your receipt names you by a stable pseudonym, not by your repository identity; the certification service keeps the link between the two privately.
What if I change the files later?
That is a new certification: the certificate names the exact bytes of the packed files, and the repository refuses to publish a version whose file differs from them. Certify the new version the same way.
What if my code reads files outside the folder?
Add them to the folder, or declare them: a web address and a fingerprint per file. Declared outside files are fetched and recorded in the certificate for readers to see; undeclared ones stop closing.
Who sees what?
Nothing about your draft is public before you publish. Once published, the certificate fields and the bundle are readable by anyone, which is the point: the check needs no login and no permission.