Catalog npm
PACKAGE EXPLORERView in registry

4allhuman

npm

Protect any creator's content from AI training in 60 seconds: scan, generate opt-outs (robots.txt, ai.txt, meta tags, EU Art.4(3) reservation), and sign content with provenance.

Versions collected3
Direct dependencies7From release 0.1.2
Last observed20 Oct, 20:04 UTC

README

Current package documentation

🛡️ Don't Train On Me

Protect any creator's content from AI training in 60 seconds.

Paste your domain → get a protection score → receive ready-to-deploy opt-out artifacts:

  1. robots.txt section blocking 170+ known AI crawlers (GPTBot, ClaudeBot, Google-Extended, CCBot, Bytespider…) — doubling as a machine-readable EU DSM Directive Art. 4(3) rights reservation
  2. /ai.txt — Spawning-spec machine-readable access policy
  3. <meta name="robots" content="noai, noimageai"> tags for every page head
  4. Legal notice of reserved rights
  • EU DSM Directive Art. 4(3): creators may expressly reserve their content from text-and-data-mining "in an appropriate manner, such as machine-readable means."
  • EU AI Act Art. 53(1)(c): GPAI providers must identify and comply with those reservations — honoring this output is a regulatory obligation for them.
  • US: no opt-out statute; fair use is uncertain (USCO Part 3 report). Blocking crawlers + keeping content behind access control is currently the strongest lever.

Research notes:

What this can and cannot guarantee

No tool can make already-public content untrainable. Anyone can download what anyone can read. Our artifacts are signals + legal reservations, not force fields:

LevelMechanismStrength
Never expose itLogin/paywall/app✅ True guarantee — unfetched bytes can't be trained on
Legal reservation (EU)robots.txt Art. 4(3) statement⚠️ Doesn't prevent copying; makes it infringing for EU-regulated GPAI providers
ContractNo-training terms on private sharing⚠️ After-the-fact claim
Public + signals onlyrobots.txt alone, no jurisdiction❌ Honor system

This tool sits in rows 2–3: it measures exposure, perfects the strongest legal lever available, and verifies deployment. For a true guarantee, keep content behind access control.

See research/protecting-human-content-from-ai-training.md for sources.

Design principles (first-principles trust)

The product reduces an information asymmetry between creators and AI trainers. Trust follows from three commitments baked into the UI:

  1. Verifiability over assertion — every scan result links to the raw evidence (the live robots.txt we read), with a UTC timestamp. Users can re-do any check by hand.
  2. Honest limits, stated up front — the "What this can / cannot do" module says plainly: signals bind compliant crawlers only; we cannot audit what a model was trained on; access control is the only complete protection. Overclaiming is the fastest way to lose trust.
  3. No black boxes — fixed, published score weights; no accounts; nothing stored; open-source methodology.

Visual language follows Teenage Engineering's industrial design: flat panels, hard edges, warm-grey chassis, signature orange accents, monospace labels, LED status indicators, numbered modules — instruments, not marketing.

CLI

Run the same audit from your terminal or CI - no config, zero dependencies:

npx 4allhuman audit example.com
npx 4allhuman audit example.com [--json] [--fail-below <0-100>] [--timeout <ms>]

  --json                Machine-readable report (all layers, verdicts, score).
  --fail-below <0-100>  Exit 1 when the score is below this threshold (CI gate).
  --timeout <ms>        Per-request timeout (default 8000).

The report prints one plain-language verdict per layer (PROTECTED / PARTIAL / MISSING / NOTE) with the evidence behind it, then the total score out of 100.

Exit codes: 0 audit ran and meets --fail-below (if given) · 1 score below --fail-below · 2 usage error or the site could not be reached.

Runs directly from TypeScript via Node's type stripping - requires Node >= 22.18. The CLI and the web app share the exact same audit engine (src/lib/scanner.ts + src/lib/layers.ts), so a terminal score always matches a web score.

Run it

npm install
npm run dev        # http://localhost:3000
npm run update:crawlers   # refresh the crawler blocklist from the ai.robots.txt community dataset
npm test               # RFC 9309 + multi-layer audit tests (node:test, zero deps)
npm run typecheck      # tsc --strict, no emit

Architecture

bin/
└── 4allhuman.ts          # CLI entry point (shebang, zero deps, Node >= 22.18)
src/
├── cli.ts                # CLI core: arg parsing, report rendering, exit codes
├── app/
│   ├── page.tsx              # scan UI + artifact viewer with copy buttons
│   └── api/protect/route.ts  # orchestrator: scan → generate → score
└── lib/
    ├── crawlers.ts           # re-exports the crawler blocklist + legal text
    │   ├── crawlers.generated.ts  # 170+ crawlers, generated from the community ai.robots.txt dataset
    ├── robots9309.ts         # RFC 9309 matcher: group selection, longest-match, wildcards
    ├── layers.ts             # multi-layer audit: X-Robots-Tag, TDMRep, aipref, llms.txt, meta
    ├── scanner.ts            # live scan, per-crawler verdicts with rule-level reasons
    └── generator.ts          # artifact generation + layered protection score
tests/
├── robots9309.test.ts        # spec-case tests: ties, wildcards, group precedence
└── layers.test.ts            # multi-layer parsing + score tests

Radar (module 09) — manual probe mode

Paste an article (or its URL) → get generated probe questions → ask ChatGPT / Perplexity / Claude / Gemini yourself → paste their answers back → 8-gram plagiarism forensics run locally in your browser.

No API keys. No AI-company calls from our servers. Nothing stored. The evidence pack (.json download) seals the source text with SHA-256 and records every verdict with matched spans.

Thresholds: ≥10% word-8-gram containment = COPIED, 2–9% = SUSPICIOUS, else CLEAN. 8 consecutive shared words is the classical plagiarism-forensics threshold — chance co-occurrence is effectively zero.

The multi-layer audit

One report across every opt-out standard, each layer with its own plain-language verdict and evidence:

LayerWeightWhat we check
robots.txt (RFC 9309)40Live evaluation against 170+ known AI crawlers: most-specific group, longest-match, allow-wins ties, wildcards
X-Robots-Tag header15noai / noimageai (global = full, per-bot or none/noindex = partial)
noai meta tags15<meta name="robots" content="noai, noimageai"> on the homepage
TDMRep (W3C)10tdm-reservation: 1 header or meta — the machine-readable EU DSM Art. 4(3) reservation
ai.txt10/ai.txt published and actually denying training/dataset use (honor-based)
aipref (IETF draft)5ai-train=n-style preference tokens (draft-ietf-aipref-vocab)
Reachable5The site answered the scan, so every verdict is live evidence
llms.txt0Informational only — it is the ALLOW-side counterpart (guides LLM use), not an opt-out

The same layer builders score user-pasted artifacts in verify-your-fix, so the before/after score is computed identically to a live scan.

Modules

#ModuleWhat it does
02VerdictMulti-layer audit — one 0–100 score across every opt-out standard (weights below)
03EvidenceLive robots.txt check across 170+ AI crawlers (community ai.robots.txt dataset), with source links
04Common CrawlChecks the 6 latest CC indexes for your domain — the open corpus most training sets build on
05–09The Fixrobots.txt (+ EU Art. 4(3) reservation + RSL License: line), verify-your-fix, ai.txt, meta tags, legal notice
10RSL License/license.xml in RSL 1.0 schema — machine-readable licensing for the AI-first web
11RadarManual probe mode: generate questions → ask engines yourself → local 8-gram forensics; plus DE-COP memorization quiz (arXiv 2402.09910) scoring verbatim-recognition against the 25% chance line
§§Honesty layerWhat this can and cannot do

Key references

Roadmap (see TASKS.md)

  • Scanner, generators, scoring, UI
  • One-click deploy: open a PR to the site's repo / upload via FTP
  • C2PA "Proof of Human" content signing
  • Spawning DO NOT TRAIN registry submission

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 3

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.2Registry latest10 Sept 20267
0.1.19 Sept 20267
0.1.09 Sept 20267

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
zeecares/4allhuman

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 20:04 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:d69d1870758ac8b791c94238274fdb4cdfb0871b01c89f5074a1e33c1f2cfc54