Skip to main content
obscrd

Protect your contentfrom scrapers and AI bots

Open-source content protection system for React. Scramble your HTML, block AI crawlers, and defend your content at every layer.

app.tsx
import { ObscrdProvider, ProtectedText } from '@obscrd/react'

export default function App() {
  return (
    <ObscrdProvider seed={process.env.OBSCRD_SEED}>
      <ProtectedText>
        This text is readable by humans
        but scrambled for scrapers.
      </ProtectedText>
    </ObscrdProvider>
  )
}

Your content is being scraped right now. obscrd stops it.

See it in action

obscrd uses CSS ordering and decoy character injection. Users see normal text — scrapers reading textContent get garbled nonsense.

What users see

obscrd scrambles your HTML while CSS reconstructs it visually. Scrapers and AI bots only see meaningless characters — real users see perfectly normal text.

Contact us at hello@obscrd.dev

The obscrd protection stack

Together, they make scraping your site expensive at every layer.

@obscrd/reactClient-side protection
  • Text obfuscation — CSS flex ordering + character shuffle
  • Email & phone protection — RTL reversal + decoys
  • Image protection — canvas rendering, no <img> URLs
  • Clipboard interception — copy produces shuffled text
  • AI honeypots & forensic breadcrumbs
npm i @obscrd/react
@obscrd/robotsServer-side crawler blocking
  • robots.txt automation — block 20+ AI crawlers
  • Middleware support — Express, Fastify, Node.js
  • Meta tag generation for crawler control
  • Works standalone — no React dependency
npm i @obscrd/robots
obscrd CLIProject setup & tooling
  • Generate cryptographic seeds
  • Auto-detects .env.local / .env
  • One command project initialization
npx obscrd init
$ npm install @obscrd/react @obscrd/robots$ npx obscrd init
import { ObscrdProvider, ProtectedText, ProtectedEmail } from '@obscrd/react'

function App() {
  return (
    <ObscrdProvider seed={process.env.OBSCRD_SEED}>
      <ProtectedText>
        This text is readable by humans but scrambled for scrapers.
      </ProtectedText>
      <ProtectedEmail email="hello@example.com" />
    </ObscrdProvider>
  )
}

Answers to your questions

obscrd renders your content normally for real users through the browser, but transforms the underlying DOM so that scrapers, bots, and automated tools only see scrambled, meaningless data. The visual output is identical — the source code is not.

Get early access

We're actively building obscrd. Join the waitlist to get updates, early access to new features, and help shape the roadmap.

We respect your inbox. No spam, just product updates. Privacy Policy.