Scan any website for GDPR compliance -- cookie consent, privacy policy, trackers, DPO contact. Score 0-100.
Single tool with adequate naming and comprehensive description, but output schema is incomplete and lacks critical error handling guidance. Tool name 'compliance_scan_gdpr' follows verb_noun convention. Description is detailed (500+ chars) and includes use cases and anti-patterns (when NOT to use). Input schema is minimal but correct (single required 'url' parameter with type and description). However, output schema is loosely typed (many 'object' properties lack field definitions), and there is no error handling documentation, recovery guidance, or validation rules for the URL parameter.
Use this when you need to check a website's GDPR compliance. Scans the URL plus /privacy-policy and /cookie-policy pages. Returns a compliance report in JSON. Returns: 1. complianceScore (0-100) 2. cookieConsent (detected boolean, type) 3. privacyPolicy (found boolean, url) 4. termsOfService (found boolean) 5. dpoContact (found boolean, email) 6. dataRetention (mentioned boolean) 7. thirdPartyTrackers array (Google Analytics, Facebook Pixel, etc.) 8. recommendations array. Example output: {"url":"https://example.com","complianceScore":72,"cookieConsent":{"detected":true,"type":"banner"},"privacyPolicy":{"found":true,"url":"/privacy"},"thirdPartyTrackers":["Google Analytics","Facebook Pixel"],"recommendations":["Add DPO contact info","Add data retention policy"]} Use this BEFORE launching a website in the EU, FOR compliance audits, due diligence on acquisitions, and regular privacy monitoring. Do NOT use for PII in text -- use compliance_detect_pii instead. Do NOT use for tech detection -- use website_detect_tech_stack instead. Do NOT use for HTTP security headers -- use network_analyze_headers instead.
Output schema uses generic 'object' type for nested properties (cookies, privacyPolicy, consentBanner) without field definitions. LLMs cannot infer structure or plan downstream operations.
No error handling documentation. Tool description lacks guidance on what happens if URL is invalid, unreachable, or returns non-HTML. No recovery hints (e.g., 'Try a different URL' or 'Check if domain is accessible').
URL parameter lacks format constraint or validation rules. Description says 'e.g. https://example.com' but does not specify required scheme (http/https), domain format, or handling of invalid URLs.
Output schema 'issues' array has items typed as generic 'object' with no field definitions. Unclear what structure each issue contains (code, message, severity, remediation?).
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2025-06-18+ | v2 |
No pagination or result limits documented. If a site has hundreds of trackers or issues, response could be unbounded and exhaust context window.