Observed since 20 Oct, 20:04 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
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.
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:
<meta name="robots" content="noai, noimageai"> tags for every page headResearch notes:
research/protecting-human-content-from-ai-training.md — legal & technical landscape (EU DSM Art. 4(3), AI Act Art. 53(1)(c), USCO Part 3, Glaze/Nightshade, IETF aipref, C2PA)research/enhancement-research.md — verified build opportunities: Common Crawl CDX corpus check, DE-COP memorization detection, RSL licensing standard, x402 paymentsNo tool can make already-public content untrainable. Anyone can download what anyone can read. Our artifacts are signals + legal reservations, not force fields:
| Level | Mechanism | Strength |
|---|---|---|
| Never expose it | Login/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 |
| Contract | No-training terms on private sharing | ⚠️ After-the-fact claim |
| Public + signals only | robots.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.
The product reduces an information asymmetry between creators and AI trainers. Trust follows from three commitments baked into the UI:
robots.txt we read), with a UTC timestamp. Users can re-do any check by hand.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.
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.
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
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
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.
One report across every opt-out standard, each layer with its own plain-language verdict and evidence:
| Layer | Weight | What we check |
|---|---|---|
| robots.txt (RFC 9309) | 40 | Live evaluation against 170+ known AI crawlers: most-specific group, longest-match, allow-wins ties, wildcards |
| X-Robots-Tag header | 15 | noai / noimageai (global = full, per-bot or none/noindex = partial) |
| noai meta tags | 15 | <meta name="robots" content="noai, noimageai"> on the homepage |
| TDMRep (W3C) | 10 | tdm-reservation: 1 header or meta — the machine-readable EU DSM Art. 4(3) reservation |
| ai.txt | 10 | /ai.txt published and actually denying training/dataset use (honor-based) |
| aipref (IETF draft) | 5 | ai-train=n-style preference tokens (draft-ietf-aipref-vocab) |
| Reachable | 5 | The site answered the scan, so every verdict is live evidence |
| llms.txt | 0 | Informational 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.
| # | Module | What it does |
|---|---|---|
| 02 | Verdict | Multi-layer audit — one 0–100 score across every opt-out standard (weights below) |
| 03 | Evidence | Live robots.txt check across 170+ AI crawlers (community ai.robots.txt dataset), with source links |
| 04 | Common Crawl | Checks the 6 latest CC indexes for your domain — the open corpus most training sets build on |
| 05–09 | The Fix | robots.txt (+ EU Art. 4(3) reservation + RSL License: line), verify-your-fix, ai.txt, meta tags, legal notice |
| 10 | RSL License | /license.xml in RSL 1.0 schema — machine-readable licensing for the AI-first web |
| 11 | Radar | Manual 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 layer | What this can and cannot do |
Download counts and popularity will appear here as the collector receives them.
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 20:04 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:d69d1870758ac8b791c94238274fdb4cdfb0871b01c89f5074a1e33c1f2cfc54