Skip to main content

Crate _tempus_ddb

Crate _tempus_ddb 

Source
Expand description

Tempus DDB: a fail-closed authorization gate for autonomous agent actions.

An agent signs an intent; the gate evaluates a signed tenant policy and issues a single-use, expiring permit (ALLOWED or BLOCKED); a credential-isolated executor consumes the permit exactly once and signs the outcome; the gate links everything into a dual-signed receipt that anyone holding the gate public key can verify offline. Unknown schemas, policies, identities and execution states are refused or denied, never allowed, and with no installed policy every action is denied.

This crate is published mainly as the native extension behind the tempus-ddb Python package (tempus_ddb._tempus_ddb, built with PyO3 and maturin). The Rust API that is useful on its own:

Signed JSON documents are parsed strictly: duplicate object keys are refused, and numbers must be exact (no floats, no integers beyond i64/u64).

Documentation: https://julio-patron.github.io/tempus-ddb/docs.html. Threat model, compatibility rules and changelog live in the repository: https://github.com/Julio-Patron/tempus-ddb.

Structs§

Decision
SqliteStorage
TempusDDB
TempusExecutor

Traits§

StorageLayer

Functions§

gen_keys
generate_keypair
py_verify_bundle
Verify an evidence bundle without a database, against a pinned gate key.
py_verify_checkpoint
Verify a checkpoint and event stream without a database, against a pinned key.
py_verify_receipt
Verify a standalone receipt (trace, permit or outcome JSON) without a database.
verify_bundle
Verify an evidence bundle with no database, against a pinned gate public key.
verify_checkpoint
Verify a checkpoint and its event stream with no database. The signer must equal expected_public_key, which the verifier supplies out of band.
verify_receipt
Verify a standalone receipt (trace, permit or outcome JSON) with no database, against a gate public key pinned by the verifier.