PRODAFT — Reports
prodaft · B · active
https://www.prodaft.com/reports
Swiss-Turkish CTI firm; reports index. WebFetch returns HTTP 403 (re-confirmed 2026-05-08). REQUIRED FETCH METHOD: `python3 tools/fetch_source.py url https://www.prodaft.com/reports`. | 2026-06-20 full audit (v2.62): RECOVERED via the Chrome-138 UA. FETCH → `url https://www.prodaft.com/reports` (research reports) and `url https://www.prodaft.com/resources` both return 200; drill /blog/<slug>. WebFetch still 403 — use the bridge. url updated /reports; fetch_method stays bridge. | 2026-07-05 admiralty audit: B (HIGH->B) status active->active — independent CTI research lab, original threat-actor research; host live via bridge but SPA index needs a known /blog/<slug> to drill (could not auto-extract a dated report). Not a demotion. | 2026-07-30: fetch_method bridge -> jina. S2 reached https://www.prodaft.com/reports with HTTP 200 but the body is a pure client-hydrated Next.js shell with no server-rendered listing and no embedded JSON island carrying report titles/slugs/dates, so no dated report can be extracted without already knowing a /blog/<slug>. Switching fetch_method to jina, which renders page JS server-side and resolves exactly this class of SPA index. Transport block, not source death — no demotion (HTTP 200 throughout). | 2026-08-04 run: FETCH NOTE — the jina reader now hydrates https://www.prodaft.com/reports and returns real report titles/summaries (superseding the earlier "pure client shell" note), but the listing renders NO publication dates for any report, so recency cannot be established from it. Per-report dates require drilling /report/<slug> individually. | 2026-08-06: jina fetch of /reports succeeded and returned a hydrated listing; no in-window report published, so this is a genuine quiet period rather than a transport failure.
Cited in 0 entries
Not cited in any entry yet.