Skip to content
All Skills

Privacy Policy & ToS Analyzer

Reads a privacy policy or terms of service, extracts data collection practices, identifies concerning permissions, and generates a plain-English summary with a privacy risk score. Prerequisites: brave-search MCP, python3.

Legal & Contracts|v1|Updated 5/19/2026
MCP get_skill({ skillId: "privacy-policy-tos-analyzer-bd9fb7aa" })

Use this skill with your agent

Create a free account and connect via MCP

Get Started Free
# Privacy Policy & ToS Analyzer

Analyze privacy policies and terms of service to understand what data is collected, how it's used, and what rights you have.

## When to Use

- "What does this app's privacy policy actually say?"
- "Is it safe to sign up for {service}?"
- "Summarize these terms of service in plain English"

## Requirements

- **Brave Search MCP** for privacy concerns research
- **python3** for text analysis and scoring

## Workflow

### Step 1 — Input Policy

- **Service name**
- **Policy text** (paste or URL)
- **What you're concerned about** (data sharing, tracking, deletion rights)

### Step 2 — Extract Key Information

```bash
python3 << 'PYEOF'
import re

policy = """{POLICY_TEXT}"""

# Check for concerning patterns
patterns = {
    "Third-party sharing": r'(?i)(third.?part|share.*data|sell.*information|partner)',
    "Tracking/cookies": r'(?i)(track|cookie|pixel|analytics|fingerprint)',
    "Location data": r'(?i)(location|gps|geolocation)',
    "Data retention": r'(?i)(retain|retention|keep.*data|store.*indefinite)',
    "Data sale": r'(?i)(sell.*data|sell.*information|monetiz)',
    "Deletion rights": r'(?i)(delete|erasure|right to be forgotten|remove.*data)',
    "Opt-out": r'(?i)(opt.?out|unsubscribe|withdraw consent)',
    "Children's data": r'(?i)(child|minor|under 13|COPPA)',
    "Arbitration": r'(?i)(arbitrat|waive.*class.*action|dispute)',
    "Changes to policy": r'(?i)(modify.*polic|change.*terms|update.*polic)',
}

for name, pattern in patterns.items():
    matches = len(re.findall(pattern, policy))
    flag = "šŸ”“" if ('sale' in name.lower() or 'arbitration' in name.lower()) and matches > 0 else "🟔" if matches > 0 else "🟢"
    print(f"{flag} {name}: {matches} references")
PYEOF
```

### Step 3 — Research Concerns

```
brave_web_search: "{SERVICE_NAME} privacy concerns data practices {YEAR}"
brave_web_search: "{SERVICE_NAME} data breach history"
```

### Step 4 — Generate Summary

```markdown
# Privacy Analysis: {SERVICE_NAME}
šŸ“… Policy date: {DATE} | āš ļø Risk level: {Low/Medium/High}

## Plain-English Summary
{2-3 sentences: what this service collects and what it does with your data}

## What They Collect
| Data Type | Collected | Shared | Sold | Your Control |
|-----------|-----------|--------|------|-------------|
| Email/name | āœ… | {Yes/No} | {Yes/No} | Can delete |
| Location | {Yes/No} | {Yes/No} | {Yes/No} | {Control} |
| Browsing activity | {Yes/No} | {Yes/No} | {Yes/No} | {Control} |
| Contacts | {Yes/No} | {Yes/No} | {Yes/No} | {Control} |
| Payment info | {Yes/No} | {Yes/No} | {Yes/No} | {Control} |

## šŸ”“ Red Flags
- {Concerning practice 1}: {plain-English explanation}
- {Concerning practice 2}: {explanation}

## 🟢 Good Practices
- {Positive practice}: {explanation}

## Your Rights
- **Delete data:** {Yes/No — how}
- **Opt out of tracking:** {Yes/No — how}
- **Download your data:** {Yes/No — how}
- **Opt out of data sale:** {Yes/No — how}

## Recommendation
{Overall assessment: is this policy reasonable for the service type?}
```

## Important Rules

- Analyze what the policy actually says, not what you assume
- Flag absence of important protections (no deletion right, no opt-out)
- Compare to industry norms — a social app collects more than a calculator
- Verify concerns via Brave Search for reported issues
- Present facts, not fear — let the user decide

## Example Prompts

- "Analyze this app's privacy policy — what am I agreeing to?"
- "Is it safe to use {service}? What data do they collect?"
- "Explain these terms of service in simple terms"
#legal#privacy#terms-of-service#analysisbrave-searchpython3