A browser extension + AI-powered dashboard for detecting, analyzing, and blocking web tracking domains.
Privacy Shield monitors tracking domains on the web and provides security insights:
- Browser Extension - Detects trackers in real-time as you browse the web
- Analytics Dashboard - Visualizes tracking data with trends and breakdowns
- AI Security Analysis - Google Gemini API analyzes your browsing data to generate a security score and identify risky websites
- Email-Based Data Isolation - Each user's tracking data is securely isolated by email (Auth0 OAuth)
- Overview Page - KPI cards showing total trackers, unique sites, events
- Trends Page - Tracker history over 7 days, 30 days, or 6 months
- Breakdown Page - Top trackers by initiator/domain, organized by company
- Security Report - AI-powered analysis with:
- Overall security score (0-100)
- Top 3 least secure websites
- Per-domain security scoring with reasons
- Real-time Extension - Detects and blocks trackers while you browse
- Blocklist Management - Add/remove domains from your personal blocklist
- Node.js 16+, Python 3.9+
- Snowflake credentials (provided in
.env) - Auth0 credentials (provided in
.env) - Google Gemini API key (provided in
.env)
Terminal 1 - Frontend (React Dashboard):
npm install
npm run dev
# Opens http://localhost:5173Terminal 2 - Backend (FastAPI):
cd tracker-project
python -m venv env
source env/bin/activate # Windows: env\Scripts\activate
pip install -r requirements.txt
python -m uvicorn api:app --reload --port 8000Load Extension in Chrome:
- Go to
chrome://extensions - Enable "Developer mode" (top right)
- Click "Load unpacked"
- Select the
extension/folder from this repo
- Open the extension popup (click extension icon)
- Login with any email (uses Auth0 demo account)
- Open dashboard at
http://localhost:5173/app/overview - See real tracking data from Snowflake
- Click "Security Report" tab to see AI analysis from Gemini API
Browser Extension โ FastAPI Backend โ Snowflake Database
โ โ โ
Detect trackers Process/store data Query & aggregate
Block domains Enrich with DuckDuckGo (Email-scoped)
Sync blocklist Call Gemini AI
โ
React Dashboard
(4 pages of insights)
| Layer | Technology |
|---|---|
| Frontend | React 18 + TypeScript + Vite + Tailwind CSS + Recharts |
| Backend | FastAPI + Python 3.9 |
| Database | Snowflake (cloud data warehouse) |
| Auth | Auth0 (OAuth2) |
| AI | Google Generative AI (Gemini Flash Lite) |
| Extension | Chrome Manifest V3 + JavaScript |
- Total events, unique sites, trackers, cookies (KPI cards)
- 7-day event timeline with real data (filled dots) and demo data (lines)
- Tracker categories by count (bar chart)
- Top 5 trackers by initiator (table)
- Top 5 trackers by domain (table)
- Company-grouped accordion view
- Full tracker search/filter table
- 7-day, 30-day, or 6-month tracking history
- Separate lines for trackers vs cookies
- Dummy data fills gaps for visualization
- Real data marked with filled dots
- Date Picker - Select analysis period (default: last 7 days)
- Security Score - Ring gauge showing 0-100 score with AI analysis
- Top 3 Least Secure Sites - Bar chart of riskiest websites
- Domain Scores - All detected domains with individual security scores
All endpoints accept email parameter for data filtering:
GET /api/overview?email=...โ Overview stats + chartsGET /api/trends?email=...&days=7|30|180โ Tracking trendsGET /api/breakdown?email=...โ Tracker breakdownGET /api/security-report?email=...&start_date=YYYY-MM-DDโ AI security analysis
Snowflake URL_DATA table:
- Stores detected trackers with domain, company, category, initiator, hit count
- Filtered by
EMAIL_IDso each user only sees their data - Automatically enriched with company info via DuckDuckGo tracker database
- Cyberpunk Theme - Dark mode with cyan/green accents
- Real vs Demo Data - Filled dots = real data, lines = demo data (for demo purposes)
- Responsive UI - Works on desktop browsers
- Animated Transitions - Smooth entrance animations for panels
- Email-Scoped Data - Each user's tracking data isolated by email in Snowflake
- Auth0 OAuth - Secure authentication, no passwords stored
- Client-Side Filtering - Extension only sends necessary tracker data
- No Cookie Tracking - This demo doesn't collect cookies (permission limitations)
macathon/
โโโ src/ # React Dashboard
โ โโโ pages/ # 4 main pages (Overview, Breakdown, Trends, Security)
โ โโโ components/ # Reusable UI components
โ โโโ hooks/ # Auth0 integration
โ โโโ layout/ # Navigation & header
โโโ extension/ # Chrome Extension
โ โโโ popup/ # Extension popup UI
โ โโโ manifest.json # Extension configuration
โโโ tracker-project/ # FastAPI Backend
โโโ api.py # REST endpoints + Gemini integration
โโโ snowflake_db.py # Database queries
โโโ requirements.txt # Python dependencies
- โ Full-Stack Application - Frontend, backend, database, extension
- โ Real Data Integration - Snowflake cloud database with actual tracking data
- โ AI/ML Component - Google Gemini API for security analysis
- โ User Authentication - Auth0 OAuth with email-based data filtering
- โ Browser Extension - Real-time tracker detection
- โ Data Visualization - Interactive charts with Recharts
- โ Responsive Design - Clean, modern UI with Tailwind CSS
After startup (npm run dev + python -m uvicorn ...):
- Open Extension (
chrome://extensionsโ Load unpacked โ selectextension/) - Login - Any email works (demo Auth0 account)
- View Dashboard - http://localhost:5173/app/overview
- See KPI cards with real Snowflake data
- 7-day chart with real data points marked as dots
- Check Breakdown - Top trackers by initiator/domain
- View Trends - Switch between 7d/30d/6m views
- Try Security Report - Pick a date, get AI analysis with Gemini API
- Overall security score
- Top 3 least secure websites
- All domains with individual scores
- Multi-layer Architecture - Extension โ API โ Snowflake โ AI โ Dashboard
- Real Data - Using actual tracking data from Snowflake database
- AI Integration - Google Gemini API analyzes security patterns
- User Isolation - Each user only sees their own data via email scoping
- Professional UX - Polished dashboard with charts, filters, and navigation
- Production Ready - Error handling, loading states, responsive design
All credentials are in .env files (pre-filled for demo):
- Frontend -
.env(Auth0, API URL) - Backend -
tracker-project/.env(Snowflake, Gemini API key)
No additional setup needed beyond npm install + pip install -r requirements.txt
Version: 0.2.0 Hackathon: Macathon 2026 GitHub: https://github.com/r05200/macathon