{"id":48151971,"url":"https://github.com/bendns/dont-track-me","last_synced_at":"2026-04-04T17:13:09.836Z","repository":{"id":337306718,"uuid":"1152181536","full_name":"bendns/dont-track-me","owner":"bendns","description":"Modular anti-tracking toolkit — audit how trackable you are online and apply countermeasures. DNS leaks, metadata, browser fingerprinting, cookies, social trackers, search/social noise injection.","archived":false,"fork":false,"pushed_at":"2026-02-08T21:40:46.000Z","size":2840,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-09T01:57:09.046Z","etag":null,"topics":["anti-tracking","browser-privacy","cli","cookies","dns","fingerprinting","metadata","noise-injection","osint","privacy","python","security","social-media","surveillance"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bendns.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-07T13:44:08.000Z","updated_at":"2026-02-08T21:40:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/bendns/dont-track-me","commit_stats":null,"previous_names":["bendns/dont-track-me"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/bendns/dont-track-me","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bendns%2Fdont-track-me","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bendns%2Fdont-track-me/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bendns%2Fdont-track-me/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bendns%2Fdont-track-me/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bendns","download_url":"https://codeload.github.com/bendns/dont-track-me/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bendns%2Fdont-track-me/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31407644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anti-tracking","browser-privacy","cli","cookies","dns","fingerprinting","metadata","noise-injection","osint","privacy","python","security","social-media","surveillance"],"created_at":"2026-04-04T17:13:09.753Z","updated_at":"2026-04-04T17:13:09.821Z","avatar_url":"https://github.com/bendns.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dont-track-me\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/cover.png\" alt=\"dont-track-me cover\" width=\"600\"\u003e\n\u003c/p\u003e\n\n\u003e **Disclaimer:** This entire codebase was generated using Claude (Anthropic). While we've tested it, use it with caution and review the code before relying on it for your privacy.\n\u003e\n\u003e **Scope:** This toolkit is an educational starting point, not a complete privacy solution. Real-world digital protection requires a layered approach — Tor/VPN, hardened browsers (Mullvad, LibreWolf), OS-level isolation (Tails, Qubes), hardware security keys, and operational discipline. The checks and countermeasures here cover common tracking vectors but do not address advanced threats like browser fingerprinting, traffic analysis, or state-level surveillance. Use this alongside — not instead of — established privacy tools.\n\nA modular anti-tracking toolkit that audits how trackable you are online and applies countermeasures. Built for privacy researchers, activists, journalists, and anyone who believes their digital profile shouldn't be weaponized against them.\n\n## Why this exists\n\nUsing a VPN is not enough.\n\nA VPN hides your IP address. But modern surveillance uses browser fingerprinting, cookies, DNS queries, HTTP headers, file metadata, search history profiling, and social media analysis to build detailed profiles about you — your politics, religion, sexuality, health, and beliefs.\n\nCompanies like Palantir aggregate public data across platforms. Data brokers sell \"audience segments\" like \"likely left-wing voter\" or \"interested in LGBTQ topics.\" Governments subpoena search histories. Advertisers know more about you than your closest friends.\n\n**dont-track-me** fights back with two strategies:\n\n1. **Defensive** — Detect and block tracking vectors (DNS leaks, metadata, headers)\n2. **Offensive** — Poison the data they collect by injecting noise (balanced search queries, diversified social media follows)\n\n## Installation\n\nRequires [Rust](https://rustup.rs/) (1.75+). DNS monitoring requires libpcap (pre-installed on macOS).\n\n```bash\n# From source\ngit clone https://github.com/your-username/dont-track-me.git\ncd dont-track-me\ncargo install --path crates/dtm-cli\n\n# Or build without installing\ncargo build --release\n./target/release/dtm status\n```\n\n### API modules (Reddit, YouTube)\n\nThe Reddit and YouTube modules connect to real APIs to audit your account and apply protections. They require OAuth credentials.\n\n#### Setting up Reddit API credentials\n\n1. Go to https://www.reddit.com/prefs/apps\n2. Click \"create another app...\"\n3. Select **\"script\"** type\n4. Set redirect URI to `http://localhost:8914/callback`\n5. Note the client ID (under the app name) and client secret\n\n#### Setting up YouTube API credentials\n\n1. Go to https://console.cloud.google.com/apis/credentials\n2. Create a new project (or use an existing one)\n3. Enable the **YouTube Data API v3**\n4. Create an **OAuth 2.0 Client ID** (type: Desktop app)\n5. Add `http://localhost:8914/callback` as an authorized redirect URI\n6. Download or note the client ID and client secret\n\n#### Storing credentials\n\nSet credentials via environment variables:\n\n```bash\nexport DTM_REDDIT_CLIENT_ID=\"your-client-id\"\nexport DTM_REDDIT_CLIENT_SECRET=\"your-client-secret\"\nexport DTM_YOUTUBE_CLIENT_ID=\"your-client-id\"\nexport DTM_YOUTUBE_CLIENT_SECRET=\"your-client-secret\"\n```\n\nOr add them to `~/.config/dont-track-me/config.toml`:\n\n```toml\n[reddit]\nclient_id = \"your-client-id\"\nclient_secret = \"your-client-secret\"\n\n[youtube]\nclient_id = \"your-client-id\"\nclient_secret = \"your-client-secret\"\n```\n\n## Quick start\n\n```bash\n# See what modules are available\ndtm status\n\n# Run a full privacy audit\ndtm audit\n\n# Get your overall privacy score\ndtm score\n\n# Learn about a specific threat\ndtm info dns\n```\n\n## Usage\n\n### Auth — Connect your accounts\n\nAuthenticate with API-backed platforms to unlock real account auditing and protection:\n\n```bash\ndtm auth reddit              # Open browser -\u003e OAuth -\u003e store token in system keychain\ndtm auth youtube             # Open browser -\u003e OAuth -\u003e store token in system keychain\ndtm auth status              # Show which platforms are connected + token expiry\ndtm auth revoke reddit       # Delete stored token\n```\n\nTokens are stored securely in your system's credential store (macOS Keychain, Linux Secret Service, Windows Credential Locker).\n\n### Audit — How trackable are you?\n\n```bash\ndtm audit                        # Run all audits\ndtm audit dns                    # Audit a single module\ndtm audit --modules dns,headers  # Audit specific modules\ndtm audit --format json          # Machine-readable output\n```\n\n### Protect — Apply countermeasures\n\n```bash\ndtm protect                              # Dry-run (preview changes)\ndtm protect --apply                      # Apply all protections\ndtm protect dns --apply                  # Apply DNS protections only\ndtm protect metadata --apply --path ./   # Strip metadata from files\n```\n\nProtect is **dry-run by default** — it never modifies anything without `--apply`.\n\n#### Reddit — Harden privacy settings + diversify subreddits\n\nReddit is the only major platform where privacy/tracking settings are writable via API. The Reddit module can disable all 7 tracking preferences in a single command:\n\n```bash\ndtm audit reddit                             # Audit privacy settings + subreddit bias\ndtm protect reddit --apply                   # Harden settings + diversify subreddits\ndtm protect reddit --apply --harden-only     # Only disable tracking preferences\ndtm protect reddit --apply --diversify-only  # Only diversify subscriptions\n```\n\nSettings hardened: `activity_relevant_ads`, `third_party_data_personalized_ads`, `third_party_site_data_personalized_ads`, `third_party_site_data_personalized_content`, `allow_clicktracking`, `public_votes`, `show_presence`.\n\n#### YouTube — Audit and diversify subscriptions\n\n```bash\ndtm audit youtube                  # Analyze subscription bias by category/perspective\ndtm protect youtube --apply        # Subscribe to diverse channels\n```\n\nRate limited to stay within YouTube's free 10K daily quota (~200 subscribes/day), with randomized delays between calls.\n\n#### Instagram, TikTok, Facebook, Twitter/X — Privacy checklists\n\nThese platforms' APIs don't allow reading or modifying privacy settings programmatically. Instead, these modules use interactive checklists — answer questions about your current settings and get a personalized score with step-by-step hardening instructions.\n\nPlatforms can't be trusted to honor their own privacy toggles ([Facebook was fined $5B by the FTC](https://www.ftc.gov/news-events/news/press-releases/2019/07/ftc-imposes-5-billion-penalty-sweeping-new-privacy-restrictions-facebook) for deceiving users about privacy controls, [Google settled for $391.5M with 40 states](https://www.njoag.gov/forty-attorneys-general-announce-historic-settlement-with-google-over-location-tracking-practices/) over location tracking that continued after users disabled it). Where applicable, checks include **technical countermeasures** — platform-independent enforcement steps like DNS-level blocking, browser extension recommendations, cookie deletion via `dtm protect social/cookies`, and Firefox hardening via `dtm protect fingerprint`.\n\n```bash\ndtm audit instagram                  # Educational findings (default score)\ndtm audit instagram -i               # Interactive checklist -- personalized score\ndtm audit tiktok -i                  # Same for TikTok (12 checks)\ndtm audit facebook -i                # Same for Facebook (14 checks)\ndtm audit twitter -i                 # Same for Twitter/X (13 checks)\ndtm protect instagram                # Step-by-step hardening guide\ndtm info instagram                   # How Instagram tracks you\n```\n\n### Apps — Scan installed applications\n\nScan macOS applications for tracking SDKs embedded in their binaries:\n\n```bash\ndtm apps                     # Show app tracking SDK analysis\ndtm apps --format json       # JSON output\n```\n\nDetects tracking SDKs in Mach-O binaries via `LC_LOAD_DYLIB` load commands and framework bundles: Facebook SDK, Firebase Analytics, Google Mobile Ads, Adjust, AppsFlyer, Amplitude, Mixpanel, Segment, Branch.io, Kochava, Braze, OneSignal, Sentry, Crashlytics, New Relic, Flurry, Unity Ads, ironSource, AppLovin, Chartboost, MoPub. Also checks App Transport Security (ATS) exceptions in `Info.plist` — apps that disable HTTPS enforcement or certificate pinning.\n\n### Monitor — Real-time DNS monitoring\n\nCapture DNS queries in real time and flag tracker domains:\n\n```bash\nsudo dtm monitor             # Monitor DNS queries (requires root for packet capture)\ndtm monitor --tracker-only   # Only show tracker DNS queries\n```\n\nDetects DNS queries to 100+ known tracker/ad domains (ad exchanges, analytics, social trackers, data brokers, attribution, email tracking) with process attribution and query frequency analysis.\n\nResults are stored in `~/.local/share/dtm/events.db` (SQLite).\n\n### Noise — Poison your profile\n\nThis is the offensive strategy. Instead of blocking tracking, you make the collected data useless by injecting noise.\n\n#### Search noise\n\nGenerate balanced search queries across multiple engines to drown out your real search history:\n\n```bash\ndtm noise search                                          # Preview (safe, no requests sent)\ndtm noise search --apply                                  # Send 50 balanced queries\ndtm noise search --apply --count 100                      # Send 100 queries\ndtm noise search --apply --categories politics,religion   # Target specific categories\ndtm noise search --apply --engines google,bing            # Use specific engines\ndtm noise search --apply --country fr                     # French-localized queries\n```\n\nQuery categories: `politics` (left/right/center/libertarian/green), `religion` (christianity/islam/judaism/buddhism/hinduism/atheism), `news_sources`, `interests`, `lifestyle`.\n\nQueries are balanced across all perspectives — equal representation from every side — then shuffled and sent with randomized human-like delays.\n\n#### Social noise\n\nGenerate diversified follow lists so your social media profile doesn't reveal a one-dimensional identity:\n\n```bash\ndtm noise social --apply                                   # All platforms\ndtm noise social --apply --platforms instagram,youtube      # Specific platforms\ndtm noise social --apply --categories politics,music        # Specific categories\ndtm noise social --apply --format json                      # JSON export\ndtm noise social --apply --country fr                      # French accounts\n```\n\nPlatforms: `instagram`, `youtube`, `tiktok`, `facebook`, `twitter`.\n\nThis module generates **recommendation lists** — it does not auto-follow accounts (which would require API tokens and risk account bans). You follow the suggested accounts manually.\n\n#### Country localization\n\nNoise data is stored in per-country YAML files so queries and accounts match your local context. A French user gets queries about Macron and Le Monde, not American politics.\n\n```bash\ndtm noise search --country fr                              # Use French queries\ndtm noise social --country fr                              # Use French accounts\n```\n\nAvailable countries: `us` (default), `fr`.\n\nThe default country is resolved in order:\n1. `--country` / `-C` CLI flag\n2. `DTM_COUNTRY` environment variable\n3. `country` key in `~/.config/dont-track-me/config.toml`\n4. Falls back to `us`\n\n```toml\n# ~/.config/dont-track-me/config.toml\ncountry = \"fr\"\n```\n\n### Info — Learn about threats\n\n```bash\ndtm info dns             # How DNS tracking works\ndtm info metadata        # How file metadata leaks your identity\ndtm info headers         # How HTTP headers fingerprint you\ndtm info search_noise    # How search engines profile your beliefs\ndtm info social_noise    # How social media follows define you\ndtm info reddit          # How Reddit tracks your preferences\ndtm info youtube         # How YouTube profiles your subscriptions\ndtm info instagram       # How Instagram tracks you\ndtm info tiktok          # How TikTok profiles your behavior\ndtm info facebook        # How Facebook builds your shadow profile\ndtm info twitter         # How Twitter/X tracks and profiles you\ndtm info webrtc          # How WebRTC leaks your real IP behind a VPN\ndtm info email           # How email tracking pixels spy on you\ndtm info cookies         # How third-party cookies track you across the web\ndtm info fingerprint     # How browser fingerprinting identifies you without cookies\ndtm info social          # How social media trackers follow you everywhere\ndtm info secrets         # How credentials leak from your local files\ndtm info ssh             # How SSH keys affect your security posture\ndtm info certificates    # How TLS trust stores can be compromised\ndtm info app_permissions # How macOS app permissions expose your privacy\ndtm info location        # How location data leaks through Wi-Fi, timezone, and permissions\ndtm info ad_tracking     # How advertising IDs and data brokers track you across apps\n```\n\n### Score — Your privacy at a glance\n\n```bash\ndtm score\n```\n\nReturns a weighted score from 0 (fully exposed) to 100 (fully protected) with a per-module breakdown.\n\n## Modules\n\n### Defensive modules\n\n| Module | What it does | Deep dive |\n|---|---|---|\n| **dns** | Detects DNS leaks, tracking DNS providers (Google, OpenDNS), and lack of encrypted DNS | [DNS Tracking — Your Browsing History in Plain Text](shared/content/dns.md) |\n| **metadata** | Scans images for GPS/EXIF data and PDFs for author metadata; strips them on protect | [Metadata Leakage — Hidden Data in Your Files](shared/content/metadata.md) |\n| **headers** | Analyzes HTTP headers (User-Agent, Accept-Language, Referer) for identity leaks | [HTTP Header Tracking — Your Browser's Business Card](shared/content/headers.md) |\n| **webrtc** | Detects WebRTC IP leaks via STUN server queries that bypass VPNs | [WebRTC IP Leaks — Your VPN's Blind Spot](shared/content/webrtc.md) |\n| **email** | Detects and strips email tracking pixels (1x1 images, known tracker domains) in .eml files | [Email Tracking Pixels — Someone Knows You Read This](shared/content/email.md) |\n| **cookies** | Analyzes browser cookie databases (Chrome/Firefox) for third-party tracking cookies; deletes tracker cookies on protect | [Browser Cookies \u0026 Third-Party Tracking](shared/content/cookies.md) |\n| **fingerprint** | Detects browser fingerprinting exposure (Canvas, WebGL, fonts, extensions); hardens Firefox via user.js | [Browser Fingerprinting](shared/content/fingerprint.md) |\n| **social** | Detects social media tracker cookies, checks browser tracking protection (ETP/Shields), anti-tracker extensions, hosts-file blocking, and DNS-level blocking | [Social Media Trackers](shared/content/social.md) |\n| **secrets** | Scans for leaked credentials in `.env` files, `.git/config`, shell history, unencrypted SSH keys, AWS credentials, and config files | [Local Secrets Exposure — Your Credentials Are Probably Leaking](shared/content/secrets.md) |\n| **ssh** | Audits SSH key algorithm strength, passphrase protection, key age, agent forwarding, and known_hosts fingerprinting | [SSH Key Hygiene — Your Cryptographic Identity](shared/content/ssh.md) |\n| **certificates** | Audits system TLS trust store for expired, weak, or suspicious CAs (CNNIC, WoSign, DarkMatter); checks TLS version support | [TLS Certificates — The Foundation of Internet Trust](shared/content/certificates.md) |\n| **app_permissions** | Audits macOS TCC database for over-permissioned apps (camera, microphone, accessibility, full disk access, screen recording) | [macOS App Permissions — The Keys to Your Digital Life](shared/content/app_permissions.md) |\n| **app_scanner** | Scans macOS application binaries for embedded tracking SDKs via Mach-O analysis | [App Binary Tracking SDKs](shared/content/app_scanner.md) |\n| **dns_monitor** | Real-time DNS packet capture to flag tracker domain queries with process attribution | [DNS Monitoring](shared/content/dns_monitor.md) |\n| **location** | Audits Wi-Fi SSID history, timezone vs VPN mismatch, and macOS Location Services grants for location data leakage | [Location Data Leakage](shared/content/location.md) |\n| **ad_tracking** | Audits advertising ID (IDFA) exposure, Safari tracking prevention, and data broker ecosystem risks with per-country opt-out guidance | [Advertising Data Ecosystem](shared/content/ad_tracking.md) |\n\n### API modules (authenticated)\n\n| Module | What it does | Deep dive |\n|---|---|---|\n| **reddit** | Audits 7 privacy/tracking settings + subreddit bias; hardens settings and diversifies subscriptions via API | [Reddit Tracking — Your Preferences Betray You](shared/content/reddit.md) |\n| **youtube** | Audits subscription bias by category/perspective; subscribes to diverse channels via API | [YouTube Profiling — Your Subscriptions Define You](shared/content/youtube.md) |\n\n### Checklist modules (interactive)\n\n| Module | What it does | Deep dive |\n|---|---|---|\n| **instagram** | Interactive privacy checklist (12 checks) covering account visibility, ad tracking, and Off-Instagram Activity | [Instagram Tracking — Your Photos Tell More Than You Think](shared/content/instagram.md) |\n| **tiktok** | Interactive privacy checklist (12 checks) covering algorithm profiling, device fingerprinting, and ad data sharing | [TikTok Tracking — The Algorithm Knows You Better Than You Know Yourself](shared/content/tiktok.md) |\n| **facebook** | Interactive privacy checklist (14 checks) covering Off-Facebook Activity, face recognition, and shadow profiles | [Facebook Tracking — The Most Complete Surveillance Machine Ever Built](shared/content/facebook.md) |\n| **twitter** | Interactive privacy checklist (13 checks) covering protected tweets, ad personalization, and off-Twitter activity tracking | [Twitter/X Tracking — Your Tweets Tell More Than You Type](shared/content/twitter.md) |\n\n### Offensive modules (noise generation)\n\n| Module | What it does | Deep dive |\n|---|---|---|\n| **search_noise** | Sends balanced search queries across Google/Bing/DuckDuckGo/Yahoo to pollute your search profile | [Search Engine Profiling — They Know What You Think](shared/content/search_noise.md) |\n| **social_noise** | Generates diversified follow lists for Instagram/YouTube/TikTok/Facebook/Twitter | [Social Media Profiling — Your Follows Define You](shared/content/social_noise.md) |\n\n## How it works\n\nEvery tracking vector is a **module** that implements three operations:\n\n- **audit** — Non-destructive scan. Returns a score (0 = exposed, 100 = protected) and specific findings with remediation steps.\n- **protect** — Apply countermeasures. Dry-run by default. For noise modules, this generates and executes noise.\n- **educate** — Explain the threat: how it works technically, who exploits it, and why a VPN doesn't help.\n\nEach module is a struct that implements the `Module` trait defined in `dtm-core`. All modules are registered in the `AnyModule` enum for static dispatch — no runtime reflection or auto-discovery. Adding a new tracking vector means creating a new module directory under `crates/dtm-modules/src/`, implementing the `Module` trait, and adding a variant to the `AnyModule` enum.\n\n## Architecture\n\n```\nshared/                       # Cross-platform content\n├── content/                  #   Educational markdown (one per module)\n├── data/                     #   Per-country YAML data files\n│   ├── ad_tracking/          #     Data broker registries with opt-out URLs\n│   ├── search_noise/         #     Balanced search query databases\n│   └── social_noise/         #     Balanced social media account databases\n├── checklists/               #   Interactive privacy checklists (YAML)\n└── schema/                   #   Scoring specs\ncrates/\n├── dtm-core/                 #   Library: models, traits, scoring, config, data, auth, db, report\n│   └── src/\n│       ├── models.rs         #   ThreatLevel, Finding, AuditResult, ProtectionResult\n│       ├── module_trait.rs   #   Module trait + AnyModule enum (static dispatch)\n│       ├── scoring.rs        #   Weighted score aggregation\n│       ├── checklist.rs      #   Interactive checklist scoring\n│       ├── config.rs         #   TOML config, country detection\n│       ├── data.rs           #   YAML data loading (trackers, checklists)\n│       ├── db.rs             #   SQLite event store\n│       ├── auth.rs           #   OAuth flow + token management\n│       ├── report.rs         #   HTML report generator (self-contained SPA)\n│       └── platform.rs       #   OS detection, path helpers\n├── dtm-modules/              #   Library: all 25 privacy modules\n│   └── src/\n│       ├── dns/              #   DNS leak detection\n│       ├── cookies/          #   Browser cookie analysis\n│       ├── fingerprint/      #   Browser fingerprint detection\n│       ├── social/           #   Social media tracker detection\n│       ├── email/            #   Email tracking pixel detection\n│       ├── webrtc/           #   WebRTC IP leak detection\n│       ├── metadata/         #   File metadata scanning\n│       ├── headers/          #   HTTP header analysis\n│       ├── secrets/          #   Local secrets exposure\n│       ├── ssh/              #   SSH key hygiene\n│       ├── certificates/     #   TLS trust store audit\n│       ├── app_permissions/  #   macOS TCC permission audit\n│       ├── app_scanner/      #   App binary tracking SDK detection\n│       ├── dns_monitor/      #   Real-time DNS monitoring\n│       ├── location/         #   Location data leakage\n│       ├── ad_tracking/      #   Advertising ID + data brokers\n│       ├── reddit/           #   Reddit privacy audit (OAuth)\n│       ├── youtube/          #   YouTube subscription audit (OAuth)\n│       ├── instagram/        #   Instagram privacy checklist\n│       ├── tiktok/           #   TikTok privacy checklist\n│       ├── facebook/         #   Facebook privacy checklist\n│       ├── twitter/          #   Twitter/X privacy checklist\n│       ├── search_noise/     #   Search query noise\n│       └── social_noise/     #   Social follow noise\n└── dtm-cli/                  #   Binary: the `dtm` command\n    └── src/\n        ├── main.rs           #   Clap CLI + subcommand routing\n        ├── output.rs         #   Table rendering, colored output\n        └── interactive.rs    #   Checklist prompts (dialoguer)\n```\n\n## Running tests\n\n```bash\ncargo test           # 452 tests\ncargo clippy         # Lint\ncargo fmt --check    # Format check\n```\n\n## Roadmap\n\nFuture modules, ordered by priority:\n\n### Defensive\n\n1. **network** — Local network exposure (mDNS/Bonjour hostname broadcasting, open ports, UPnP, ARP visibility on shared networks)\n2. **bluetooth** — Bluetooth trackability (discoverability state, paired device history, BLE beacon exposure used by retail/airports)\n3. **clipboard** — Clipboard privacy (clipboard manager plaintext storage, clipboard access permissions, clipboard-sniffing app detection)\n4. **prism_exposure** — PRISM surveillance exposure audit (detect email accounts, cloud sync clients, messaging apps, browsers, and password managers linked to PRISM-participating companies — recommend privacy-focused alternatives from [PRISM Break](https://prism-break.org/))\n5. **behavior** — Behavioral fingerprinting detection (typing/mouse patterns — research-grade, high effort)\n\n### Offensive\n\n6. **browse_noise** — Browsing history noise injection (open decoy URLs across diverse categories to dilute browsing profiles)\n7. **email_noise** — Newsletter subscription noise (subscribe to diverse mailing lists to poison email interest profiles)\n\n### Platform-specific\n\n8. **linkedin** — LinkedIn privacy checklist (visibility settings, activity broadcasts, ad targeting, third-party data sharing)\n\n### Cross-cutting\n\n9. **summary** — Cross-module correlation insights (connect dots across modules: \"DNS leaks + unique fingerprint = identifiable even with VPN\")\n10. **export** — Data portability and trending (structured JSON/CSV export, score diffing over time, periodic re-audit)\n\n### Enhancements to existing modules\n\n- **cookies** — Add localStorage/sessionStorage audit (Firefox `webappsstore.sqlite`, Chrome `Local Storage/leveldb/`) and evercookie detection (cross-reference tracker IDs across cookies, localStorage, IndexedDB)\n- **fingerprint** — ~~Add advertising ID check~~ (now covered by dedicated `ad_tracking` module)\n- **ssh** — Add post-quantum readiness check (flag RSA/ECDSA keys vulnerable to quantum computing, recommend Ed25519 or PQ algorithms)\n- **certificates** — Add post-quantum cipher suite audit (flag TLS configs using quantum-vulnerable crypto, check GPG key types)\n- **dns** — Flag PRISM-adjacent DNS resolvers (Google DNS 8.8.8.8, OpenDNS 208.67.222.222) and recommend privacy-focused alternatives (dnscrypt-proxy, Mullvad DNS)\n- **email** — Flag messages routed through PRISM-participating servers (Gmail, Outlook, Yahoo) based on Received headers; add IMAP cloud scanning (connect to Gmail/Outlook/any provider via IMAP to scan for tracking pixels without exporting .eml files — read-only, credentials in system keyring)\n- **metadata** — Flag GPS/location EXIF data as high-risk for aggregation (photo location + timestamp = movement pattern for Palantir-style systems)\n\n### Research references\n\nSources informing the roadmap — academic papers, government reports, and institutional research:\n\n**Secrets \u0026 credentials**\n- [GitGuardian — State of Secrets Sprawl 2024](https://www.gitguardian.com/state-of-secrets-sprawl-report-2024) — 12.8M secrets leaked on GitHub in 2023 (+28% YoY); 39M in 2024\n- [GitHub Blog — 39M secret leaks in 2024](https://github.blog/security/application-security/next-evolution-github-advanced-security/)\n\n**SSH \u0026 cryptography**\n- [NIST IR 7966 — Security of Interactive and Automated Access Management Using SSH](https://nvlpubs.nist.gov/nistpubs/ir/2015/nist.ir.7966.pdf)\n- [NIST SP 800-57 — Recommendation for Key Management](https://nvlpubs.nist.gov/nistpubs/specialpublications/nist.sp.800-57pt1r5.pdf)\n\n**Post-quantum**\n- [NIST — First 3 Finalized Post-Quantum Encryption Standards (2024)](https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards) — FIPS 203/204/205\n- [NIST IR 8547 — Transition to Post-Quantum Cryptography Standards](https://csrc.nist.gov/pubs/ir/8547/ipd)\n\n**Machine identity security**\n- [CyberArk — State of Machine Identity Security 2025](https://www.cyberark.com/) — 50% of orgs reported machine identity breaches; 72% had certificate-related outages\n\n**Browser tracking \u0026 fingerprinting**\n- [Acar et al. — The Web Never Forgets: Persistent Tracking Mechanisms in the Wild (ACM CCS 2014)](https://dl.acm.org/doi/10.1145/2660267.2660347) — first large-scale study of canvas fingerprinting, evercookies, cookie syncing\n- [W3C — Mitigating Browser Fingerprinting in Web Specifications](https://w3c.github.io/fingerprinting-guidance/)\n- [Kohli et al. — Guarding Digital Privacy: Exploring User Profiling and Security Enhancements (arXiv:2504.07107)](https://arxiv.org/abs/2504.07107) — survey of user profiling techniques, data broker pipelines, PII leakage in mobile apps\n\n**Wi-Fi \u0026 location tracking**\n- [Matte et al. — Wi-Fi Probe Requests and Location Privacy](https://www.researchgate.net/publication/334890866) — SSIDs in probe requests leak names, locations, travel history\n- [Nature Scientific Reports — Compromising Location Privacy Through Wi-Fi RSSI Tracking (2025)](https://www.nature.com/articles/s41598-025-22799-1)\n\n**Clipboard privacy**\n- [Mysk — KlipboardSpy: iOS Clipboard Access PoC](https://www.mysk.blog/) — demonstrated 54 iOS apps (including TikTok) reading clipboard without consent\n- [Sophos — iOS 14 Flags TikTok and 53 Other Apps Spying on Clipboards](https://news.sophos.com/en-us/2020/06/30/ios-14-flags-tiktok-53-other-apps-spying-on-iphone-clipboards/)\n\n**macOS permissions (TCC)**\n- [SentinelOne — Bypassing macOS TCC User Privacy Protections](https://www.sentinelone.com/labs/bypassing-macos-tcc-user-privacy-protections-by-accident-and-design/)\n- [MITRE ATT\u0026CK T1548.006 — TCC Manipulation](https://attack.mitre.org/techniques/T1548/006/)\n\n**Network exposure (mDNS)**\n- [Fingerprint.com — Brute-Forcing a macOS User's Real Name via mDNS](https://fingerprint.com/blog/apple-macos-mdns-brute-force/)\n\n**BLE tracking**\n- [MDPI — Digital Advertising and Customer Movement Analysis Using BLE Beacon Technology in Retail](https://www.mdpi.com/0718-1876/20/2/55)\n\n**Data brokers**\n- [FTC — Data Brokers: A Call for Transparency and Accountability (2014)](https://www.ftc.gov/system/files/documents/reports/data-brokers-call-transparency-accountability-report-federal-trade-commission-may-2014/140527databrokerreport.pdf) — study of 9 major data brokers (Acxiom, Datalogix, Experian, etc.)\n- [Duke University Tech Policy — Data Brokers and Sensitive Data on U.S. Individuals](https://techpolicy.sanford.duke.edu/report-data-brokers-and-sensitive-data-on-u-s-individuals/)\n\n**PRISM \u0026 mass surveillance**\n- [EFF — Upstream vs. PRISM](https://www.eff.org/pages/upstream-prism)\n- [ACLU — NSA Dragnet Searches of Communications](https://www.aclu.org/news/national-security/guide-what-we-now-know-about-nsas-dragnet-searches-your)\n- [Brookings Institution — Beyond Snowden: Privacy, Mass Surveillance, and the Struggle to Reform the NSA](https://www.brookings.edu/wp-content/uploads/2016/09/chapter-one_-beyond-snowden-9780815730644.pdf)\n- [PRISM Break — Opt Out of Global Surveillance Programs](https://prism-break.org/)\n\n**Palantir \u0026 aggregation platforms**\n- [Parsons — The Seer and the Seen: Surveying Palantir's Surveillance Platform (Information Society, 2022)](https://www.tandfonline.com/doi/full/10.1080/01972243.2022.2100851) — computational analysis of 155 Palantir surveillance patents\n- [The Intercept — How Palantir Helped the NSA Spy on the Whole World (2017)](https://theintercept.com/2017/02/22/how-peter-thiels-palantir-helped-the-nsa-spy-on-the-whole-world/)\n- [Vice — Palantir's Top-Secret User Manual for Cops (2019)](https://www.vice.com/en/article/revealed-this-is-palantirs-top-secret-user-manual-for-cops/)\n\n**ALPR / license plate surveillance**\n- [EFF — Automated License Plate Readers (ALPR)](https://www.eff.org/cases/automated-license-plate-readers)\n- [Brennan Center for Justice — ALPR: Legal Status and Policy Recommendations](https://www.brennancenter.org/our-work/research-reports/automatic-license-plate-readers-legal-status-and-policy-recommendations)\n- [ACLU — Automatic License Plate Readers](https://www.aclu.org/issues/privacy-technology/location-tracking/automatic-license-plate-readers)\n\n## Contributing\n\nEach module implements the `Module` trait in its own directory under `crates/dtm-modules/src/`:\n\n1. Create `crates/dtm-modules/src/\u003cname\u003e/mod.rs` with a struct implementing `Module`\n2. Add `auditor.rs` with audit/protect logic\n3. Register the module in the `AnyModule` enum in `crates/dtm-core/src/module_trait.rs`\n4. Add educational content in `shared/content/\u003cname\u003e.md`\n5. Add module weight in `shared/schema/scoring.yaml`\n6. Add inline tests in `#[cfg(test)] mod tests` blocks\n\n## License\n\nAll rights reserved. This code is provided for educational purposes only.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbendns%2Fdont-track-me","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbendns%2Fdont-track-me","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbendns%2Fdont-track-me/lists"}