16 lines
740 B
JSON
16 lines
740 B
JSON
{
|
|
"feature_id": "F-112",
|
|
"agent": "security",
|
|
"stage": "security_gate",
|
|
"verdict": "APPROVED",
|
|
"reviewed_at": "2026-08-21",
|
|
"summary": "No new attack surface. The flag is set only by admin-initiated AI generation; the frontend renders static text only.",
|
|
"checks": [
|
|
{ "item": "AI flag is only set by the admin generate-seo endpoint or by an explicit PATCH; no user-controlled input", "ok": true },
|
|
{ "item": "Disclaimer text is hard-coded in the frontend; no injection vector", "ok": true },
|
|
{ "item": "Migration is idempotent (ADD COLUMN IF NOT EXISTS, CREATE INDEX IF NOT EXISTS)", "ok": true },
|
|
{ "item": "Authorization on PATCH /products/:id is unchanged (admin-only)", "ok": true }
|
|
],
|
|
"issues": []
|
|
}
|