# FightCSAM - [FightCSAM](/docs): Open-source tools to detect, report, and prevent CSAM — for developers and their coding agents. - [Coding-agent skill](/docs/skill): A Claude Agent Skill that teaches your coding agent to wire CSAM safety with the FightCSAM tools and the right ecosystem tools — correct installs, gates honored. - **Detect** - [hashkit](/docs/hashkit): PDQ and TMK+PDQF perceptual hashing with NCMEC-verified conformance vectors so every language produces the same hash. - [hashkit-match](/docs/hashkit-match): An in-memory multi-index Hamming matcher for finding near-duplicate PDQ hashes against a known hash set. - [csam-shield](/docs/csam-shield): CSAM-detection middleware that normalizes multiple detectors behind one match/nomatch/pending interface for Node and Python upload pipelines. - [hashstream](/docs/hashstream): Distributes and syncs signed, versioned hash-list snapshots so platforms can mirror and audit the CSAM hash lists they screen against. - **Report & preserve** - [cybertip-cli](/docs/cybertip-cli): A CLI and library for filing NCMEC CyberTipline reports under 18 U.S.C. §2258A, with Node and Python bindings. - [evidencevault](/docs/evidencevault): A self-hosted Go service that preserves CSAM-report evidence with chain-of-custody and jurisdiction-aware retention. - **Prevent (AI generation)** - [promptshield](/docs/promptshield): Screens text prompts for CSAM-generation intent before they reach an image or video model. - [trainguard](/docs/trainguard): Screens AI training datasets against known-bad CSAM hash lists before fitting starts, emitting a signed compliance report. - **Provenance & care** - [c2pa-lite](/docs/c2pa-lite): Attaches signed C2PA content credentials to AI-generated images and video so their provenance travels with the file. - [safemod](/docs/safemod): A privacy-preserving moderator-wellbeing layer with blur-by-default rendering, exposure limits, and k-anonymous signals. - **Verify** - [detectkit-test](/docs/detectkit-test): Synthetic, CSAM-free test fixtures and a false-positive harness for exercising detection pipelines in CI. - **Ecosystem** - [Overview](/docs/ecosystem): A map of the open-source online-safety landscape, with our verdict on how each project fits a CSAM-safety pipeline. - [Perceptual hashing & matching](/docs/ecosystem/perceptual-hashing): Image and video perceptual hashing and matching — the axis hashkit, hashkit-match, and csam-shield build on. Meta’s PDQ / TMK / vPDQ are upstream of o - [Classifiers & AI-safety models](/docs/ecosystem/classifiers): ML classifiers and LLM guardrails. FightCSAM ships no general model — csam-shield is built to wrap the best of these as swappable detector backends, a - [Rules, decisioning & clustering](/docs/ecosystem/rules-decisioning): Rules engines and decisioning. FightCSAM does not build a rules engine — we ship engines that feed yours. ROOST Osprey is the one we recommend and tar - [Infrastructure, queues & review](/docs/ecosystem/infrastructure-review): Queues, abuse-management plumbing, and moderator review surfaces to depend on rather than rebuild. - [Red-teaming & evaluation](/docs/ecosystem/red-teaming): Adversarial testing harnesses. We recommend pairing promptshield with one of these, and plan to contribute the CSAM-intent probes the generalist harne - [Privacy & user-safety](/docs/ecosystem/privacy-user-safety): PII detection and end-user / community-governance tooling. We wrap Presidio for PII in trainguard; most user-safety tools sit adjacent to a CSAM-detec - [Investigation & signal-sharing](/docs/ecosystem/investigation): Threat-signal sharing and investigation tooling. Meta ThreatExchange / python-threatexchange set the bar for hashstream; disinformation and platform-o - [Decentralized & Fediverse](/docs/ecosystem/decentralized-fediverse): AT-Protocol and Fediverse moderation — FightCSAM’s #1 target. Our planned Bluesky adapter fills the perceptual-hash gap in hepa and emits to Ozone. - [Datasets & benchmarks](/docs/ecosystem/datasets): Training and evaluation datasets. We anchor promptshield’s evaluation to NVIDIA Aegis 2.0 and borrow Tattle / Uli annotation methodology; the rest are