visible-cx/databroker_remover
visible-cx/databroker_remover has 276 GitHub stars and 18 forks. GitHot measured 0 stars in 24 hours and 0 in 7 days. Last checked 2026-11-14 09:49 UTC. Last push 2025-12-09.
Crecimiento de estrellas medido
- in 24h
- 0
- in 7 days
- 0
- in 15 days
- Recopilando historial
- in 1 month
- Recopilando historial
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
Acerca de
Source code for remover.visiblelabs.org
SeguridadREADME.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