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