Skip to content

OWASP-BLT/SelfErase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

SelfErase

An open-source, hybrid local+edge privacy toolkit for managing and deleting personal data online.

License: AGPL v3 Security: Zero PII

🎯 Design Goal

SelfErase helps individuals identify, manage, and remove their personal data from data brokersβ€”without ever sharing personal information with any external service.

This is a security-first, zero-data-retention system where:

  • βœ… All personal data stays encrypted on your local device
  • βœ… No third-party servers ever see your PII
  • βœ… You maintain complete ownership and control
  • βœ… Works fully offline when needed
  • βœ… Open-source and independently verifiable

πŸ—οΈ Architecture

SelfErase uses a hybrid model that combines local security with edge automation:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   GitHub (Code Only)        β”‚
β”‚  β€’ Documentation            β”‚
β”‚  β€’ Broker metadata          β”‚
β”‚  β€’ Source code              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Cloudflare Workers           β”‚
β”‚  β€’ Public metadata APIs      β”‚
β”‚  β€’ Broker health checks      β”‚
β”‚  β€’ Opt-out templates         β”‚
β”‚  β€’ No user data ever         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚
               β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Local Flutter App            β”‚
β”‚  β€’ Encrypted PII storage     β”‚
β”‚  β€’ Opt-out generator         β”‚
β”‚  β€’ User dashboard            β”‚
β”‚  β€’ Offline capable           β”‚
β”‚  β€’ Your device only          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Local Flutter App (User-Controlled)

The Flutter app runs on iOS, Android, macOS, Windows, and Linux:

  • Handles all sensitive personal data locally
  • Stores data encrypted with AES-256 / SQLCipher
  • Generates and tracks opt-out requests
  • Provides a privacy exposure dashboard
  • Manages your personal "data broker map"
  • Imports/exports encrypted backups (ZIP)
  • Runs fully offline if desired

No personal data ever leaves your device except when you manually send deletion/opt-out requests to brokers.

Cloudflare Workers (Stateless Automation)

Workers perform tasks that don't require user PII:

  • Maintain up-to-date broker lists
  • Check if broker sites are online
  • Provide opt-out form templates
  • Suggest re-check schedules
  • Serve public metadata only

Workers compute and serve public information only, like:

  • brokers.json - List of known data brokers
  • Opt-out instructions and form templates
  • Broker API availability tests
  • Update notifications

πŸ”’ Security Model

A. Zero PII Transmission

  • Cloudflare Workers never receive PII
  • Flutter app never transmits PII
  • All sensitive data stays encrypted at rest on your local device

B. Encrypted Local Storage

  • Mobile: SQLCipher or secure keystore
  • Desktop: AES-256 encryption
  • Optional local password or biometric lock
  • Data never stored in plaintext

C. Verification & Reproducibility

  • Deterministic builds for Flutter
  • GitHub Actions produce signed binaries
  • Users can reproduce builds and verify checksums
  • Complete source code transparency

D. No Third-Party Tracking

  • App contains no analytics or telemetry
  • Workers log no requests (privacy mode enabled)
  • Complete transparency in codebase

For detailed security information, see SECURITY.md.

πŸš€ Quick Start

Prerequisites

  • Flutter 3.x or later
  • Dart 3.x or later
  • (Optional) Cloudflare account for Workers deployment

Running the Local App

# Clone the repository
git clone https://github.com/OWASP-BLT/SelfErase.git
cd SelfErase

# Navigate to Flutter app
cd flutter_app

# Get dependencies
flutter pub get

# Run on your platform
flutter run

Portable Mode (Desktop)

Download a pre-built, self-contained desktop app:

  1. Visit Releases
  2. Download the ZIP for your platform
  3. Extract and run - no installation needed
  4. Verify the signature (optional but recommended)

Deploying Cloudflare Workers (Optional)

# Navigate to workers directory
cd cloudflare_workers

# Install dependencies
npm install

# Deploy to your Cloudflare account
npm run deploy

Note: Workers are optional. The app works fully offline without them.

πŸ“– How It Works

  1. Install the App: Download or build the Flutter app for your device
  2. Enter Your Info Locally: Add your personal details (name, email, addresses, etc.) - stored encrypted only on your device
  3. Scan for Exposure: The app checks against known data brokers (using local/Workers metadata)
  4. Generate Requests: Create opt-out/deletion requests for each broker
  5. Send Requests: Use generated emails, forms, or automated scripts to contact brokers
  6. Track Progress: Monitor which brokers you've contacted and their responses
  7. Re-check Periodically: Get reminders to verify your data was actually removed

πŸ—‚οΈ Project Structure

SelfErase/
β”œβ”€β”€ flutter_app/           # Local Flutter application
β”‚   β”œβ”€β”€ lib/
β”‚   β”‚   β”œβ”€β”€ models/        # Data models (brokers, requests, etc.)
β”‚   β”‚   β”œβ”€β”€ services/      # Encryption, storage, networking
β”‚   β”‚   β”œβ”€β”€ screens/       # UI screens
β”‚   β”‚   └── widgets/       # Reusable UI components
β”‚   β”œβ”€β”€ test/              # Unit and widget tests
β”‚   └── pubspec.yaml       # Flutter dependencies
β”‚
β”œβ”€β”€ cloudflare_workers/    # Stateless edge workers
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ brokers.ts     # Broker metadata API
β”‚   β”‚   β”œβ”€β”€ health.ts      # Broker health checks
β”‚   β”‚   └── templates.ts   # Opt-out templates
β”‚   β”œβ”€β”€ wrangler.toml      # Cloudflare configuration
β”‚   └── package.json       # Node dependencies
β”‚
β”œβ”€β”€ data/                  # Public broker metadata
β”‚   β”œβ”€β”€ brokers/           # Broker definitions
β”‚   β”œβ”€β”€ templates/         # Opt-out templates
β”‚   └── schema.json        # Data schema
β”‚
β”œβ”€β”€ docs/                  # Documentation
β”‚   β”œβ”€β”€ architecture.md    # Detailed architecture
β”‚   β”œβ”€β”€ broker-guide.md    # How to add brokers
β”‚   └── api.md             # Workers API reference
β”‚
β”œβ”€β”€ .github/
β”‚   └── workflows/         # CI/CD workflows
β”‚
β”œβ”€β”€ README.md              # This file
β”œβ”€β”€ SECURITY.md            # Security whitepaper
β”œβ”€β”€ CONTRIBUTING.md        # Contribution guidelines
└── LICENSE                # AGPL-3.0 license

🀝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Ways to Contribute

  • Add Data Brokers: Help expand our broker database
  • Improve Templates: Better opt-out request templates
  • Enhance Security: Security audits and improvements
  • UI/UX: Better user interface and experience
  • Documentation: Clearer guides and documentation
  • Translations: Support for more languages

πŸ“Š Broker Database

We maintain a curated database of data brokers with:

  • Company information and contact details
  • Opt-out procedures and requirements
  • Form templates and example requests
  • Known response times and success rates

See data/brokers/ for the current list.

πŸ› οΈ Development

Building from Source

# Flutter app
cd flutter_app
flutter build apk         # Android
flutter build ios         # iOS (macOS only)
flutter build macos       # macOS
flutter build windows     # Windows
flutter build linux       # Linux

# Cloudflare Workers
cd cloudflare_workers
npm run build
npm run test

Running Tests

# Flutter tests
cd flutter_app
flutter test

# Workers tests
cd cloudflare_workers
npm test

πŸ“œ License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.

πŸ” Security

If you discover a security vulnerability, please see our Security Policy for reporting instructions.

πŸ’‘ Why SelfErase?

Most privacy tools either:

  • ❌ Require you to trust them with your personal data
  • ❌ Charge subscription fees for basic privacy rights
  • ❌ Use opaque, closed-source methods
  • ❌ Store your data on their servers

SelfErase is different:

  • βœ… Zero-trust architecture - your data never leaves your device
  • βœ… Free and open-source - audit the code yourself
  • βœ… Privacy by design - impossible for us to access your data
  • βœ… User-controlled - you own and control everything

🌟 Roadmap

  • Project architecture and design
  • Core Flutter app with encrypted storage
  • Basic broker database (top 50 brokers)
  • Cloudflare Workers API
  • Opt-out request generator
  • Import/export functionality
  • Automated builds and releases
  • Mobile app (iOS/Android)
  • Browser extension for quick scanning
  • Automated submission (where possible)
  • International broker support

πŸ“ž Support

πŸ† Acknowledgments

SelfErase is part of the OWASP BLT Project ecosystem.

Special thanks to:

  • Privacy advocates and researchers
  • Open-source contributors
  • Security audit volunteers
  • The OWASP community

Remember: Your privacy is a right, not a privilege. Take control with SelfErase.

About

An open-source, hybrid local+edge privacy toolkit for managing and deleting personal data online.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •