v1.2 · sha-256 · merkle · FIPS timestamp anchoring

Audit trail
for AI systems.
/ record, / detect, / prove.

every model decision, prompt, and policy check, written to a linked ledger. tamper the data, the chain breaks. pull evidence for any decision in seconds.

FoundedNew York · by a former Mastercard security engineer
ComplianceSOC 2 · HIPAA · GDPR · EU AI Act · NIST AI RMF

Three primitives.
That's the whole product.

Locked records

Every AI action gets a unique fingerprint computed from its full payload. Change one byte — even a whitespace — and the fingerprint diverges. You will know, and so will your auditor.

sha-256 · deterministic canonicalization · nanosecond timestamp

Linked chain

Each record carries the fingerprint of the one before it. Altering a record in the middle of the chain breaks every record after. There is no place to hide a rewrite.

merkle DAG · daily FIPS anchor · O(log n) proof

Audit ready

Pull evidence for any AI decision in milliseconds. Hand regulators the full sequence: the prompt, the policy, the reviewer, the output — stamped, linked, and independently verifiable.

OMB M-25-22 · NIST AI RMF · SR 11-7

Each AI decision gets captured, fingerprinted, linked, and locked. Tap each step to see what the API returns.

0/ 4 complete
  1. Record decision
  2. Sign & chain
  3. Verify chain
  4. Retrieve proof
Step 1

Record a governed AI decision

Every AI action, human approval, and automated decision is posted to the SYEN Audit API. One record captures identity, policy, data lineage, execution, review, outcome, and cryptographic proof.

Ready
RequestPOST/api/v1/events
{
  "event_class": "EXECUTION",
  "event_type": "credit.decision.made",
  "stream_id": "tenant-demo:prod-us-east-1:credit-decisions",
  "payload": {
    "applicant_id": "app-991",
    "decision": "APPROVED",
    "score": 740
  },
  "policy_context": {
    "policy_id": "policy-credit-v3",
    "framework_name": "SR_11_7",
    "requirement_id": "MRM-GOVERN-4.2",
    "policy_effect": "ALLOW"
  },
  "data_lineage": {
    "data_asset_id": "dataset-credit-bureau-2026-q1",
    "data_source_system": "snowflake",
    "contains_pii": true,
    "data_classification": "confidential"
  },
  "ai_execution_context": {
    "model_provider": "anthropic",
    "model_name": "claude-sonnet-4-6",
    "prompt_hash": "sha256:a3f8c2d1e4b7...",
    "inference_latency_ms": 340
  },
  "guardrail_context": {
    "kill_switch_result": "PASS",
    "approval_gate_result": "APPROVED",
    "risk_score": 0.12
  },
  "human_review_context": {
    "human_review_required": true,
    "review_decision": "APPROVE",
    "final_approver_id": "user-analyst-007",
    "reviewer_role": "credit_analyst"
  },
  "outcome_context": {
    "decision_result": "APPROVED",
    "actual_action_taken": "credit.line.issued",
    "financial_impact_usd": 25000.00
  }
}
Responseawaiting request
// awaiting input
Step 2

Ed25519 signature applied at ingest

Each record is signed with Ed25519 using the customer's own KMS key, then chained to the preceding record. Any alteration breaks the chain and is immediately detectable.

Locked
01
Canonicalize
RFC 8785 JCS canonicalization
The event payload is serialized to a canonical JSON string so the same data always produces the same bytes regardless of field ordering.
{ event_payload }SHA-2560x7f4a2c1d9e8b…
02
Chain
SHA-256 chain link
integrity_hash = SHA-256( canonical_payload ‖ previous_record_hash )
prevsha256:0000000000000000…genesis anchorthissha256:7f4a2c1d9e8b3f6a2e5d8c1b9a4f7e30…
03
Sign
Ed25519 signature via AWS KMS
The integrity hash is signed using the customer's own KMS key. The private key never leaves KMS.
sigbase64:mE9xK2pL8nQ4rT7wY1vB7sDqFzH2jRp…Signing key: alias/syen-audit (customer-controlled). SYEN infrastructure never holds the private key.
Step 3

Verify the cryptographic chain

Any party can verify the chain independently using standard OpenSSL tooling. No dependency on SYEN infrastructure required.

Locked
RequestGETGET /api/v1/verify?stream_id=tenant-demo:prod-us-east-1:credit-decisions
// stream_id is pre-filled from step 1
Responseawaiting request
// awaiting input
Finish the previous step first
Step 4

Retrieve the non-repudiable proof package

When a regulator or auditor requests proof of how this AI decision was made, this is the answer. Cryptographically signed, timestamp-anchored, independently verifiable.

Locked
RequestGET/api/v1/proof/evt_01HXYZ9K2M3N4P5Q6R7S8T
// event_id is pre-filled from step 1
Responseawaiting request
// awaiting input
Finish the previous step first

Try to rewrite history.
We dare you.

ledger.chain· 4 blocks✓ verified
#001policy.check.passed · app-9910x9c4e…a01b
#002credit.decision.made · APPROVED · $24,0000xa1f0…9e2c
#003human.review.recorded · reviewer:ariana.lee0xd8a3…1c77
#004export.bundle.created · audit/q2-20260x5522…bb17
inspector.log· tail -f
[00:00.00] init loading chain from object store…
[00:00.03] ok 4 records loaded
[00:00.04] ok merkle root: 0xa1f0…9e2c
[00:00.05] ok all fingerprints match. chain intact.
waiting for events…
Built forSOC 2 Type IIHIPAAGDPR Art. 22EU AI Act Art. 12NIST AI RMFSR 11-7FedRAMP Moderate · pending

Seven governed workflows. One cryptographic record.

Credit underwriting

Model risk, written down once.

Log every credit, fraud, and AML decision with the policy, reviewer, and feature inputs attached. Examiners get a cryptographically verifiable trail, not a CSV.

“Our SR 11-7 audit went from 6 weeks to 4 days.”
Agent commerce

Every tool call, sealed.

Shopping agents, bill-pay, procurement. Each agent step — plan, tool call, observation, approval — is fingerprinted and linked. Replay the full trajectory; prove it wasn't edited.

“Post-incident forensics that actually hold up in court.”
AML & fraud

Signal to case to disposition.

Capture the alert, the model, the analyst review, and the outcome. Every chain of custody is replayable and independently verifiable by the investigator's regulator.

“We stopped arguing about what happened.”
Public sector

Explainability, on demand.

FOIA, GDPR Art. 22, EU AI Act — when a citizen asks why a decision was made, pull the full chain of events with one query and a signed proof.

“From black box to receipt in seconds.”
all seven use cases ↗

Start logging in under ten minutes. Any language with an HTTP client.

POST /api/v1/attest → session
POST /api/v1/events → ingest
GET  /api/v1/verify → chain
GET  /api/v1/proof/:id → package
book a technical review →read docs ↗