// for vibe coders + app developers

Detect AI in your app.
60 seconds to integrate.

Deckrd is three capabilities: Detect AI in chats, calls, and video; Protect your voice from cloning; Verify a voice is genuine for people you trust. @deckrd/sdk ships Detect · text today: local ensemble scoring, message content never reaches our servers.

Free tier: 10,000 detections / month, no card required Local detection: message content never leaves your runtime 11 detectors running in ensemble, retuned weekly
// three capabilities

One platform. Three jobs.

The browser extension and desktop app cover all three pillars. The npm SDK exposes Detect for integrators today; Protect and Verify APIs are reserved for a later release.

Detect

Is the other side AI?

Eleven local detectors score conversations in real time. High score = likely AI. Runs entirely in your runtime.

  • chat · SDK + extension
  • calls · desktop app
  • video · coming soon
● SDK ships text · chat today
Protect

Shield your voice

AntiClone perturbs your voiceprint so AI cloners can't reproduce you. Cloak garbles speech to defeat transcription.

  • AntiClone + Cloak
  • desktop app
○ SDK API · planned
Verify

Verify a voice is genuine

Cryptographic voice signature for your trusted circle, so contacts see ✓ Verified when you're speaking live, not a recording or clone. Opt-in, not mandatory ID. Learn about Verify →

  • voice signature
  • desktop alpha
◐ desktop alpha · opt-in trusted circle
// what makes the SDK different

Built so vibe coders can ship trust.

Local-only detection

Runs in your Node, browser, edge, or RN runtime. We never see your users' messages. Install @deckrd/sdk from npm: the only network calls are license validate, usage counts, and paid lexicon updates, and none of them carry message content.

Ensemble of 11 detectors

Linguistic style, glyphs, response timing, mirror, persona consistency, and more. When generators improve at one signal, the others still hold. Free tier ships with the npm package; paid tiers get fresh tunings via OTA every week.

One-line embed

npm install @deckrd/sdk + a score() call. Drop-in for Next.js, Cloudflare Workers, Vercel Edge, Deno, React Native, Bun, or any modern Node. No build pipeline, no external services, no model hosting.

// quickstart

One install, one call, one verdict.

Free tier works without a license key. Add one when you're ready to remove the attribution badge or upgrade volume.

# 1. install npm install @deckrd/sdk
// 2. score a conversation import { Deckrd } from '@deckrd/sdk'; const deckrd = new Deckrd({ licenseKey: process.env.DECKRD_LICENSE_KEY, // optional; free tier works without capability: 'detect', // default; protect + verify reserved }); const result = await deckrd.score({ messages: [ { direction: 'incoming', content: 'hey there!', timestamp: Date.now() }, { direction: 'incoming', content: "I noticed your profile…", timestamp: Date.now() }, ], }); console.log(result); // { // score: 0.78, // label: 'ai_likely', // confidence: 0.62, // perDetector: { temporal: 0.5, linguistic: 0.4, ... }, // modelVersion: '0.1.0+lex@2026-05-07' // }
// streaming sessions

For live chats, score as the conversation grows.

Each score() is one billable detection. You decide when to re-evaluate (every message, every five, or on-demand): there is no implicit cost for buffering.

const session = deckrd.session({ conversationId: 'chat-abc' }); session.add({ direction: 'incoming', content: 'hi!', timestamp: Date.now() }); session.add({ direction: 'outgoing', content: 'hey', timestamp: Date.now() }); session.add({ direction: 'incoming', content: 'how are you?', timestamp: Date.now() }); const verdict = session.score(); // returns the same shape as score() // later, when more messages arrive… session.add({ direction: 'incoming', content: 'just got back from work', timestamp: Date.now() }); const updated = session.score(); // counts as a fresh detection
// privacy by design

Three network calls. Zero of them carry message content.

Detection runs on your runtime. The package on npm only reaches our servers for these three calls:

CallCarriesWhenContent?
License validate SHA-256 of the key Lazy, cached 1h never
Usage ping Counts + label totals Batched, periodic never
Config OTA (paid) One-way pull of lexicons Weekly + manual refresh never

Detection runs entirely on your runtime. We can't see your users' messages even if we wanted to. The 11 text detectors live in @deckrd/detection-core; they're heuristic functions over message arrays, no remote inference, no model hosting.

// pricing

Simple tiers, local-only at every level.

One detection = one call to score(). You control granularity (every message vs. every fifth vs. on-demand) and predictability follows.

Developer

Indie

support fee + metered usage
  • No attribution required
  • Live OTA lexicon updates, weekly
  • Premium phrase lists
  • Email support
  • 14-day / 10k-message free trial
Coming soon
Business

Scale

support fee + volume-tier metered
  • Volume-discounted usage
  • Push lexicon updates within 24h
  • Custom thresholds
  • Priority email + SLA
  • Per-language analytics
Coming soon
Enterprise

Custom

custom pricing
  • All capabilities (Detect, Protect, Verify) + modalities as they ship
  • Dedicated infrastructure
  • SLA-backed support
  • Custom detector tuning + audit logs
Talk to us

Ready to ship trust?

Free key, no card, install in seconds.

▸ Get an API key Try the live demo