Data

Data Model

PostgreSQL holds organizations, rules, decision records, the audit ledger, SAR/STR cases, FROST state, federation data and certificates. Redis holds rate limits, single-use challenge state and short-lived baselines.

Decision Record

fields
quorum_decision_records {
  decision_id    uuid
  organization_id
  channel        analyze | op-tx | iso8583 | mq-kafka | mq-amqp | flat-file
  verdict        VERIFIED | AUTHORIZED | ELEVATED_RISK | ISOLATED
  risk_score     0-100
  record         canonical JSON: flags, reference, inputsDigest, time
  record_hash    sha256 of the canonical record
  subject_hash   organization-scoped hash of the user (optional)
  ledger_hash    ledger entry it was sealed into
  sealed_at, created_at
}

Minimisation

Records hold a digest of the inputs, never the raw inputs, and no raw card numbers.

Tenant separation

Every request is scoped to one organization, and row-level security policies separate institutions' data in shared tables.

Migrations

Schema changes ship as numbered SQL migrations.

Limits

Retention periods are set by each institution. There is no built-in multi-year archive or automated data-subject-request pipeline.

KB Analytical Solutions Inc. // Data Model // Describes QUORUM at code baseline e9c2cf7