I built an SDK that scrambles HTML so scrapers get garbage
Get picks like this daily. Today's launch numbers, the top launches, AI and tech news, and a daily opportunity pick, straight to your inbox.
Want to reach these readers? Sponsor an issue.
Hey HN -- I'm a solo dev. Built this because I got tired of AI crawlers reading my HTML in plain text while robots.txt did nothing.The core trick: shuffle characters and words in your HTML using a seed, then use CSS (flexbox order, direction: rtl, unicode-bidi) to put them back visually. Browser renders perfectly. textContent returns garbage.On top of that: email/phone RTL obfuscation with decoy characters, AI honeypots that inject prompt instructions into LLM scrapers, clipboard interception, canvas-based image rendering (no img src in DOM), robots.txt blocking 30+ AI crawlers, and forensic breadcrumbs to prove content theft.What it doesn't stop: headless browsers that execute CSS, screenshot+OCR, or anyone determined enough to reverse-engineer the ordering. I put this in the README's threat model because I'd rather say it myself than have someone else say it for me. The realistic goal is raising the cost of scraping -- most bots use simple HTTP requests, and we make that useless.TypeScript, Bun, tsup, React 18+. 162 tests. MIT licensed. Nothing to sell -- the SDK is free and complete.Best way to understand it: open DevTools on the site and inspect the text.GitHub: https://github.com/obscrd/obscrd
HN · launched Mar 12, 2026 · 16 upvotes (top 30%) · 0 views
Niche: developer utility tools · 561 launches, 8 in the last 7 days ▼ -73% · Explore this niche →
Category and tags
- Security
- Dev tools
- Developer
- Not AI
- Hobby / open-source project
Visit website ↗ Source listing ↗
More like this: all 561 launches in developer utility tools →
Could you build this?
Yes The core technique relies on standard React DOM manipulation, CSS ordering properties (flex order, bidi), and simple string shuffle logic with a seed.
Discussion
20 comments analyzed.
Competitors mentioned: curl + cheerio, screenshot-based scraping, Claude (for decoding HTML)
Concerns raised: Breaks screen readers and keyboard navigation (accessibility conflict), Bots can use screenshots to scrape text anyway, Static obfuscation can be reverse-engineered with LLMs, Creates worse user experience than bot resistance value, Semantic watermarking doesn't survive LLM rephrasing
Feature requests: Better TalkBack (Android screen reader) support, Text rendering in DOM that doesn't exist as readable static text (v2), Paraphrase-resistant semantic watermarking
Competitors
Other products that read as similar to this one : 281 launches clear the similarity bar, closest 8 shown.
Attention rank: #113 of 282 (itself plus its competitors, highest first, normalized so YC and Product Hunt are compared fairly).
Launched 131 days after the earliest competitor.
- Stop AI scrapers from hammering your self-hosted blog (using porn) · hn · 2025-12-16 · 373 upvotes · similarity 0.48
- Robust LLM extractor for websites in TypeScript · hn · 2026-03-26 · 72 upvotes · similarity 0.48
- I made a tool that steals any website's UI into .md context · hn · 2026-01-05 · 5 upvotes · similarity 0.48
- Trying to fix the web scraping industry's benchmark problem · hn · 2026-07-16 · 18 upvotes · similarity 0.48
- XHTML · hn · 2026-09-24 · 5 upvotes · similarity 0.47
- Trawl · hn · 2026-03-08 · 8 upvotes · similarity 0.46
- TafScraper · ph · 2026-09-28 · 3 upvotes · similarity 0.46
- Moat · ph · 2026-09-11 · 1 upvotes · similarity 0.45
The niche, labels, vibe code rating and competitor comparison on this page are analysis by Nicheloom. If you use them, please credit nicheloom.com. How you may use our data.