visible-cx/databroker_remover
visible-cx/databroker_remover has 276 GitHub stars and 18 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 10:43 UTC. Last push 2025-12-09.
Source code for remover.visiblelabs.org
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalData Broker Remover Tool
A Next.js application that generates and sends removal request emails to data brokers. Built with Next.js 16, React 19, and AWS services.
🎯 What it Does
This tool helps you request the removal of your personal information from data broker databases by:
- Verifying your email address
- Collecting your information (name, address)
- Automatically sending removal requests to 60+ data brokers
- CC'ing you on all emails for transparency
🚀 Quick Start
Prerequisites
- Node.js 22 or higher
- AWS Account with SES and DynamoDB access
- pnpm (recommended) or npm
Installation
# Clone the repository
git clone https://github.com/visible-cx/databroker_remover.git
cd databroker_remover
# Install dependencies
pnpm install
# Copy environment template
cp .env.example .env.local
# Configure AWS services (see Setup Guide below)
Running Locally
pnpm dev
Visit http://localhost:3000
⚙️ AWS Setup
1. Create DynamoDB Table
aws dynamodb create-table \
--table-name data-broker-remover-users \
--attribute-definitions AttributeName=id,AttributeType=S \
--key-schema AttributeName=id,KeyType=HASH \
--billing-mode PAY_PER_REQUEST \
--region eu-west-2
2. Set Up SES Email Templates
Verify sender emails:
aws ses verify-email-identity --email-address [email protected] --region eu-west-2
aws ses verify-email-identity --email-address [email protected] --region eu-west-2
Create VerificationCode template:
aws ses create-template --region eu-west-2 --cli-input-json '{
"Template": {
"TemplateName": "VerificationCode",
"SubjectPart": "Your Verification Code",
"HtmlPart": "<!DOCTYPE html><html><body><h2>Your Verification Code</h2><p>Your verification code is: <strong>{{code}}</strong></p><p>This code will expire in 30 minutes.</p></body></html>",
"TextPart": "Your verification code is: {{code}}\n\nThis code will expire in 30 minutes."
}
}'
Create CompanyEmail template:
aws ses create-template --region eu-west-2 --cli-input-json '{
"Template": {
"TemplateName": "CompanyEmail",
"SubjectPart": "Data Removal Request",
"HtmlPart": "<!DOCTYPE html><html><body><p>Dear {{companyName}},</p><p>I am writing to request the removal of my personal information from your database.</p><p><strong>My Information:</strong></p><ul><li>Name: {{name}}</li><li>Address: {{street}}, {{city}}, {{postcode}}, {{country}}</li><li>Email: {{email}}</li></ul><p>Please confirm receipt of this request.</p><p>Sincerely,<br>{{name}}</p></body></html>",
"TextPart": "Dear {{companyName}},\n\nI am writing to request the removal of my personal information from your database.\n\nMy Information:\n- Name: {{name}}\n- Address: {{street}}, {{city}}, {{postcode}}, {{country}}\n- Email: {{email}}\n\nPlease confirm receipt of this request.\n\nSincerely,\n{{name}}"
}
}'
3. Configure Environment Variables
Edit .env.local:
# AWS Configuration
VITE_AWS_REGION=eu-west-2
VITE_TABLE_NAME=data-broker-remover-users
# Data Broker Email List
VITE_COMPANIES=BrokerName1,[email protected]:BrokerName2,[email protected]
# AWS Credentials (local dev only)
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
4. IAM Permissions
Your application needs these permissions:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["ses:SendTemplatedEmail", "ses:SendBulkTemplatedEmail"],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": ["dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:UpdateItem"],
"Resource": "arn:aws:dynamodb:REGION:ACCOUNT:table/data-broker-remover-users"
}
]
}
🔒 Privacy & Security
- Email Hashing: Email addresses are hashed (SHA256) before storage
- No Personal Data Storage: User details (name, address) are only used to generate emails and never stored
- Rate Limiting: Users can only send requests once every 45 days
- Open Source: Fully auditable code
📦 Deployment
Vercel (Recommended)
# Install Vercel CLI
npm i -g vercel
# Deploy
vercel
Add environment variables in Vercel dashboard.
Docker
# Build image
docker build -t databroker-remover .
# Run container
docker run -p 3000:3000 --env-file .env.local databroker-remover
Other Platforms
Compatible with any Next.js hosting platform:
- AWS Amplify
- Netlify
- Railway
- Fly.io
🛠️ Development
Project Structure
.
├── app/ # Next.js pages
├── components/ # React components
│ ├── ui/ # shadcn/ui components
│ └── data-broker-remover/ # Tool components
├── lib/ # Utilities
│ └── data-broker-remover/ # AWS clients, types
└── actions/ # Server Actions
└── data-broker-remover/ # API handlers
Tech Stack
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI + shadcn/ui
- AWS Services: SES (emails), DynamoDB (storage)
📝 License
MIT License - see LICENSE file for details.
🤝 Contributing
Contributions welcome! Please open an issue or submit a PR.
⚠️ Troubleshooting
"Email address not verified"
- In SES sandbox mode, both sender and recipient must be verified
"Table does not exist"
- Check table name in
.env.localmatches DynamoDB table
"Access Denied"
- Verify IAM permissions are correctly configured
📚 Additional Resources
💬 Support
Explore related projects
trimstray/the-book-of-secret-knowledge
A collection of inspiring lists, manuals, cheatsheets, blogs, hacks, one-liners, cli/web tools and more.
257,250 starsHack-with-Github/Awesome-Hacking
A collection of various awesome lists for hackers, pentesters and security researchers
125,103 starsswisskyrepo/PayloadsAllTheThings
A list of useful payloads and bypass for Web Application Security and Pentest/CTF
82,542 starscaddyserver/caddy
Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
78,935 stars