Security ceremonies, done right
Write the ceremony once, human and machine steps together. Rite prints the procedure, guides the run, and keeps the record.
The Getting Started ceremony, run with rite run. At the end it prints the transcript fingerprint.
Why ceremonies
Cryptography makes forgery mathematically hard. HSMs make key extraction physically hard. Neither shows that the right actions happened, in the presence of the right people, under the right conditions.
Those questions need roles, witnesses, attestations, and a record that can be reviewed afterwards. That is a ceremony. Rite lets you describe one, execute it, and review what actually happened.
One ceremony, one file
The human steps, such as checking the device before a witness, and the machine steps, such as generating the key, sit in the same file, in the order they happen. The paper participants hold and the steps the machine runs are two views of that file. Below are the file behind the recording, the procedure printed from it, and the report of its run.


rite script prints the steps, the roles, and a box for the transcript fingerprint. Participants sign it at the end.
rite report turns the record into a document for reviewers: artifacts with digests, who did what, and when.Example ceremonies
These are short examples from the Rite repository. Examples marked “showcase” demonstrate a particular feature; they are not complete procedures to run as-is. None has been used for a production ceremony.
rite verify re-derives it from the record.What the record can and cannot say
Every fact recorded during the run contributes to one fingerprint. Before they leave the room, participants copy it onto the printed procedure and sign it. Later, rite verify recomputes the fingerprint from the record. If it matches the paper, the record has not been altered since the ceremony ended.
The record keeps two kinds of entry apart: what the machine observed itself, such as a key it generated, and what people stated, such as a witness attesting that the air gap was checked. rite verify cannot show that the witness was looking. An attestation is a person’s statement, recorded as such.
The record can be shared in part. A public disclosure withholds names and internal details but keeps a commitment to each withheld entry, so it verifies to the same fingerprint as the complete record.
What Rite does today
Available
- Ceremony definitions in YAML: roles, steps, materials, and outputs, checked by
rite check - Guided terminal runs, with retries and deviations recorded
- Printed procedures and reports generated from the same definition
- Transcripts with fingerprints, re-derivable randomness, evidence bundles, and public disclosures
- Cryptographic operations through OpenSSL, including RSA, ECDSA, Ed25519, ML-DSA, ML-KEM, symmetric keys, and cloud KMS key wrapping
- M-of-N secret sharing between custodians
- YubiKey PIV key generation, signing, and attestation
- Rite Live: the ceremony machine boots from a USB drive into a read-only system checked by dm-verity
- VS Code and IntelliJ extensions, plus a Docker image
Planned
- Resuming a ceremony after an interruption, and a teardown act on abort or failure
- TPM 2.0 and PKCS#11 backends, and backends as separate programs
- Measured execution: TPM measurements and signed quotes in the record
- RFC 3161 trusted timestamps