Files
mercadodevida/work/artifacts/F-186/security.json
2026-08-22 22:08:30 +02:00

30 lines
1.5 KiB
JSON

{
"feature_id": "F-186",
"agent": "security",
"stage": "security_gate",
"verdict": "APPROVED",
"checks": [
{ "item": "Admin configuration endpoints require admin role", "ok": true },
{ "item": "Sale and receipt endpoints require authenticated POS roles", "ok": true },
{ "item": "Bound terminal header must match sale terminal/session", "ok": true },
{ "item": "Non-admin receipt reads/email are scoped to the originating terminal", "ok": true },
{ "item": "Catalog price/name/SKU and enabled payment methods are server-authoritative", "ok": true },
{ "item": "All new SQL uses bound parameters and transactional row locks", "ok": true },
{ "item": "Receipt email validates destination and uses fixed generated content", "ok": true },
{ "item": "No PAN, processor credentials or arbitrary provider payload accepted", "ok": true },
{ "item": "POS cashier passwords use Argon2 and backoffice identity storage", "ok": true },
{ "item": "Secret scan of changed diff", "ok": true },
{ "item": "Production dependency audit: backend, POS and admin", "ok": true }
],
"dependency_audit": {
"backend": "0 vulnerabilities",
"pos": "0 vulnerabilities",
"admin": "0 vulnerabilities"
},
"issues": [],
"notes": [
"Review is scoped to F-186 endpoints in the legacy monolithic POS route file; unrelated historical placeholder endpoints require separate hardening.",
"External card/Bizum/Stripe/Apple Pay processing remains out of scope; labels only, so no PCI card data is handled."
]
}