Skip to content

Repository files navigation

tn8r

Disposable identities for AI agents — email, phone, and virtual cards.

tn8r gives your AI agents their own email addresses, phone numbers, and virtual payment cards so they can operate in the real world without using your personal identity. When the agent's work is done, kill everything with one command.

How It Works

Agent: "I need to sign up for a service"

You: tn8r create
→ Email:  alex-k8f2xq@mock.terminator.test
→ Phone:  +14155551234
→ Card:   ****4242
→ Identity: 01JMXYZ...

Agent uses these to sign up, receive verification codes, make purchases.

You: tn8r kill 01JMXYZ...
→ Email revoked, phone released, card deactivated. Done.

Install

curl -fsSL https://raw.githubusercontent.com/tn8r/tn8r/main/install.sh | bash

Or with Homebrew:

brew install tn8r/tn8r/tn8r

Or with your package manager:

npm install -g tn8r       # npm
pnpm add -g tn8r          # pnpm
yarn global add tn8r      # yarn
bun install -g tn8r       # bun

As a project dependency:

npm install tn8r           # or @tn8r/core for just the library

MCP Server (for AI Agents)

Add to Claude Code:

claude mcp add tn8r -- npx @tn8r/mcp-server

Packages

Package Description
tn8r Umbrella — CLI + library in one install
@tn8r/core Core library with provider adapters
@tn8r/cli Standalone CLI
@tn8r/mcp-server MCP server for AI agents

Quick Start

CLI

# Create an identity with email + phone + card
tn8r create

# Create with only email
tn8r create --no-phone --no-card

# List all identities
tn8r list

# Read messages (email + SMS)
tn8r messages <identity-id>

# Kill an identity (revoke everything)
tn8r kill <identity-id>

# Emergency: kill ALL identities
tn8r kill --all

# View activity log
tn8r log

# Check provider status
tn8r status

MCP Server Tools

The MCP server exposes 10 tools that agents can use directly:

Tool Description
create_identity Create a disposable identity with email, phone, and/or card
get_identity Get details of a specific identity
list_identities List all identities by status
read_messages Read emails and SMS for an identity
extract_code Parse verification codes from messages
get_card_details Get card PAN/CVV/expiry (never stored locally)
kill_identity Revoke all resources for one identity
kill_all Emergency kill switch for all identities
get_activity_log Query the audit trail
check_status Provider health check

TypeScript Library

import { Terminator } from "tn8r";
// or: import { Terminator } from "@tn8r/core";

const t = new Terminator();

// Create an identity
const identity = await t.createIdentity({
  resources: ["email", "phone", "card"],
  ttlMinutes: 60,
  spendLimitCents: 5000,
});

console.log(identity.email);  // agent-k8f2xq@your-domain.com
console.log(identity.phone);  // +14155551234

// Read messages
const { emails, sms } = await t.readMessages(identity.id);

// Extract verification code
const code = await t.extractCode(identity.id);

// Get card details (fetched live, never stored)
const card = await t.getCardDetails(identity.id);

// Kill it
await t.killIdentity(identity.id);

BYOK (Bring Your Own Keys)

tn8r uses your own provider accounts. Copy .env.example to .env and add your keys:

# Email (Cloudflare Email Workers)
TERMINATOR_CF_API_TOKEN=
TERMINATOR_CF_ACCOUNT_ID=
TERMINATOR_EMAIL_DOMAIN=

# Phone (Twilio)
TERMINATOR_TWILIO_ACCOUNT_SID=
TERMINATOR_TWILIO_AUTH_TOKEN=

# Cards (Lithic)
TERMINATOR_LITHIC_API_KEY=
TERMINATOR_LITHIC_ENVIRONMENT=sandbox

No keys configured? tn8r runs with mock providers by default — perfect for development and testing.

Architecture

Local (your machine)              Cloud (your accounts)
─────────────────────             ─────────────────────
MCP Server / CLI                  Cloudflare Email Workers
       │                          Twilio
  tn8r Core                       Lithic
       │
  Provider Adapters ──────────────── BYOK APIs
       │
  SQLite (activity log)
  • Provider adapter pattern — swap providers without changing your code
  • Activity log — every action recorded locally in SQLite
  • Kill switch — revoke all resources across all providers in one call
  • Policy engine — spend limits, TTL, max identities

Development

pnpm install
pnpm build
pnpm test

License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages