{ "summary": { "handlers": 1, "high": 0, "medium": 0, "low": 0 }, "handlers": [ { "file": "app/api/webhooks/stripe/route.ts", "checks": [ { "id": "signature", "status": "pass", "severity": null, "line": 8, "message": "Verifies the Stripe-Signature header.", "fix": null }, { "id": "raw-body", "status": "pass", "severity": null, "line": 4, "message": "Uses the raw request body.", "fix": null }, { "id": "secret-from-env", "status": "pass", "severity": null, "line": 8, "message": "Reads the signing secret from env.", "fix": null }, { "id": "idempotency", "status": "pass", "severity": null, "line": 12, "message": "Looks idempotent on event.id.", "fix": null }, { "id": "reject-bad-signature", "status": "pass", "severity": null, "line": 10, "message": "Returns 400 on failure.", "fix": null }, { "id": "event-types", "status": "pass", "severity": null, "line": 14, "message": "Branches on event.type.", "fix": null } ] } ] }