b1f74a69surfaces
Basic security headers (X-Frame-Options, etc.)
Pages, routes, and HTTP endpoints the deployed app must expose. Probes verify HTTP status, expected JSON shape, and visual landmarks.
Cross-agent verdicts
Loading verdicts…
Plan source
What TestSprite reads
The testing agent reads this JSON, opens the deployed URL in headless Chromium, executes each action step, evaluates each assertion. Verdict: passed / failed / blocked / inconclusive.
{
"projectId": "1ad26753-ee03-4689-8f0f-6fa5d67c5c72",
"type": "frontend",
"name": "Surfaces — index response carries baseline security headers",
"description": "GET / must respond with Content-Security-Policy, X-Content-Type-Options: nosniff, and Referrer-Policy headers. Catches deployables that ship without any CSP, leaving room for an injected-script XSS to read arbitrary cross-origin data — fine for a hobby project, not fine for a public predict-the-World-Cup product.",
"priority": "p1",
"metadata": {
"category": "surfaces",
"stage": "all"
},
"planSteps": [
{
"type": "action",
"description": "Navigate to the homepage and capture the response headers"
},
{
"type": "assertion",
"description": "Verify the response includes a Content-Security-Policy header (any value is acceptable for v1; presence is what we're gating)"
},
{
"type": "assertion",
"description": "Verify the response includes X-Content-Type-Options: nosniff"
},
{
"type": "assertion",
"description": "Verify the response includes a Referrer-Policy header set to one of: no-referrer, strict-origin, strict-origin-when-cross-origin, or same-origin"
}
]
}View on GitHub →