Skip to content

Licensing

WriteTrack uses offline-validated license keys — no server calls, no runtime dependency on our infrastructure. The key is validated locally using cryptographic signature verification.

  • Capture is always free. start(), getData(), and all event methods work without a license.
  • Analysis requires a license (or localhost). getAnalysis() returns null on production without a valid key.
  • Localhost is unrestricted. Full analysis works on localhost and 127.0.0.1 with no key, so you can evaluate the complete SDK before committing.
Terminal window
npx writetrack init

The CLI prompts for your email and production domain, registers a free 28-day trial, and saves the key to .env:

WriteTrack — Set up a free 28-day trial
Email address: you@example.com
Production domain (e.g. example.com): example.com
Registering you@example.com for example.com...
Done — license key saved to .env
Trial expires: 3/10/2026

Sign up at the customer portal to get a key and manage your account.

Pass the key when initializing:

const tracker = new WriteTrack({
target: textarea,
license: process.env.WRITETRACK_LICENSE_KEY,
});

Each license key is bound to a production domain. The SDK validates that the current hostname matches the licensed domain. Subdomains are included — a key for example.com works on app.example.com, staging.example.com, etc.

When a trial or subscription expires, the SDK continues working for a 28-day grace period with a console warning. After the grace period, getAnalysis() returns null. Capture is never interrupted — start() and getData() continue working regardless of license state.

On localhost, no key is needed. This is the easiest way to try WriteTrack:

// Full analysis on localhost — no license required
const tracker = new WriteTrack({ target: textarea });
tracker.start();
const analysis = await tracker.getAnalysis(); // works on localhost