risk-nexus/findings/RISK-F-0006-apps-pg-no-backup-configured.md
tegwick 4daff5503f RISK-WP-0001-T07: rule on what was waiting outside the register
Four in as findings — tenant-engine unfiltered event read (high),
audit-core read path bounded by a flag not by code (medium), apps-pg with
no backup at all (high, escalated on spend), and the unverified tenant
boundary itself (high now, critical at production, escalated on
ownership, fix_owner deliberately unset). Two out as notes — noisy
neighbours and erasure-versus-audit, both real, neither changing a
decision this month, both carrying an event to be re-read at.

The round amended the scale twice: build mode lowers impact as well as
likelihood, and non-adversarial findings get their own likelihood
reading. The escalation rule gained a ratio test that distinguishes a
first sweep from steady-state intake, and a batching rule.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 23:33:08 +02:00

3.4 KiB
Raw Blame History

id type title status reported_by reported_via routed_by date_reported date_filed system environment fix_owner fix_tracking related severity severity_at_production impact likelihood fidelity_modifier production_rescore disclosure embargo_condition embargo_since embargo_review escalation escalation_trigger escalation_status last_reviewed review_by graded_by ruling
RISK-F-0006 finding apps-pg has no backup configured at all: R0 means no recovery open railiance-platform flex-auth risk-nexus 2026-08-17 2026-08-19 railiance-platform production railiance-platform unset
RISK-F-0001
high critical I4 L2 false true embargoed a backup exists and a restore has been demonstrated once 2026-08-19 2026-09-18 required 3 pending-operator 2026-08-19 2026-09-18 risk-nexus RISK-RULING-2026-08-19-B

RISK-F-0006 — the platform database cannot be recovered

What is true, as reported

apps-pg (railiance-platform) has no backup configured at all: no barmanObjectStore, no retention policy, and BestEffort QoS on the pod. Reported in the same round as RISK-F-0001, whose author noted that R0 here means no recovery, not merely no erasure policy.

Not verified by this repo. railiance-platform owns it.

Why it is graded highest of the round despite being the least exciting

The other findings in this round are about someone reaching something. This one is about nothing coming back. There is no attacker in it and no clever step — an ordinary node failure, a lost volume, a mistaken DROP, and the data that was in apps-pg is gone.

BestEffort QoS makes the pod the first candidate for eviction under memory pressure. Eviction alone is an availability event and recoverable. What is not recoverable is anything that damages the volume, and that is the case with no answer today.

Register ruling — 2026-08-19

high today (I4 × L2, non-adversarial reading), critical at production, embargoed, and escalated on trigger 3 (spend).

I4: apps-pg is shared platform infrastructure, so the loss is not confined to one system, and it is unrecoverable rather than degraded. L2 on the non-adversarial reading the scale gained for this finding: irrecoverable loss needs a volume or corruption event, which is an ordinary failure the estate has seen the shape of but not an expected weekly occurrence.

production_rescore: true: at production this is L3, because the surface area of ordinary operational events grows with real traffic and real operators.

Escalation, trigger 3. Object storage for backups is recurring spend that is not currently committed, and no repo can authorise it for itself. The ask is narrow: approve a backup target and its cost, or state that the estate accepts running apps-pg with no recovery and for how long. The second is a legitimate answer in build mode and needs saying out loud rather than happening by default.

The disclosure condition deliberately includes a demonstrated restore. A backup nobody has restored from is a claim, not a control — the same class of error as the gate in RISK-F-0002.

Reviews

  • 2026-08-19 — filed and graded from RISK-F-0001's unfiled list. Open at review: has the spend been ruled on; is a backup configured; has a restore been demonstrated; does railiance-platform track it anywhere.