CertifiedData.io
Decision Logging

Start logging AI decisions in 60 seconds

Every AI decision logged with CertifiedData carries an Ed25519 signature, SHA-256 hash chain, and a link to the certified dataset that trained the model. Tamper-evident. Independently verifiable. No vendor trust required.

For builders

Send a decision via API

POST to /v1/decisions with your API key. Your decision is signed and appended to the chain in milliseconds.

Get your API key →

For evaluators

View the live decision log

Every public decision is appended to a tamper-evident log. Browse real decisions, inspect hash chains, and verify signatures without an account.

View live decision log →

Three steps to logging

1

Get an API key

Sign in to your CertifiedData account and generate a decision logging API key from /account. The key is scoped to decision logging and prefixed dc_.

2

POST a decision

Send a structured decision payload with actor, decision, rationale, and optional artifact reference. Set public_mode: true to publish the decision to the public log.

3

Verify in real time

Every decision is signed with Ed25519 and chained to the previous entry. Verify any decision at /api/decision-log/{id}/verify — no account required.

Log a decision

Send a POST to /v1/decisions with your decision payload:

curl -X POST https://certifieddata.io/v1/decisions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "actor": { "type": "agent", "id": "credit-scoring-v2" },
    "decision": {
      "label": "loan_eligibility_assessment",
      "selectedOption": "approved",
      "confidence": 0.91
    },
    "artifactReference": { "certificateId": "cert_abc123" },
    "explanation": {
      "reasonCodes": ["income_verified", "debt_ratio_ok"],
      "rationaleSummary": "DTI within policy threshold, income verified"
    },
    "publicMode": true
  }'

Response

{
  "ok": true,
  "decision_id": "d1e9f2a3-...",
  "record_hash": "7b5e9f2a1d84c3e0...",
  "public_record_created": true,
  "public_record_url": "/api/decision-log/d1e9f2a3-...",
  "verify_url": "/api/decision-log/d1e9f2a3-.../verify"
}

What the proof looks like

Every decision record carries these cryptographic fields. Any party can verify them independently — no API call to CertifiedData required.

Cryptographic proof

example
Chain sequence42
Payload hash (SHA-256)a3f8c2d91e4b7056...…
Previous hash9d2e1f84c3a07b5e...…
Record hash7b5e9f2a1d84c3e0...…
Signature (Ed25519)X9mQ2rVkLpN8wJhF...…
Key IDcd_root_2026

Payload hash — SHA-256 of the canonical decision payload. Proves the decision content was not altered.

Previous hash — SHA-256 of the prior record. Breaking this link detects deletions and insertions.

Record hash — SHA-256 of the full signed record. Used for verification and chain linkage.

Signature (Ed25519) — CertifiedData's signing key signature. Proves authenticity — no account needed to verify.

Batch logging

Send up to 100 decisions in a single request to /v1/decisions/batch. Each decision in the batch is processed independently — partial success returns HTTP 207.

curl -X POST https://certifieddata.io/v1/decisions/batch \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[{ ... }, { ... }, { ... }]'

Certify datasets. Log decisions. Verify records.

CertifiedData is the certificate authority for AI artifacts. Dataset certification and decision logging are two layers of the same trust infrastructure.

Certify

Generate a certified synthetic dataset. SHA-256 fingerprint + Ed25519 certificate.

Generate dataset →

Log

Reference the certificate ID in your decision payload. Every decision is linked to the data that trained the model.

Verify

Any party can verify dataset integrity and decision authenticity independently — no account required.

Verify a certificate →