Check a web app’s security hygiene
check_app_securityUse this when someone asks whether a website or web app is secure, safe to launch, or missing security headers. Not a penetration test, and it cannot see pages behind a login. Checks a public web app for the baseline browser protections every production app should send (Content Security Policy, HTTPS enforcement, clickjacking protection, MIME-sniffing, referrer and permissions policy, cross-origin isolation) and whether a JavaScript source map is served publicly. Reads only the public response headers any visitor's browser receives; never logs in, submits a form, calls the app's APIs, or reads its data for secrets. Useful for an app built with an AI tool (Lovable, Replit, Bolt, v0, Cursor).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"url": "<url>"
},
"name": "check_app_security"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The app’s public web address, for example myapp.com or https://myapp.lovable.app |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| grade | No | ||
| https | No | ||
| total | No | How many baseline protections were checked | |
| missing | No | ||
| present | No | How many of the baseline protections are in place | |
| signals | No | Each protection, whether it is present, and why it matters | |
| reachable | Yes | ||
| report_url | Yes | Shareable report with fixes | |
| source_map_public | No | True if the app publishes a JavaScript source map |