Every action recorded. Every record verifiable.
The Oris activity log records every transaction, policy evaluation, key mutation, and agent state change in immutable TimescaleDB hypertables with 7-day automatic compression. Provider key mutations are additionally protected by a SHA-256 hash chain with Vault KV anchoring. You can verify the integrity of your provider key audit trail with a single API call.
How the provider key audit chain works
Each provider key audit entry contains the SHA-256 hash of the previous entry. If any entry is modified after creation, its hash changes, and the next entry's previous_hash no longer matches. Tampering becomes visible immediately. General activity events are stored in append-only TimescaleDB hypertables with automatic compression.
payment.completed
a3f8c2d1e9b7...
genesis
policy.evaluated
7b2e9f4a1c8d...
a3f8c2d1e9b7... (H1)
key.rotated
f1d4a8c3e6b2...
7b2e9f4a1c8d... (H2)
What gets logged
Transactions
Every payment attempt, approval, rejection, and completion with full context. The log captures the amount, the chain, the counterparty, the policy evaluation result, and the settlement status.
Policy Evaluations
Every policy check result, including which rules passed and which triggered a block. The log includes the policy version, the evaluation duration, and the decision rationale.
Key Mutations
Every provider key registration, rotation, and deletion with actor identity and timestamp. The log records which developer initiated the change and which agent was affected.
Agent State Changes
Every KYA level promotion, demotion, suspension, and reactivation with reason codes. The log tracks the full lifecycle of every agent from creation to deactivation.
Vault KV anchoring
Every 100 provider key audit entries, Oris writes the latest hash to HashiCorp Vault KV v2. Vault KV is versioned and append-only. Even an administrator with full database access cannot alter the anchor hashes stored in Vault.
This cross-system verification creates a second proof layer. The verify endpoint compares the database hash chain against the Vault anchors and reports any discrepancy.
Database Chain
4,821 entries
Vault KV Anchors
48 anchor hashes
Verify and query with two calls
Verify chain integrity and query activity logs through the SDK. The verify endpoint returns the full chain status in a single request.
# Verify audit chain integrity
result = oris.audit.verify(
developer_id="dev_abc123"
)
# {"valid": true, "chain_length": 4821, "anchor_matches": true}
# Query activity log
events = oris.audit.list(
agent_id="agent_xyz",
action="payment",
start_date="2026-03-01"
)
Build on a verifiable audit trail
Every action your agents take is recorded and cryptographically chained. Start building with full accountability.