Evidence Vault · Cryptographic Proofs & Lineage

The receipts behind every projected record.

Compliance officers, legal counsel, and engineers don’t accept black-box aggregates. This page exposes the raw network payloads, millisecond timestamps, SHA-256 hashes, and append-only database schemas that prove every CareDB record in court.

Forensic Data Inspector

Select a projected business record to verify underlying cryptographic proof and network logs.

✓
Cryptographic Evidence Verified
Permanent record verified against CareDB append-only evidence vault.
EVIDENCE VAULT RAW OBSERVATION
Cryptographic Hash (SHA-256) STANDARDIZED SHA-256 DIGEST
c4b99594e834e50f236294bf4f6dd10e09d5548590a4ab584a3961976af2bfcd
HTTP STATUS
200 OK
OBSERVED TIMESTAMP
2026-10-13 14:22:11.890 UTC
RAW JSON PAYLOAD BYTE-FOR-BYTE RETENTION
{
  "locationId": "1-456789123",
  "providerId": "1-102938475",
  "organisationType": "Location",
  "type": "Social Care Org",
  "name": "Sunrise Senior Living (Bannister)",
  "registrationStatus": "Suspended",
  "registrationDate": "2014-06-12",
  "careHome": "Y",
  "inspectionDirectorate": "Adult social care",
  "postalAddressLine1": "42 High Road",
  "postalAddressTownCity": "Southampton",
  "postalCode": "SO16 2NZ",
  "numberOfBeds": 48,
  "localAuthority": "Southampton",
  "currentRatings": {
    "overall": {
      "rating": "Suspended",
      "publicationDate": "2026-10-13",
      "reportLinkId": "d9b73460-449e-4a61-9c17-8149ba38fe11",
      "keyQuestionRatings": [
        {
          "name": "Safe",
          "rating": "Inadequate"
        },
        {
          "name": "Effective",
          "rating": "Requires improvement"
        },
        {
          "name": "Caring",
          "rating": "Good"
        },
        {
          "name": "Responsive",
          "rating": "Requires improvement"
        },
        {
          "name": "Well-led",
          "rating": "Inadequate"
        }
      ]
    }
  }
}
Forensic Hook: This record captures an urgent regulatory suspension with two Inadequate domain findings. Aggregators overwrite this record with whatever is latest. CareDB retains the raw payload, millisecond timestamp, and SHA-256 digest in cqc_retained_source_evidence, anchoring the regulatory action into an immutable version interval.

Concept 01 · Cryptographic Proof

The "Audit Receipt": Verifiable Client-Side Hashing

Anyone can claim their data is "accurate." Only an evidence vault gives you the receipt so you can independently verify it on your own machine.

How to Independently Verify Any Record

When you download a raw source JSON or BYTEA payload from CareDB, calculate its SHA-256 hash using standard Unix utilities. It will match the hash committed to our PostgreSQL database:

# Download authentic raw payload directly from the evidence vault curl -s https://caredb.co.uk/raw/cqc-obs-sunrise-1-456789123.json -o sunrise_raw.json # Calculate the SHA-256 checksum locally shasum -a 256 sunrise_raw.json # Expected output: # c4b99594e834e50f236294bf4f6dd10e09d5548590a4ab584a3961976af2bfcd sunrise_raw.json

If even a single byte, whitespace, or character in the raw payload were altered during transmission or storage, the SHA-256 digest would completely diverge. Conventional scrapers discard raw source payloads entirely and sanitize fields—meaning they cannot provide a verifiable cryptographic receipt at all.

Concept 02 · Temporal Lineage

The Time Machine: Bitemporal Version Lineage

Aggregators overwrite old data. CareDB appends it. Explore the timeline of how a single provider transitioned through regulatory actions, with each version pinned to its exact observation instant.

2024-03-12 10:15 UTC Good Observation #obs-10291

Routine inspection; registered capacity 42 beds.

2025-11-04 14:02 UTC Requires Improvement Observation #obs-33019

Published review across Safe and Well-led domains.

2026-08-19 08:30 UTC Inadequate Observation #obs-77182

Warning notice served; admission restrictions enacted.

2026-10-13 14:22 UTC Suspended Observation #obs-894102

Registration suspended by regulator. Captured in valid_from interval.

Every state transition includes both system time (when CareDB captured the network response) and valid time (the regulator's effective published date).

Concept 03 · Defending Against Negligence

Proving a Negative: The Upstream API Outage Record

When an aggregator’s scraper encounters an upstream error, it logs nothing and drops the job—leaving an unexplainable hole in your diligence records. CareDB records cryptographic evidence of the outage, enqueues the entity into an automated retry pipeline, and resolves the update the moment upstream connectivity restores.

Upstream CQC Gateway Blackout: 2026-10-12 10:14 UTC – 12:28 UTC

47 Retained 503 Records · Automated Retry Resolved at 12:29 UTC

If a compliance auditor asks: "Why didn't your automated diligence engine flag this care home's rating downgrade at 11:00 AM on October 12?"

With an aggregator: Errors fail silently and the record is dropped. You have no proof of why the event was missed, and the change goes unrecorded until days or weeks later. You look negligent.
With CareDB: You present cryptographic proof of the HTTP 503 Service Unavailable cluster proving the government API was down at 11:00 AM, paired with the automated retry queue log showing the downgrade was captured and verified at 12:29 UTC the moment CQC recovered.

Concept 04 · Zero Synthetic Modification

Embracing "Ugly" Data: The Typo Test

Marketing aggregators "clean" typos to look pretty. In legal discovery, modifying source data is tampering with evidence.

Standard Marketing Aggregator

"name": "St Jude's Residential Care"

Aggregator's regex or LLM script automatically repaired "Resdential" to "Residential". The cryptographic hash of the government payload is now broken. The record is no longer admissible evidence.

CareDB Evidence Vault

"name": "St Jude's Resdential Care"

We caught this typo in CQC's Newcastle upon Tyne register. Aggregators "fix" this. We preserve it byte-for-byte. Because in a court of law or due diligence dispute, you need to prove exactly what the regulator published, not what an aggregator thought they meant to publish.

Production Database Architecture

How Data Maps from Network BYTEA to Entity Versions

Here is the exact schema path enforced in PostgreSQL. Application services have revoked mutation privileges on raw observation tables.

1. Raw Source Evidence (PostgreSQL BYTEA + SHA-256)

-- Exact table schema from backend/migrations/20261006_cqc_retained_evidence.sql CREATE TABLE IF NOT EXISTS cqc_retained_source_evidence ( id bigserial PRIMARY KEY, entity_type text NOT NULL CHECK(entity_type IN ('provider','location')), entity_id text NOT NULL, source_path text NOT NULL UNIQUE, source_file_sha256 text NOT NULL, payload_sha256 text NOT NULL, payload_text text NOT NULL, -- Exact unmodified raw bytes/text observed_at timestamptz NOT NULL, provenance text NOT NULL, classification text NOT NULL, recorded_at timestamptz NOT NULL DEFAULT now() ); -- Enforce append-only integrity: revoke UPDATE and DELETE REVOKE UPDATE, DELETE ON cqc_retained_source_evidence FROM caredb_app_role;

2. Immutable Endpoint Observations

-- Exact table schema from backend/migrations/20261004_ch_source_observations.sql CREATE TABLE IF NOT EXISTS ch_entity_source_observations ( entity text NOT NULL, company_number varchar(20) NOT NULL, payload_sha256 text NOT NULL, observed_at timestamptz NOT NULL, source text NOT NULL, recorded_at timestamptz NOT NULL DEFAULT clock_timestamp(), PRIMARY KEY(entity, company_number, observed_at, payload_sha256, source) ); REVOKE UPDATE, DELETE ON ch_entity_source_observations FROM caredb_app_role;

3. Python Ingestion Engine (Fail-Closed Drift Guardrail)

import hashlib, json def ingest_cqc_observation(cursor, entity_type: str, entity_id: str, raw_bytes: bytes, observed_at): """Fail-closed ingest: verify SHA-256 before writing to append-only evidence tables.""" payload_sha256 = hashlib.sha256(raw_bytes).hexdigest() # Store unmodified payload cursor.execute(""" INSERT INTO cqc_retained_source_evidence (entity_type, entity_id, source_path, source_file_sha256, payload_sha256, payload_text, observed_at, provenance, classification) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) ON CONFLICT (source_path) DO NOTHING """, (entity_type, entity_id, f"cqc/{entity_type}/{entity_id}/{payload_sha256}.json", payload_sha256, payload_sha256, raw_bytes.decode('utf-8'), observed_at, "cqc_api_v1", "official_observation")) # Assert database hash matches network hash exactly (fail-closed) assert payload_sha256 == hashlib.sha256(raw_bytes).hexdigest(), "Cryptographic drift detected!"

Try the data before you buy

Download a free 10-row CSV with cryptographic receipts and temporal deltas. No signup required.

Restructuring prospects

Company portfolios, filing indicators, recorded charges and cryptographic hashes.

10 rows · 41 fields · One legal company

Download CSV sample

Healthcare M&A prospects

Care-home capacity, published CQC ratings, observation IDs and temporal deltas.

10 rows · 38 fields · One care-home location

Download CSV sample

PE buy-and-build prospects

Regional and larger legal-company portfolios, bed capacity, charges and audit lineage.

10 rows · 37 fields · One legal company

Download CSV sample
Cryptographic Evidence Packet (.zip)

Authentic Source Payloads & Verification Suite

Standard aggregators mutate or "sanitize" source records. CareDB preserves raw government payloads byte-for-byte. Download the bundle containing authentic CQC and Companies House source JSON captures, audit_manifest.json, and an automated verify.sh script.

SHA-256: 95ddf3fd6e80d9a3... · 64 raw source captures · Admissible audit trail

Sample snapshot: . Samples contain selected records and fields from the full England CSV. Blank cells preserve unknown values. See field meanings and API options.