Operator guide

What LingerCut is, what it is not, and the steps to inventory leftover trust → out-of-band cut → adversarial replay → kill receipt VALID only on bounce. This guide explains LingerCut. It cannot revoke access, mint kill receipts, or certify that leftover trust is gone. Only a failed-replay or absence probe stamps CUT. Buyers who want the 10-second loop: homepage or /demo.

Not connect, revoke, verify.

Inventory leftover trust. Cut out-of-band. Replay the old grant. A kill receipt is VALID only on bounce. WITHHELD if still live.

  1. Inventory leftover trust

    Sessions, OAuth grants, refresh tokens, API keys, and machine leftovers that stay alive after rotation or a vendor incident.

  2. Out-of-band cut

    Revoke from a plane that is not the possibly stolen session. Do not trust the compromised vendor to be the only cutter.

  3. Adversarial replay / bounce

    Present the old grant again from an isolated probe. Bounce means the credential failed. Still live means it worked.

  4. Kill receipt VALID only on bounce

    VALID if replay bounced. WITHHELD if still live -- even when the vendor said revoked:true. Not connect, revoke, verify.

Operator guide

Explains what LingerCut is and the safe steps. Grounded answers only — it cannot cut access or stamp a kill receipt.

What LingerCut is

LingerCut is Residual Trust Assurance. After login, password rotation, or a breach of a celebrated vendor (Okta, vault, EDR, SSPM), sessions, OAuth grants, refresh tokens, and API keys often stay alive. LingerCut inventories leftover trust, cuts it out-of-band, then adversarially replays the old credential. A kill receipt is valid only if that replay bounces.

Architecture, data flow, residency

LingerCut is one Next.js 15 App Router app. On SaaS, the API routes on Vercel ARE the backend -- not a separate AWS service, and Vercel is not UI-only. Founder runtime is GitHub main to Vercel (lingercut.com), not a laptop. Kill receipts persist to Upstash Redis REST (HTTP fetch) when UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN are set; otherwise local .data files (ephemeral on Vercel). The ledger is not AWS S3. AWS IAM is a connector target (the customer's keys), called from those API routes -- not LingerCut's home cloud. Sovereign is Docker Compose with a volume at /app/.data on the buyer's host (docs/SOVEREIGN_DEPLOY.md) -- their VPC, gov cloud, or on-prem -- not a dedicated AWS VPC we operate and not the founder laptop. Ed25519 or HMAC receipts when a signing key is set -- private key never in the browser; /verify is integrity not liveness. Dual-control for high-risk live cuts. Live Desk / OpenAI never cuts and never stamps VALID. Not SOC 2 / ISO / FedRAMP -- see /security and /trust. VALID only if independent replay bounced.

  1. SaaS: one Next.js app on Vercel — API routes are the backend.
  2. Receipts: Upstash Redis REST when both UPSTASH_REDIS_REST_* are set; else .data.
  3. AWS IAM is a connector target, not LingerCut's home cloud.
  4. Sovereign: Docker Compose volume /app/.data — docs/SOVEREIGN_DEPLOY.md.
  5. Do not invent a split AWS backend vs Vercel UI.

What it is not

LingerCut is not antivirus, SIEM, EDR, a password manager, an IdP, or an AI-content/deepfake detector. Ranking and this guide are helpers only. They never replace failed-replay proof.

First-run steps

Use this order on a new tenant or after an incident window.

  1. Open Inventory (/console). Use Ranking helper to see cut order — scores are triage only.
  2. Connect a live provider (Google, Microsoft, GitHub, or GitLab) or practice on demo rows.
  3. Run Cut. Watch revoke, then failed-replay / absence probe.
  4. Open Receipts. Export JSON/PDF only for stored receipts. Stamp CUT · BOUNCE only if replay failed.
  5. After a named vendor event, open Playbooks for the leftover graph those tools miss.

Kill receipt bar

Vendor APIs often return revoked=true while the credential still works. LingerCut does not trust that flag. After cut, an isolated probe tries the old grant/session/token (or re-lists for Workspace/org/IAM absence). Receipt VALID only if the probe fails. WITHHELD means still live — do not tell the board it is gone. With RECEIPT_SIGNING_SECRET, receipts are HMAC-SHA256 signed; verify at /verify. Signature proves integrity of the receipt bytes — not that the vendor was honest.

False-green battery

False-green cases are demo rows where the vendor would claim revoked while replay still succeeds. Open /false-green or run npm run test:false-green. Every vendorRevokeLies case must WITHHOLD the kill receipt. For authorized live tenants, plant a disposable leftover, cut, and expect WITHHELD only when the credential is still live — never on probeError. See docs/FALSE_GREEN.md.

Dual-control cuts

When DUAL_CONTROL=1 or OPERATOR_PASSWORD_APPROVER is set — or in production/hardening with live connectors configured — high-risk, machine leftover, and live connector cuts queue for a second operator (set DUAL_CONTROL=0 only for lab). Approve at /dual-control with the approver password; approve runs the live connector cut (not demo-only theater). forceExecute is blocked in production; ALLOW_FORCE_EXECUTE=1 is lab-only. See docs/HARDENING.md and docs/DUAL_CONTROL.md.

GitHub org beachhead

Primary pilot path: connect GitHub org inventory, load SSO credentials and fine-grained PATs, rank NHI, cut, absence re-list (never clone or push with the PAT), VALID or WITHHELD, export Evidence Pack. Demo inventory is separate practice. See docs/BEACHHEAD.md.

GitLab leftover trust

Live GitLab connector: OAuth self-grant revoke then GET /user replay; group inventory lists personal / group / project access tokens and deploy tokens, cut then absence re-list (never clone, push, or trigger a pipeline). CI job tokens and runner authentication tokens are demo illustrations only — GitLab does not return those secrets for a live bounce. Optional GITLAB_BASE_URL for self-managed. See /setup/gitlab.

Production hardening

In production (or LINGERCUT_REQUIRE_HARDENING=1), LingerCut refuses cut/receipt APIs until OPERATOR_SESSION_SECRET and RECEIPT_SIGNING_SECRET are set; OPERATOR_PASSWORD is required only when the operator lock is on. Lab unlock: LINGERCUT_REQUIRE_OPERATOR_AUTH=0 (no /login wall) + DUAL_CONTROL=0. OAuth cookies use AES-GCM sealing. Dual-control defaults on with live connectors unless DUAL_CONTROL=0. In-process probe is lab; prefer PROBE_BASE_URL. This is operational fail-closed wiring — not a SOC 2 claim. See docs/HARDENING.md.

Independent probe plane

When PROBE_BASE_URL is set, cut APIs HTTP-call that host's /api/probe/replay. When unset, probes run in-process — honest lab fallback, not a sovereign isolation claim. Under production/hardening the console warns if the probe is in-process; set LINGERCUT_REQUIRE_ISOLATED_PROBE=1 to refuse cuts without PROBE_BASE_URL. Transport failure returns probeError 503 — never stamps bounce or still_live. Probe flood returns 429 — no receipt. Use PROBE_SHARED_SECRET across cut and probe hosts. See docs/PROBE_RELIABILITY.md and docs/HARDENING.md.

Entra service principals

Second machine connector after GitHub org NHI. Demo lc_ms_sp_10 always works. Live path: MICROSOFT_SP_LIVE=1 + TENANT_ID + Application.ReadWrite.All — removePassword then adversarial re-get. Okta Admin deferred until Entra SP is solid. See docs/ENTRA_SP_SETUP.md.

AWS IAM access keys

AWS wedge cuts leftover IAM user access keys. Demo rows work without keys. Live path needs AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_IAM_TARGET_USER. Receipt requires STS GetCallerIdentity (read-only) or Inactive/absence re-list — never PutObject. See docs/AWS_SETUP.md. Transport failure is probeError, not bounce.

IR campaigns & compliance export

From a playbook, Queue or Run campaign to pack ranked demo cuts and collect receipt summaries under /campaigns. Compliance pack ZIP/JSON is at /api/compliance/export — Fed/SOC-friendly wording: vendor revoke flags are not sole evidence of residual-trust closure.

Blast-radius graph

From an identity, /blast-radius shows related leftover grants. Use Simulate cut to preview affected paths without revoking; CUT still requires failed-replay. The graph is not a receipt.

Live vs demo

Demo rows teach the receipt bar without cloud keys. Live boxes use real OAuth grants when connectors are configured in env. Live Google also has Workspace Admin (Directory tokens). Live GitHub has org SSO/PAT inventory for owners. Live GitLab has group/project/personal access tokens and deploy tokens (CI job/runner leftovers stay demo illustrations). AWS has demo + optional live IAM key cut. Cutting live self-grants revokes LingerCut’s own token — expected.

Cloud / local / sovereign setup

Two paths: SaaS is one Next.js app on Vercel from GitHub main (API routes ARE the backend — see docs/DEPLOY.md; the founder laptop is not a runtime) or sovereign Docker Compose with a volume at /app/.data on the buyer's host (docs/SOVEREIGN_DEPLOY.md — their VPC, gov cloud, or on-prem; not a dedicated AWS VPC LingerCut operates and not a LingerCut laptop). Set OAuth/AWS IAM connector secrets, HTTPS redirect URIs, RECEIPT_SIGNING_SECRET, optional Upstash Redis REST, OPERATOR_PASSWORD, dual-control, PROBE_ISOLATION_MODE. No default telemetry. CUSTOMER_KMS_KEY_ID is a placeholder for your envelope key. Never put secrets in git — use .env.example as the template. AWS IAM is a connector target, not LingerCut's home cloud.

  1. Choose SaaS (GitHub main → Vercel) or sovereign (buyer Docker Compose + /app/.data volume).
  2. Create Google / Microsoft / GitHub / GitLab OAuth apps (and optional AWS IAM operator) with HTTPS callbacks to your domain.
  3. Set env vars from .env.example (Vercel dashboard or Compose .env).
  4. Optional: Upstash Redis + OPERATOR_PASSWORD + RECEIPT_SIGNING_SECRET + dual-control + OPENAI_API_KEY for ranking narrative / guide phrasing.
  5. Smoke test: false-green battery → Cut → signed receipt verify → compliance ZIP.

Ranking helper

The ranking helper scores leftover grants (stale, overbroad, false-green, sensitive scopes, playbook hit, machine leftover, blast-radius adjacency, dual-control candidates) so you cut the worst first. Optional LLM narrative needs OPENAI_API_KEY. A high score is not a kill receipt.

Incident playbooks

Playbooks map leftover surfaces after celebrated-vendor failures, ordinary rotation, and critical-infra contexts (energy OT–IT, defense primes/contractors, finance vendor breach, telecom IdP). Include the DevOps CI playbook for machine identities (GitHub, AWS IAM, Entra service principals). Open a playbook, Run campaign, rank, cut demo or live grants, keep receipts. Defensive residual trust only — not offensive tooling.

Infrastructure / DevOps buyers

Companies seek LingerCut for infrastructure leftover trust: CI deploy bots, fine-grained PATs, org SSO authorizations, AWS IAM access keys, Entra service principals, and stale pipeline identities that survive human MFA and vault rotation. This is not SAST, SCA, CSPM, or a pipeline green badge. Global platform teams use kill receipts to prove machine access is gone.

  1. Open Playbooks → After humans rotated — CI bots did not.
  2. Rank with CI / machine leftovers context.
  3. Connect GitHub org inventory or AWS IAM; cut with absence / replay probe.
  4. Export kill receipts for change tickets and IR — not CVE dashboards.

Critical infrastructure / sovereign

LingerCut serves commercial CI and critical-infrastructure operators (energy OT–IT bridge leftovers, defense primes/contractors, finance after vendor breach, telecom IdP leftovers). Same defensive bar: cut leftover access and prove it bounced. Not a cyber weapon. Prefer sovereign Docker Compose + volume /app/.data in customer-controlled infra when public SaaS is not allowed — docs/SOVEREIGN_DEPLOY.md and docs/CRITICAL_INFRA.md. That is not a dedicated AWS VPC LingerCut operates. No default telemetry; customer KMS placeholder for signing secrets.

  1. Read critical-infra positioning; pick the matching playbook.
  2. If required, run sovereign Compose instead of public Vercel.
  3. Use Inventory → Infrastructure / machine leftover trust section.
  4. Rank with the critical-infra playbook filter; cut; export kill receipts.

Pricing & Pilots

LingerCut offers a 3-tier + custom Sovereign structure: Lab / Community ($0 free forever for simulated data, Proof Engine v2, and false-green battery); Team / Beachhead ($499/mo or $4,990/yr · 100% free during Design Partner Beta for qualified teams, covering 1–2 live connectors like GitHub NHI and SOC 2 evidence packs); Enterprise / IR Assurance ($1,990/mo or $19,900/yr for unlimited connectors, 1-year signed audit retention, and isolated probe VLANs); and Sovereign (custom from $50k/yr for Docker Compose + /app/.data volume in customer-controlled infra — VPC, gov cloud, or on-prem — with customer KMS placeholder; not a dedicated AWS VPC LingerCut operates). Direct requests go to hello@lingercut.com or via /pricing. A chat answer is not a contract.

Lab vs Pilot vs Subscriptions

Lab / Community is $0 free forever: offline demo inventory cuts (lc_*), proof engine simulation, and false-green education without cloud credentials. Team / Beachhead ($499/mo, free during Beta) adds live GitHub org NHI, Google/Microsoft connectors, Upstash durability, and SOC 2/ISO audit evidence packs. Enterprise / IR Assurance ($1,990/mo) covers unlimited connectors, CAEP webhooks, and out-of-band probe VLANs. Sovereign ($50k+/yr) is Docker Compose + /app/.data in customer-controlled infra (not a dedicated AWS VPC LingerCut operates), with customer KMS placeholder. Apply on /pricing or contact hello@lingercut.com.

Safety boundaries

This guide and any LLM phrasing cannot: cut grants for you, invent revoke success, issue KR- receipts, store your passwords, declare the environment clean, or provide offensive cyber / exploit capability. LingerCut only helps operators cut and prove leftover trust in systems they authorize. Operators authorize Cut; probes decide the stamp.