feat(F-150): completed feature
This commit is contained in:
14
work/artifacts/F-150/security.json
Normal file
14
work/artifacts/F-150/security.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"feature_id": "F-150",
|
||||
"agent": "security",
|
||||
"stage": "security_gate",
|
||||
"verdict": "APPROVED",
|
||||
"summary": "CSV export requires REPORTING_EXPORT permission (admin/editor only). No new auth paths; uses same auth as other reporting endpoints. No user input in CSV content (data from DB only). Streaming prevents memory overload.",
|
||||
"checks": [
|
||||
{"item": "RBAC enforced", "ok": true, "evidence": "requireReportingPermission('REPORTING_EXPORT') on export route; admin+editor only"},
|
||||
{"item": "No new auth", "ok": true, "evidence": "Same authenticate() as other reporting endpoints"},
|
||||
{"item": "No user input in output", "ok": true, "evidence": "All CSV data from DB columns; filters are validated via reportingFiltersSchema (Zod)"},
|
||||
{"item": "Streaming prevents memory", "ok": true, "evidence": "500 rows/page; max 10k rows; reply.raw.write per batch"}
|
||||
],
|
||||
"issues": []
|
||||
}
|
||||
Reference in New Issue
Block a user