# Contribute Broker

> A Claude skill from danieljustus/symaira-eraseme.

- **Type:** Skill
- **Install:** `agentstack add skill-danieljustus-symaira-eraseme-contribute-broker`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [danieljustus](https://agentstack.voostack.com/s/danieljustus)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** Apache-2.0
- **Upstream author:** [danieljustus](https://github.com/danieljustus)
- **Source:** https://github.com/danieljustus/symaira-eraseme/tree/main/skills/contribute-broker
- **Website:** https://symaira.com

## Install

```sh
agentstack add skill-danieljustus-symaira-eraseme-contribute-broker
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Contribute Broker to Symaira EraseMe Registry

**Skill for AI agents (Claude Code, OpenClaw, Cursor, etc.)**

When you discover a data broker that is not in the Symaira EraseMe registry, use this workflow to contribute it back via a Pull Request.

## When to use this skill

Use this skill when:
- You discover a new data broker during research or web browsing
- A user mentions a broker that does not exist in the registry
- You find updated information about an existing broker (new opt-out URL, changed email, etc.)
- The user explicitly asks you to add or update a broker entry

## Workflow

### 1. Check if broker already exists

```bash
# Search by name
grep -ri "" registry/brokers/

# Or use the broker ID pattern
ls registry/brokers/us/ | grep -i ""
```

If the broker exists, skip to step 5 (Update existing).

### 2. Gather broker information

Collect the following REQUIRED fields:
- **Name**: Legal company name
- **Website**: Homepage URL (with https://)
- **Category**: One of: people-search, marketing, credit, analytics, background-check, social-media, other
- **Jurisdictions**: ISO country codes (e.g., US, DE, EU)
- **Laws**: Applicable privacy laws (GDPR, CCPA, CPRA, LGPD, PIPEDA)
- **Opt-out method**: Email address or web form URL
- **Source**: Which registry/website verified this information

### 3. Create the YAML file

Create a new file at `registry/brokers//.yaml`:

```yaml
id: 
name: 
website: https://
category: 
jurisdictions:
  - 
laws:
  - 
data_sensitivity: 3
priority: medium
added_date: ''
status: active
source: ''

opt_out:
  - type: email
    endpoint: 
    template: 
    locale: 
    required_fields:
      - full_name
      - email
    supports_suppression: true
    expected_response_days: 

verification:
  ack_keywords:
    - received
    - request
  rejection_keywords:
    - cannot
    - denied
  human_required_keywords:
    - verify
    - identification
```

### 4. Validate the file

```bash
# Install dependencies if needed
pip install pyyaml jsonschema

# Validate
python scripts/registry_sync.py --validate-all
```

### 5. Create a Pull Request

```bash
# Create a feature branch
git checkout -b add-broker-

# Stage and commit
git add registry/brokers//.yaml
git commit -m "registry: add  data broker

- Source: 
- Jurisdiction: 
- Opt-out: "

# Push and create PR
git push -u origin add-broker-
gh pr create --fill --title "registry: add " --body "..."
```

### 6. Update existing broker (if information changed)

If the broker exists but information is outdated:

```bash
# Edit the existing file
# Update only the changed fields
# Add a note about what changed

# Validate
python scripts/registry_sync.py --validate-all

# Commit with descriptive message
git add registry/brokers//.yaml
git commit -m "registry: update  opt-out email

Old: old@example.com
New: privacy@example.com
Source: "
```

## Important rules

1. **Never fabricate data**: Only add brokers you have verified from a reliable source
2. **Always include source**: The `source` field must reference where you found the broker
3. **Validate before PR**: Run `--validate-all` to ensure schema compliance
4. **One broker per PR**: Keep PRs focused on a single broker addition or update
5. **Respect existing format**: Match the style of existing broker YAML files
6. **Privacy first**: Never include personal data in broker definitions

## Example: Adding a new broker

```bash
# User mentions: "I found this broker called DataMax LLC"
# 1. Check if it exists
grep -ri "datamax" registry/brokers/
# Result: Not found

# 2. Research
curl -s "https://datamax.example.com/privacy" | grep -i "opt.out\|delete\|remove"
# Found: privacy@datamax.example.com

# 3. Create YAML
cat > registry/brokers/us/datamax-us.yaml << 'EOF'
id: datamax-us
name: DataMax LLC
website: https://www.datamax.example.com
category: marketing
jurisdictions:
  - US
laws:
  - CCPA
data_sensitivity: 3
priority: medium
added_date: '2025-05-21'
status: active
source: 'Company privacy page'

opt_out:
  - type: email
    endpoint: privacy@datamax.example.com
    template: ccpa-deletion
    locale: en
    required_fields:
      - full_name
      - email
    supports_suppression: true
    expected_response_days: 45

verification:
  ack_keywords:
    - received
    - request
  rejection_keywords:
    - cannot
    - denied
  human_required_keywords:
    - verify
EOF

# 4. Validate
python scripts/registry_sync.py --validate-all

# 5. Create PR
git checkout -b add-broker-datamax
git add registry/brokers/us/datamax-us.yaml
git commit -m "registry: add DataMax LLC data broker"
git push -u origin add-broker-datamax
gh pr create --fill
```

## Quick reference: Broker categories

| Category | Description |
|----------|-------------|
| people-search | Sites that aggregate personal info (Spokeo, Whitepages) |
| marketing | Email/phone list brokers, ad tech |
| credit | Credit bureaus, financial data |
| analytics | Data analytics, market research |
| background-check | Employment/criminal background checks |
| social-media | Social media platforms |
| other | Everything else |

## Quick reference: Jurisdiction codes

| Code | Region |
|------|--------|
| US | United States |
| DE | Germany |
| EU | European Union |
| UK | United Kingdom |
| CA | Canada |
| BR | Brazil |

## Quick reference: Laws

| Law | Region |
|-----|--------|
| GDPR | EU/EEA |
| CCPA | California |
| CPRA | California (updated) |
| LGPD | Brazil |
| PIPEDA | Canada |

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [danieljustus](https://github.com/danieljustus)
- **Source:** [danieljustus/symaira-eraseme](https://github.com/danieljustus/symaira-eraseme)
- **License:** Apache-2.0
- **Homepage:** https://symaira.com

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-danieljustus-symaira-eraseme-contribute-broker
- Seller: https://agentstack.voostack.com/s/danieljustus
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
