Quickstart
⚡ 5 min readStart here
Every integration — AI Agent or web app SDK — begins with the transcodes CLI. Install it once, then run:
npm install -g @bigstrider/transcodes-cli
transcodes installThis runs the guided install and opens the local dashboard (default http://127.0.0.1:3847) — your control plane for member tokens, transcodes-guard setup, and read-only RBAC view. Paste your MAT from Console here; hooks and MCP read {{HOME_DIR}}/.transcodes/config.json automatically.
Transcodes is a biometric & security key authentication layer for admin back-offices. You can use it in two ways:
| Path | Who uses it | What you get |
|---|---|---|
| AI Agent (MCP) | Your team via Cursor, Claude Code, Codex, or Antigravity | Agent manages members/roles/logs with step-up on risky actions |
| Admin Back-office (Coming Soon) | Your end-users in a web app | Signin, step-up MFA, RBAC, audit logs via SDK |
New here? Read How It Works for the big picture, or Architecture for the system diagram.
Path A — Connect an AI Agent
For teams who want Cursor, Claude Code, Codex, or Antigravity to manage Transcodes (members, roles, audit logs) and gate risky shell/MCP actions with step-up MFA before they run.
Install transcodes-guard per host — it bundles PreToolUse hooks + MCP server. Each IDE has its own install path.
Paste your token in the dashboard
If you haven’t already: in Console go to RBAC → Members → Get API Token (MAT). Run transcodes install and paste it — saved to {{HOME_DIR}}/.transcodes/config.json. Treat it like a password.
Install transcodes-guard for your host
Pick your IDE and follow the host-specific guide — each uses a different native install mechanism:
| Host | Install |
|---|---|
| Claude Code | /plugin marketplace add + /plugin install transcodes-guard@bigstrider |
| Codex | codex plugin marketplace add transcodings/transcodes-guard + codex plugin add transcodes-guard@bigstrider |
| Cursor | Cursor Marketplace → Transcodes (bigstrider) (/add-plugin) |
| Antigravity | One-liner install.mjs (see integration guide) |
Node.js ≥ 20 required. On first run, approve the one-time hook trust prompt in your host.
Prompt your agent
What roles exist in my project? Show recent audit logs.
Before retiring a member, walk me through step-up verification.When the agent calls a verified tool (e.g. retire_member) or a gated shell command, you complete biometric MFA on Transcodes Auth — the agent cannot bypass it.
Path B — Embed auth in your app (Coming Soon)
For teams building a SaaS admin panel, internal tool, or customer portal.
Coming Soon — Admin Back-office SDK embedding is not generally available yet. Prefer Path A — AI Agent for current workflows.
Create a project in the Console
Go to app.transcodes.io , create an Authentication cluster, and register at least one member. You get a Project ID and optional member tokens from the Setup Wizard.
Add the SDK to your frontend
Add the CDN script from Console → Installation Guide. No auth backend and no UI to build — the SDK redirects the user to the hosted auth page.
<script
defer
src="https://cdn.transcodes.link/{PROJECT_ID}/webworker.js"
></script>Trigger login (redirect)
Call redirectToSignIn() for a full-page redirect to Transcodes Auth. After MFA, the user returns to your redirectUri with ?sid=...; call handleSignInCallback() on that page to exchange the sid for a JWT.
// Sign-in button — omit redirectUri to use the current page URL as callback
transcodes.redirectToSignIn();
// App bootstrap on the return page (run once on load)
const result = await transcodes.handleSignInCallback();
if (result.success) {
// logged in — JWT stored in IndexedDB by the SDK
}redirectToSignIn returns void (fire-and-forget). handleSignInCallback returns { success, payload, error? }; with no ?sid= in the URL it resolves success: false (safe to ignore on normal pages).
Wire step-up for sensitive actions
Before a dangerous action, await redirectToStepUp({ resource, action }) while the user is logged in (SDK Bearer token required). The backend returns decision: allow, deny, or stepup. For stepup, the SDK opens Transcodes Auth in a new tab, shows a waiting overlay on your page, and polls until verified.
const res = await transcodes.redirectToStepUp({
resource: 'members',
action: 'delete', // 'create' | 'read' | 'update' | 'delete'
});
const gate = res.payload[0];
const ok =
res.success &&
(gate?.decision === 'allow' ||
(gate?.decision === 'stepup' && gate?.status === 'verified'));
if (ok) {
// allowed or step-up verified — run the sensitive action
}deny also returns success: true with payload[0].decision === 'deny' — check decision, not success alone.
Let users manage their own methods
redirectToConsole() opens the self-service page on Transcodes Auth where users add or remove passkeys, security keys, and TOTP — no UI for you to build. Returns void (fire-and-forget); if the member is not signed in, the SDK logs an error and does nothing. Details: Console.
transcodes.redirectToConsole();Verify JWT on your server
Fetch the project’s public JWK and verify tokens with ES256 (not RS256). See JSON Web Key.
Which path should I choose?
| You want to… | Start here |
|---|---|
| Let an AI Agent manage your Transcodes project | AI Agent Overview |
| Gate risky shell/MCP actions or sensitive app buttons with step-up MFA | Step-up Auth |
| Add sign-in to your React/Next.js app (Coming Soon) | Admin Back-office |
| Understand the system before integrating | How It Works |
| See all components and data flows | Architecture |
Next: How It Works · Architecture