CTIPilot
AI-generated · no human review · verify critical claims against the linked source. how it works →

DataBreaches.net

databreaches-net · C · active

https://databreaches.net/

breachesransomwarelang: enfetch failures: 0quiet periods: 0last fetch: 2026-11-03

Long-running independent breach tracker run by Dissent Doe; primary aggregator for breach disclosures (often the first to publish state AG breach-notification filings, hospital/clinic disclosures, education-sector incidents). WebFetch returns HTTP 403 (re-confirmed 2026-05-08; RSS at /feed/ also 403's). REQUIRED FETCH METHOD: `python3 tools/fetch_source.py url https://databreaches.net/` (host added to bridge allowlist 2026-05-08). NB: the bridge ALSO returns 403 from some egress IPs (the publisher's WAF appears to have IP-reputation rules in addition to UA filtering). If the bridge fails, surface as a coverage gap rather than retrying. Discovery layer: trace each breach back to the victim's own statement or regulator filing before citing. |. Sustained 403 = transport block, no demote; needs alternate-URL strategy or replacement. | 2026-06-20 full audit (v2.62): RECOVERED via the Chrome-138 UA + Sec-CH-UA client hints. FETCH → `feed https://databreaches.net/feed/` returns 200 with dated breach disclosures (the HTML homepage is still 403, skip it). Discovery: trace each breach to the victim statement / regulator filing before citing. fetch_method bridge→rss; +ransomware. | 2026-06-20 v2.64 fetch-waste review: KEPT; the /feed/ RSS carries ~1.4 KB article bodies per item (readable without drilling). Confirmed full-content feed. | 2026-07-05 admiralty audit: C (was HIGH), discovery/aggregation layer with some original reporting; trace each breach to victim statement/regulator filing before citing. Live via /feed/, no change (active). | 2026-08-13: RECIPE: individual article URLs 403 on raw WebFetch; use `fetch_source.py feed` for the listing and `fetch_source.py url` for article bodies (auto-falls back to the reader, which succeeded on every article this run). | 2026-09-29: rss_url pinned to https://databreaches.net/feed/ (fetch_method is rss but the feed lived only in the notes, so it never reached the research slice). (2026-09-29 operator-directed setup review) | 2026-10-15 (S4): `feed` and `extract` work; `extract` is served through the reader fallback, and WebFetch on posts returns 403. | 2026-10-17 (2026-10-17T0256Z-intel): S4: extract of a post is served through the metered reader; the feed carries enough for triage. | 2026-10-18 (S4): `extract` of a post is served through the metered reader; the feed carries enough for triage. | 2026-10-19 intel run S4: `extract` of a databreaches.net post is served through the metered jina reader and `extract` of politico.com returns only a navigation shell; the feed summary carries enough for triage, avoid extract on both. | 2026-10-22 (S4): `feed https://databreaches.net/feed/ 25` timed out twice; WebFetch of the feed URL returned all 10 current items; then `extract` a post (served through the metered reader). | 2026-10-23 (S4): recipe changed: the feed 404s and the homepage answers 403 on direct and WebFetch; only the jina reader on the homepage worked (six posts with permalinks), which spends reader credit. | 2026-10-24 (S4): `extract https://databreaches.net/` falls back internally to the jina reader (reader credit spent) and returned a cached homepage whose newest posts are dated 2026-10-20 although the header says 2026-10-24; the feed 404s per the record's note. No cheap transport exists; treat the source as low-yield for the 26 h window. | 2026-10-25 (S4): `fetch_source.py feed https://databreaches.net/feed/ 15` now works on the direct transport (10 items, newest 2026-10-20); use the feed first; the source is low-yield. | 2026-10-28 (S4): the feed timed out twice on 2026-10-28; `extract https://databreaches.net/` reads the front page.

Cited in 8 entries

Citation cadence

Citation days per ISO week (12 weeks of coverage span, total 7).