Private content, native to the PDS.

About

Privacy-first ATProto substrate primitives. Threat-model invariants enforced structurally, not as policy.

Kryphocron is a Rust crate of building blocks for private content on the AT Protocol: public and private tiers checked by the type system, capability proofs that can't be forged, an audit trail of what actually happened, service-to-service auth, and encoding for private records at rest. The aim is to make the wrong path the hard one. Misuse fails at compile time where possible, at runtime otherwise, and never silently.

Design

On encoding at rest: private records are encoded by default with laquna, a friction encoding. It is not encryption and doesn't provide confidentiality. Operators who need that can install an authenticated-encryption codec through ContentCodec.

Crates

kryphocron library

The substrate itself: tiers, capabilities, auth context, audit pipeline, inter-service auth, and at-rest codecs.

kryphocron = "0.4"
kryphocron-lexicons lexicons

Lexicon JSON for tools.kryphocron.*, generated Rust types, and the compiled-in tier registry. Usable on its own by any service that reads these records.

kryphocron-lexicons = "0.3"

Lexicons

Plus procedure lexicons for writing private-tier records, such as feed.createPostPrivate and policy.manageAudience.