Skip to main content

exitlight

Find the exit. 🚪

Contact websites about your personal data, the fair and legitimate way.

License: MIT PyPI version Python 3.10+

✨ What is exitlight?

exitlight is a CLI tool that helps you find the right contact information to contact a website about your personal data (DSAR - Data Subject Access Requests).

Given a website URL, it:

  1. discovers candidate links likely to be a Privacy Policy page
  2. visits those candidates (using a headless browser)
  3. extracts privacy-related contact methods (for now: email addresses)
  4. outputs a report you can use to contact the website about your personal data (JSON by default, or a plain-text email list)

🚀 Features

Core functionality

  • Finds and ranks privacy-policy candidates from the source page.
  • Extracts emails from both page text and mailto: links.
  • Produces a structured JSON report with per-candidate results and a consolidated email list.
  • Batch mode: process a file of URLs (one per line).

Responsible by design

  • Respects robots.txt by default (can be disabled for manual testing).
  • Applies a fixed delay between page visits to reduce server load (--delay).
  • Blocks images/media/fonts to reduce load (--no-resources-block to disable).
  • Uses a custom transparent default User-Agent with a CLI override (--user-agent).

📦 Installation

Requires Python 3.10+.

Install from PyPI

pip install exitlight

Install Playwright browser binaries (required on first install):

playwright install

⚡ Quick start

Show all options:

exitlight --help

Scan a single site and print the full JSON report:

exitlight example.com

Print only the consolidated email list (one per line):

exitlight example.com --format plain

Write JSON output to a file:

exitlight example.com --output report.json

Batch mode (one URL per line):

exitlight urls.txt --output batch.json

Notes:

  • exitlight respects robots.txt by default; use --ignore-robots for manual testing only.
  • If you need a different request identity, override the User-Agent via --user-agent.
  • Batch mode is intended for small, user-curated lists of websites.

⚠️ Disclaimer

This project is provided for educational and personal use purposes.

The author does not take responsibility for how this software is used. Users are solely responsible for ensuring that their use of this tool complies with applicable laws, website Terms of Service, and robots.txt policies.

This tool accesses only publicly available pages and does not attempt to bypass authentication, paywalls, or anti-bot protections.

📄 License

MIT. See LICENSE.

Metadata

Release files for exitlight 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for exitlight 0.1.0
File Size Uploaded
exitlight-0.1.0.tar.gz 17.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for exitlight 0.1.0
File Interpreter ABI Platform
exitlight-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 41.8 kB

Release files / exitlight-0.1.0.tar.gz

Download URL exitlight-0.1.0.tar.gz
Size 17.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6dab785fbb2b4f6248b7ff682d08aa03f3e5eba5f6242098224aa7535ac7c4cf
BLAKE2b-256 checksum
How to use checksums
fc4508e788d023140ec6fb7118a8bd83b688dd006e5d14a3a855b8cd86246e80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / exitlight-0.1.0-py3-none-any.whl

Download URL exitlight-0.1.0-py3-none-any.whl
Size 24.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0f89389639f7cfb6780970e3de2c0246ccbf6b8b12b306f39626d91c99716ba8
BLAKE2b-256 checksum
How to use checksums
ec6718a47ef4d7f439287f42bbb986496c0d8c259261deae1b4fec58b67ca958
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page