Darkwatch
Dark web exposure monitor

Know the moment your name shows up where it shouldn't.

Darkwatch watches ransomware leak sites, onion services, infostealer logs, breach and paste data, and public Telegram channels for the people and companies you're authorised to protect — scores every hit, remembers what it already told you, and says what to do about it. It only reads, and it runs on your own machine.

irm https://raw.githubusercontent.com/Daemon-VI/darkwatch/main/install.ps1 | iex
Then darkwatch setup to choose who to watch, and darkwatch run.
What it does

One watchlist, three ways to work

List the identifiers you want protected — names, emails, phone numbers, domains, usernames. Darkwatch checks them everywhere below, de-duplicates in a local database, and writes a report with an action for every finding.

Command line

Run scans, search stored findings, or investigate a one-off value across the live sources. A daily scheduled scan alerts you to anything new by desktop toast or phone push.

Local dashboard

Keyword search, charts, triage in place, live scans over server-sent events. Loopback-only with a per-session token — it shows your data and never leaves your machine.

VS Code extension

A findings tree by severity, scans and search from the command palette, triage from a finding's menu. On the Marketplace and Open VSX.

Coverage

Ten sources. Nine need no key.

Everything is read-only and matched locally against your watchlist. A deep scan widens the reach further — every Telegram channel, more onion pages, links followed into matching sites.

leaksitesEvery ransomware-gang leak-site post, via ransomware.live & RansomLook.
recentattacksReported incidents, gang-claimed or not, before a leak-site post exists.
stealersInfostealer-infected machines that saved your credentials (Hudson Rock).
leakcheckWhich breaches hold each email or username, and what leaked.
xposedornotBreach and paste exposure per email, and breaches of a watched domain.
hibpHave I Been Pwned — domain breaches free, per-email with a key.
sites24 public profile sites carrying a watched username, checked in parallel.
telegram~940 public threat-actor & infostealer channels, read with no login.
ahmiaAhmia's onion index, searched over Tor, then the onion pages themselves.
seedsOnion or clearnet pages you choose, same-host links one level deep.
CRITICALHIGHMEDIUMLOW Every hit is scored on what surrounds it — credentials, financial, government-ID, sale, doxxing, access — and the score is explained.
Responsible by design

What it will, and won't, do

Darkwatch is a defensive tool. The lines below are enforced in code, not just documented.

Reads only

It never logs in, joins, posts, buys, or downloads files. Onion pages are fetched as text; it keeps a URL, a title, times and a short snippet — never a copy of a leak site.

Never blind-crawls

Onion discovery goes through Ahmia's abuse filter, and links are followed only out of pages that already mention a watched identifier — so it never wanders an unfiltered index.

No logins, no CAPTCHAs

Account-walled forums and markets are out of scope on purpose: there is no read-only way in, and creating accounts is not what a monitor should do.

Your data stays yours

The watchlist and findings live on your machine. The dashboard binds to localhost with a token; phone pushes are redacted to counts. Monitor only identifiers you own or are authorised to.

Get started

Install in one line

The installer sets up uv if you don't have it, installs the latest release as the darkwatch command, and adds the VS Code extension when code is on your PATH.

Windows (PowerShell)

irm https://raw.githubusercontent.com/Daemon-VI/darkwatch/main/install.ps1 | iex

macOS / Linux

curl -LsSf https://raw.githubusercontent.com/Daemon-VI/darkwatch/main/install.sh | sh

Python package

uv tool install darkwatch

On PyPI. Or pipx install darkwatch.

Docker

docker run --rm ghcr.io/daemon-vi/darkwatch --help

Image on the GitHub Container Registry.

Then darkwatch setupdarkwatch rundarkwatch web. Full documentation is in the README.