Skip to content
Rite 0.x: expect breaking changes between releases until 1.0.

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.

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.

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