Evidence Bundles

Technical specification for IOA’s cryptographically signed governance evidence.


Overview

Every governance decision made by IOA—whether in Shadow, Graduated, or Enforce mode—produces an Evidence Bundle: a cryptographically signed, immutable record of the decision, its context, and all contributing factors.

Evidence Bundles serve three critical purposes:

  1. Regulatory Compliance: Provide auditable proof for HIPAA, SOX, GDPR, FDA 21 CFR Part 11, and other regulations
  2. Incident Investigation: Enable post-hoc analysis of AI behavior and governance decisions
  3. Continuous Improvement: Feed governance analytics and model performance assessment

Bundle Structure

Core Fields

{
  "evidence_id": "EVID-2025-01-27-00123",
  "timestamp": "2025-01-27T14:32:18.456Z",
  "jurisdiction": "US-HIPAA",
  "operation": "phi_redaction",
  "risk_level": "HIGH",
  "mode": "enforce",
  
  "quorum": {
    "enabled": true,
    "consensus_type": "majority",
    "agreement_ratio": "3/3",
    "decision": "DENY",
    "total_latency_ms": 2847.23
  },
  
  "votes": [
    {
      "model": "gpt-4-turbo",
      "vote": "DENY",
      "reasoning": "PHI exposure risk: patient name detected",
      "latency_ms": 2134.56,
      "timestamp": "2025-01-27T14:32:20.591Z"
    },
    {
      "model": "claude-3-5-sonnet",
      "vote": "DENY",
      "reasoning": "HIPAA violation: identifiable health information",
      "latency_ms": 1923.12,
      "timestamp": "2025-01-27T14:32:20.379Z"
    },
    {
      "model": "gemini-1.5-pro",
      "vote": "DENY",
      "reasoning": "Privacy risk: PII in public dataset",
      "latency_ms": 2847.23,
      "timestamp": "2025-01-27T14:32:21.303Z"
    }
  ],
  
  "context": {
    "user_id": "user_abc123",
    "tenant_id": "org_xyz789",
    "session_id": "sess_def456",
    "prompt_hash": "sha256:b1946ac92492d234...",
    "input_tokens": 127,
    "output_tokens": 0
  },
  
  "evidence_hash": "b1946ac92492d234",
  "signature": {
    "algorithm": "SHA256+RSA",
    "signer": "IOA Trust Root CA",
    "certificate_chain": ["cert_id_1", "cert_id_2"],
    "signed_at": "2025-01-27T14:32:21.456Z",
    "signature_value": "3045022100..."
  },
  
  "retention": {
    "required_years": 7,
    "jurisdiction_rule": "HIPAA §164.316(b)(2)(i)",
    "delete_after": "2032-01-27T14:32:21.456Z"
  }
}

Evidence Bundle ID Format

Evidence IDs follow this format:

EVID-YYYY-MM-DD-NNNNN

Where:

Example: EVID-2025-01-27-00123


Quorum Evidence

When Quorum is enabled, Evidence Bundles include detailed vote records from each model:

Vote Record Structure

{
  "model": "gpt-4-turbo",
  "vote": "DENY",
  "reasoning": "PHI exposure risk: patient name detected",
  "confidence": 0.98,
  "latency_ms": 2134.56,
  "timestamp": "2025-01-27T14:32:20.591Z",
  "model_version": "gpt-4-turbo-2024-04-09",
  "provider": "OpenAI"
}

Consensus Calculation

IOA supports three consensus modes:

ModeLogicFail-Safe
Majority≥ 50% agreementDENY wins ties
Unanimous100% agreementDisagreement → DENY
WeightedSum(vote × weight)Configurable threshold

Example Majority:

Example Weighted:


Cryptographic Signing

Signature Process

  1. Canonicalization: Evidence Bundle is serialized to deterministic JSON (sorted keys, no whitespace)
  2. Hashing: SHA-256 hash computed over canonical JSON
  3. Signing: Hash signed with IOA Trust Root private key (RSA-4096)
  4. Embedding: Signature + certificate chain embedded in bundle

Verification

Clients can verify Evidence Bundles using IOA’s public certificate:

# Extract signature
jq -r '.signature.signature_value' evidence.json > signature.b64

# Extract canonical payload
jq -cS 'del(.signature)' evidence.json > payload.json

# Verify (requires IOA public cert)
openssl dgst -sha256 -verify ioa_public.pem \
  -signature <(base64 -d signature.b64) payload.json

Trust Root

IOA’s Trust Root CA is:


Storage & Retention

Retention Requirements

Evidence Bundles are retained based on jurisdiction:

JurisdictionRetention PeriodRegulation
US-HIPAA7 years45 CFR §164.316(b)(2)(i)
US-SOX7 yearsSarbanes-Oxley §802
EU-GDPRVaries (1-10 years)GDPR Article 17
US-FDADevice lifetime + 2 years21 CFR Part 11
UK-MHRA5 yearsGxP Guidelines

Storage Backend

Evidence Bundles are stored in:

Encryption:


Evidence Export Formats

JSON (Structured)

Full evidence bundle with all fields:

curl https://orchintel.com/evidence/EVID-2025-01-27-00123.json

HTML (Human-Readable)

Formatted report with syntax highlighting:

curl https://orchintel.com/evidence/EVID-2025-01-27-00123.html

Signature File

Detached signature for verification:

curl https://orchintel.com/evidence/EVID-2025-01-27-00123.json.sig

Bundle Archive

Complete evidence package (JSON + signature + certificates):

curl https://orchintel.com/evidence/EVID-2025-01-27-00123.tar.gz

Querying Evidence

By Evidence ID

GET /api/v1/evidence/{evidence_id}

By Date Range

GET /api/v1/evidence?start=2025-01-01&end=2025-01-31

By Decision

GET /api/v1/evidence?decision=DENY

By Quorum Disagreement

Find cases where models disagreed:

GET /api/v1/evidence?quorum_disagreement=true

GRC Tool Integration

Splunk

index=ioa_evidence sourcetype=json
| spath evidence_id, quorum.decision, jurisdiction
| stats count by quorum.decision

Datadog

from datadog import initialize, api

initialize(api_key='YOUR_KEY', app_key='YOUR_APP_KEY')

api.Event.create(
    title="IOA Governance Decision",
    text=f"Decision: {evidence['quorum']['decision']}",
    tags=[f"jurisdiction:{evidence['jurisdiction']}"]
)

Sumo Logic

_sourceCategory=ioa/evidence
| json "quorum.decision", "jurisdiction", "evidence_id"
| where decision = "DENY"
| count by jurisdiction

Aletheia Scoring

Each Evidence Bundle includes Aletheia v2.0 ethics scoring:

{
  "aletheia": {
    "version": "2.0",
    "facets": {
      "transparency": 0.95,
      "reliability": 0.92,
      "accountability": 1.00,
      "ethics": 0.89,
      "fairness": 0.87,
      "sustainability": 0.94
    },
    "overall_score": 0.93,
    "assessment_timestamp": "2025-01-27T14:32:21.456Z"
  }
}

Low scores (< 0.70) trigger automatic alerts and model re-evaluation.


FAQ

How long does evidence generation take?

Evidence Bundle creation adds < 50ms overhead to governance decisions (primarily signature computation). Quorum decisions take 2-5 seconds due to parallel model evaluation.

Can customers control evidence storage location?

Yes. Enterprise tier supports:

Are Evidence Bundles tamper-proof?

Yes. Any modification to the bundle invalidates the cryptographic signature. IOA stores canonical hashes in an append-only ledger for additional integrity verification.

What happens if a model is deprecated?

Historical Evidence Bundles referencing deprecated models remain valid. IOA maintains immutable records of model versions, training data provenance, and configuration used at decision time.

How do Evidence Bundles support GDPR Right to be Forgotten?

Evidence Bundles can be pseudonymized (user IDs replaced with hashes) or redacted (PII removed) while maintaining cryptographic integrity. Full deletion is supported after retention periods expire.


See Also


Generated: 2025-01-27
Version: 1.0.0
Maintained by: OrchIntel Systems Ltd.