Skip to content

Repository files navigation



BuildPlatform.NET 9LicensePRs

A Windows desktop privacy X-ray
See what sites really do: trackers, fingerprinting, and GDPR-style audits.
Inspect. Document. Audit.



Privacy Monitor is a diagnostic browser built with WPF and WebView2. Use it when you want to inspect, document, or audit what a site is doing behind the scenes — which trackers load, what data is sent, which cookies and identifiers are set — while you keep using your normal browser day to day.

This repo includes the Privacy Monitor app, the browser-update-server (Node) for updates and optional 2FA, and scripts to build and deploy.


Features

AreaDescription
BrowseChrome-style tabs, address bar, back/forward/reload. Each tab uses Chromium (WebView2). Downloads go to your Downloads folder.
Privacy score0-100 score per page with a letter grade (A/B/C/D/F). Fewer trackers and risks = higher score.
Tracker detectionDatabase of ~220 known services (Google, Meta, Adobe, Hotjar, Segment, etc.). First-party, third-party, and known-tracker classification with confidence.
Protection modesMonitor Only (log only), Block Known (confirmed trackers), Aggressive (known + heuristic). Per-site.
Anti-fingerprintingOptional script injection to reduce canvas/WebGL/audio fingerprinting; attempts reported in the sidebar.
Sidebar panelsDashboard, Network, Storage, Fingerprint, Security (headers audit), Report (HTML/CSV, screenshot), Forensics (identity stitching, data flow, timeline).
Network interceptorLive request inspection, pause/resume (Burp-style), replay with optional header/body modification, risk scoring, session export.
ReportsTimestamped HTML audit (score, GDPR articles, trackers, cookies, security headers, recommendations). CSV export and screenshot.
Update serverNode server for in-app updates and optional 2FA.

Who it is for

  • Privacy-conscious users — See how specific sites track you.
  • Developers & QA — Test how your site behaves (requests, cookies, storage, fingerprinting, security headers).
  • Privacy & compliance — Repeatable, documented evidence for GDPR-style audits (HTML/CSV reports, timelines).

Quick start

git clone https://github.com/NullSec8/PrivacyMonitor.git
cd PrivacyMonitor
.\update-all.ps1
dotnet run --project wpf-browser\PrivacyMonitor.csproj

Requirements

  • Windows 10/11 (64-bit)
  • .NET 9 SDK (for building)
  • WebView2 RuntimeDownload if not already installed with Windows or Edge

Repository structure

.github/
workflows/ci.yml # CI: build WPF, extension rules
ISSUE_TEMPLATE/ # Bug report, feature request
wpf-browser/ # Privacy Monitor (WPF + WebView2)
PrivacyMonitor.csproj
MainWindow.xaml(.cs), BrowserTab.cs, PrivacyEngine.cs, ...
NetworkInterceptor/ # Live interceptor, replay, risk scoring, export
chrome-extension/ # Optional extension
website/ # Generated site
browser-update-server/ # Node update server
server/
builds/
update-all.ps1 # Restore packages & build
PROJECT_STRUCTURE.md
DEPLOYMENT.md

Tech stack


Documentation

DocumentDescription
PROJECT_STRUCTURE.mdFolder layout and organization
DEPLOYMENT.mdGitHub push instructions
NetworkInterceptor/ARCHITECTURE.mdInterceptor, replay, pause/resume, export
SIGNING.mdCode signing for distribution

Deployment

  • GitHub:git add -A, git commit -m "...", git push. See DEPLOYMENT.md.

API Reference

The update server provides these endpoints:

MethodPathDescription
GET/api/latestReturns latest version info (JSON)
GET/api/download/:version?platform=win64Download build. version can be latest or e.g. 1.0.0; platform optional (win64, linux64, mac).
POST/api/install-logLog an install. Body: { "version": "1.0.0", "platform": "win64", "clientId": "optional" }
POST/api/usageAnonymous usage data (version, OS, protection level)
GET/healthHealth check
POST/api/loginAdmin login (username/password)
POST/api/logoutAdmin logout
GET/api/logsAdmin only: view logs (requires session)
GET/api/2fa/statusCheck 2FA status
GET/api/2fa/setupStart 2FA setup (QR code)
POST/api/2fa/setupComplete 2FA setup
POST/api/2fa/disableDisable 2FA

Rate Limits:

  • Login: 5 attempts per 15 minutes per IP
  • Log ingestion: 120 requests per 15 minutes per IP
  • Logs API: 100 requests per 15 minutes per IP

Architecture

┌─────────────────────────────────────────────────────────────────┐
│ Privacy Monitor System │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────┐ ┌─────────────────────────────┐ │
│ │ WPF Desktop App │ │ Node Update Server │ │
│ │ (Privacy Monitor) │ │ (browser-update-server) │ │
│ │ │ │ │ │
│ │ • WebView2 tabs │ │ • Express.js │ │
│ │ • Privacy engine │◄──►│ • REST API │ │
│ │ • Tracker blocking │ │ • Admin panel (2FA) │ │
│ │ • Reports │ │ • Build hosting │ │
│ │ • Network monitor │ │ • Usage analytics │ │
│ └─────────────────────┘ └─────────────────────────────┘ │
│ │ │ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────────────┐ ┌─────────────────────────────┐ │
│ │ Chrome Extension │ │ Website (static) │ │
│ │ (Optional) │ │ index.html │ │
│ │ • Tracker blocking │ │ features.html │ │
│ │ • Privacy scores │ │ download.html │ │
│ │ • Cosmetic filter │ │ admin.html │ │
│ └─────────────────────┘ └─────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

Data Flow:

  1. User browses in WPF app or Chrome extension
  2. Privacy engine analyzes requests, blocks trackers, scores pages
  3. Network interceptor logs all requests for inspection
  4. Reports generated (HTML/CSV) for GDPR compliance
  5. Optional: App checks for updates via Node server
  6. Optional: Anonymous usage data sent (if user allows)

License

MIT — see LICENSE for details.


About

WPF WebView2 privacy browser with tracker detection and blocking

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages