@isnotai/text-monitor
v0.1.2
Published
Is Not AI Text Monitor — keystroke and authorship signal capture for AI-detection scoring. Public-surface preview; full capture pipeline in v1.0.
Maintainers
Readme
@isnotai/text-monitor
Keystroke and authorship signal capture for the Is Not AI AI-detection platform. Standalone npm package; no separate SDK install required.
v0.1.x is a public-surface preview. It validates the documented options and exposes the locked
createMonitorAPI so you can pin the import path today, but the recorder loop is not yet active.attach()emits a one-timeconsole.warn. Full capture and reporting ships in v1.0; pin@isnotai/text-monitornow and the v1.0 update turns capture on without code changes on your side.
The canonical install reference is isnotai.com/docs/sdk. This README is a quick-start mirror; if the two ever drift, the docs win.
Install
npm install @isnotai/text-monitorUsage
import { createMonitor } from '@isnotai/text-monitor';
const monitor = createMonitor({
integrationId: 'a7f3c2e1', // 8-char hex from your dashboard
region: 'us' // 'us' | 'eu' — must match your account region
});
monitor.attach(document.getElementById('essay'));
// Later, when the field unmounts:
monitor.detach(document.getElementById('essay'));attach() is idempotent. detach() of a never-attached element is a
no-op.
Options
| Option | Type | Required | Description |
|---|---|---|---|
| integrationId | string | yes | 8-character lowercase hex from the dashboard. Public-by-design. |
| region | 'us' \| 'eu' | yes | Must match the account's region. Wrong region = session rejected (when capture is live). |
| extraSelectors | string[] | no | CSS selectors for custom editors beyond the built-in adapter set. |
The package auto-dispatches to the right adapter when you call attach().
Built-in coverage:
<textarea><input type="text">- Any element with
contenteditable="true" - Quill editor instances
- TinyMCE editor instances
Anything else falls back to universal content diffing.
Content Security Policy
Allow the regional reporting hosts in connect-src:
| Region | connect-src |
|---|---|
| us | https://chl.isnot.ai and wss://chl.isnot.ai |
| eu | https://chl-eu.isnot.ai and wss://chl-eu.isnot.ai |
If you also load cdn.isnotai.com/text-monitor/auto.js, add
https://cdn.isnotai.com to script-src.
Declarative install (auto.js)
The CDN-hosted auto.js form is documented at
isnotai.com/docs/sdk. It reads its
config from a data-config attribute and attaches automatically on
DOMContentLoaded. No runtime attach/detach is exposed for the
declarative form — use the npm package if you need programmatic control.
What v0.1.x ships, and what's coming
| | v0.1.x | v1.0 |
|---|---|---|
| createMonitor, attach, detach public surface | ✅ locked | ✅ unchanged |
| Strict option validation | ✅ | ✅ |
| Auto-dispatch built-in adapters | — | ✅ |
| Capture client (network, queue, retry) | — | ✅ |
| Writing-session identity | — | ✅ |
| Classifier | — (server-side, separate API) | (server-side) |
The public surface is locked in v0.1.x — your call sites do not need to change when v1.0 ships.
License
Use of this software is governed by the Is Not AI Terms of
Service. See LICENSE in this package
for the full notice.
