feat(F-145): completed feature

This commit is contained in:
chattie
2026-08-22 12:47:16 +02:00
parent bf426e1a60
commit 62a3681657
11 changed files with 686 additions and 28 deletions

View File

@@ -0,0 +1,16 @@
{
"feature_id": "F-145",
"agent": "security",
"stage": "security_gate",
"verdict": "APPROVED",
"summary": "Additive DDL migration + isolated DB integration test. No new routes/auth/RBAC. No PAN/CVV/card data stored. provider_ref is a Stripe payment_intent ID (public token, not card data). itest runs against per-run recreated mercadodevida_test DB.",
"checks": [
{"item": "No new routes/auth/RBAC", "ok": true, "evidence": "schema migration + itest only; identity/security/reporting routes untouched"},
{"item": "No card data (PCI-DSS minimum)", "ok": true, "evidence": "provider_ref stores provider reference (e.g. Stripe payment_intent), NOT PAN/CVV. Column provider_ref is nullable text — no card data."},
{"item": "No SQL injection", "ok": true, "evidence": "migration no user input; itest uses parameterized queries ($1..$10)"},
{"item": "IDOR / data scope", "ok": true, "evidence": "itest against isolated mercadodevida_test DB (recreated per run); FK constraints prevent orphaned rows"},
{"item": "Pre-existing boundary note", "ok": true, "evidence": "git diff does not touch security.routes.ts; R1 pre-existing, not introduced by F-145"},
{"item": "Idempotency safety", "ok": true, "evidence": "createTable IF NOT EXISTS + DO$$ FK guard prevents duplicate-constraint on re-run"}
],
"issues": []
}