Patch is a Chrome browser extension and Node.js backend service that work together to detect and highlight deceptive design patterns ("dark patterns") on websites, helping protect users from manipulative UI/UX tactics.
- Urgency – Artificial or exaggerated time pressure.
- Scarcity – False or exaggerated limited stock claims.
- Confirmshaming – Emotionally manipulative decline options.
- Hidden Costs – Undisclosed or obscured fees.
- Fake Social Proof – Fabricated popularity indicators.
- Trick Wording – Confusing double negatives.
- Nagging – Persistent interruptions.
- Hidden Subscription – Unclear recurring billing.
- Preselection – Pre-checked marketing opt-ins.
- Visual Interference – Less visible decline options.
This repository is a pnpm workspace with three packages:
- extension: Chrome extension (MV3)
- backend: Express.js API (LLM-based analysis)
- shared: Shared TypeScript schemas & types
- Click the extension icon to open the popup.
- Auto-scan – When no patterns are detected yet, opening the panel starts a scan automatically; use the header refresh control to rescan.
- View Results – See detected patterns with severity levels.
- Filter Patterns – Filter by severity or category.
- Click a pattern – View detailed explanation and suggested actions.
- Hide Pattern – Remove the pattern element from the page.
- Submit Feedback – Report false positives or missed patterns.
- Toggle Detection – Disable/enable detection for specific domains.
Demo pages under extension/demo/ provide reproducible pages with known dark patterns:
dark-patterns.html– Comprehensive test page with various patterns.marketplace.html– E-commerce simulation.signup.html– Sign-up flow with dark patterns.
For more detailed information on how to use the extension, see the User Manual.
See CONTRIBUTING.MD for more information on how to set up a local development environment and contribute to the project.