How I Fingerprint My Own API to Catch Scrapers
Trap streets, phantom records, and the watermarking tricks that catch scrapers

Search for a command to run...
Articles tagged with #python
Trap streets, phantom records, and the watermarking tricks that catch scrapers

Why transformed data still reveals where it came from

How a practical joke turned into an LLM honeypot, two free security tools, and a canary endpoint that fingerprints AI scrapers.

Generating 150 pages with AI is easy. Generating 150 pages that don't read like AI wrote them is the actual problem.

I built security for "no one's looking." The open web is "everyone's looking." This is the post mortem of closing that gap. The thesis: identity + perimeter shift + observability beats reactive blocking.

When my API slowed down, I didn’t add Redis. I didn’t upgrade the droplet. I opened a Django shell and started measuring.
