Problem Access lanes Build & Auth Commands Controls Packages Platform Sign in Sign in
Local · Pre-deploy access check

Find the dangerous access lanes before you ship.

SeamShield maps who — or what — can access what in your AI-built app, flags the lanes that are unsafe to ship in plain English, and writes safe fix plans for your agent. It runs where your code already lives. Your source never leaves your machine.

Maps
Actor · Lane · Asset
Catches
10 access risks
Uploads
0 source files
$ npx @seamshield/cli ship . ready

For teams shipping AI-written code faster than anyone reviews it
Northbridge Vantage Helios Labs Forge&Co Meridian Aperture
01 / 08
The problem

AI ships code faster than
anyone reviews access.

Agents now write routes, rules, and config directly. Each change can quietly open a lane that lets the wrong actor reach the wrong asset — and these mistakes look fine in a diff. SeamShield catches the common unsafe-to-ship ones before hackers find them.

[ 01 ]
Secrets reachable from the browser
A service-role key or API secret ends up in client code or a public env variable — readable by anyone who opens the bundle.
Secrets
[ 02 ]
Public users can write private data
An RLS policy set to true, an open storage bucket, or a route with no auth lets anonymous writes hit your tables.
Data rules
[ 03 ]
Auth that only exists on the client
An admin page guarded by a localStorage role, or a server route that trusts a userId sent from the browser.
Authorization
[ 04 ]
Agents & dependencies expand the surface
An agent that can edit .env or security config without confirmation, or a new package that runs a script during install.
Agent · Deps
02 / 08
The core primitive

Every risk is one access lane.

SeamShield normalizes everything it finds into a single shape, so one engine can reason about secrets, data rules, auth, agents, and dependencies the same way.

Actor Lane Asset Permission Condition Risk
Access map · seamshield access 6 lanes · ranked by risk
public_user http_route storage:user-files write condition: none anonymous_write
frontend_bundle env_variable SERVICE_ROLE_KEY read condition: client exposed client_to_server_secret
authenticated_user http_route /api/admin/delete-user execute role from request body trusted_client_role
ai_agent filesystem .env modify no confirmation agent_to_secret
dependency package_install shell execute postinstall script dependency_to_shell
ActorLaneAssetPermissionConditionRisk
03 / 08
Core commands

Five commands.
One safe loop.

Map access, get a verdict, generate a safe fix, guard future edits, and learn new controls from real-world vulnerabilities — without source ever leaving your machine.

npx seamshield ship

The deploy verdict

The main command. Ranks every detected lane, applies controls, and returns one honest answer — unsafe to ship, needs review, or no critical access risks found. Never claims you're "secure."

Fails CI on critical risks
npx seamshield access

Show the access map

Lists every actor → lane → asset → permission → condition, ranked by risk, in plain language.

npx seamshield fix-plan

Write a safe agent fix

Generates a guard-railed prompt your agent can follow — no secret leaks, no weakened rules.

npx seamshield guard install

Guard future edits

A fast local policy gate that blocks high-confidence risks before an agent can create them.

npx seamshield learn

Update controls

Pulls new rule and control updates from vulnerability intelligence. Fetches rules only — never sends code.

Full surface · seamshield <cmd> .
initshipaccessscaninvestigateprivacyfix-plantest-planagent-contexttriageguardcidoctorlearn
04 / 08
The control library

Ten controls that catch
the unsafe-to-ship mistakes.

A control is reusable security logic: given these access lanes, is this pattern dangerous? SeamShield never shows you a raw CWE number — it tells you what the code actually does.

ControlWhat it means, in plain EnglishCategoryDefault
client_to_server_secretA server credential is reachable from browser code or a public env variable.Secretscritical
anonymous_writePublic or anonymous users can write or delete private data.Data rulescritical
trusted_client_roleThe server trusts a role or user ID sent from the browser.Authorizationcritical
input_to_shellUser input can reach a shell command.Executioncritical
client_only_authAn admin area or private data is protected only by client-side checks.Authhigh
input_to_filesystemA file path is derived from user input without an allowlist.Executionhigh
agent_to_secretAn AI agent can modify .env or secrets without confirmation.Agenthigh
agent_to_policyAn AI agent can rewrite database rules or auth middleware without confirmation.Agenthigh
wildcard_cors_with_credentialsAn authenticated API allows wildcard or broad origins with credentials.Networkhigh
dependency_to_shellA dependency runs a script during install — higher if it's new or agent-added.Dependenciesmedium
05 / 08
Safe fixes for agents

Every critical risk ships
with a safe fix plan.

Hand your agent a plan that fixes the lane without opening a new one — explicit rules keep it from printing the secret, weakening auth, or breaking the UI.

.seamshield/fix-plans/critical-access-risks.md seamshield fix-plan --agent claude
# SeamShield Fix Plan Issue Frontend code can access a server credential. Rules
  1. Do not print, rename, or expose the secret.
  2. Do not use NEXT_PUBLIC_ for server credentials.
  3. Do not weaken auth or database rules.
  4. Preserve current UI behavior.
Steps
  1. Create a server-only route or action.
  2. Move privileged SDK init into server-only code.
  3. Call the server route from the client.
  4. Rotate the exposed credential.
  5. Re-run seamshield ship.
Your code stays · only rule updates move

Stays on your machine — always

Source files, diffs & ASTs
Secrets & .env values
Agent prompts & code context

The only network traffic — none of it your code

Package names & versions, to the npm registry & OSV
Rule & control updates it pulls in
A check for a newer CLI version

SeamShield runs fully offline if you want. When it is online, traffic is one-way — it pulls rule updates in, and never sends your source, secrets, or diffs out.

06 / 08
The agent guard

Stop the next bad lane
before it opens.

Guard is a fast local policy gate, not a full scanner. On every agent edit it classifies the affected lane, runs the high-confidence controls, and decides — allow, warn, or block.

seamshield guard · claude code hook
BLOCKED
This edit moves a server credential into browser-reachable code.
Risk
frontend_bundle → secret → read
Safe alternative
Move the privileged call into a server-only route.
run seamshield fix-plan --risk ssr_123
G1

Blocks only high-confidence risks

Writing secrets into client files, opening public-write rules, editing .env without confirmation, moving admin checks client-side, or adding dangerous shell commands.

G2

Warns on the gray areas

New dependency install scripts, auth middleware changes, broad CORS changes, and deploy-config edits get a warning, not a wall.

G3

Learns from real vulnerabilities

Each new control traces back to a real CVE, advisory, or incident — translated into an access failure, a local check, and a guard rule.

Writes agent context for
Claude Code Cursor Codex Gemini Cline Windsurf Copilot opencode
07 / 08
Two layers

One philosophy.
Two time horizons.

SeamShield maps access lanes — who or what can reach what. It does this twice: once while your agents build the app, and again while real users hit it in production.

SeamShield Build Build-time

Protects apps while AI agents build them.

  • Maps risky access lanes in code & config
  • Catches exposed secrets, fake auth & open rules
  • Blocks unsafe agent edits before they ship
Actor → Lane → Asset → Permission → Condition All packages
SeamShield Auth Runtime

Protects live access lanes at runtime.

  • Maps users, devices, sessions, assets & actions
  • Detects account sharing, abuse & bots
  • Flags leaked content & suspicious access
User → Device → Session → Asset → Action Pro & Enterprise

Same core primitive — an access lane — enforced before you ship and after you ship.

08 / 08
Open core

Open the trust layer.
Monetize the intelligence.

The local engine is open source — read it, run it offline, block the network, and verify for yourself that your source never leaves. We charge for the curated intelligence, runtime Auth, and team governance on top — never for taking custody of your code.

Read every rule

The engine that scans your repo is open source. Inspect exactly what it checks — nothing is hidden.

Run it fully offline

Block the network and watch it work. Proof, not promises, that your source never leaves the machine.

Every finding explained

See the exact access lane and the reason each risk fired. No black-box scores to take on faith.

Community · open source
Build, local
Free · no account

The open-source CLI, @seamshield/cli — map access and catch the obvious unsafe-to-ship lanes, fully offline. Everything you need to verify your own app before you ship.

Get the CLI
Pro · builders & small teams
Build + Auth
SeamShield Auth · up to 100K users

Advanced Build coverage, plus SeamShield Auth at runtime — account sharing, abuse and bot detection — for up to 100K users.

Go Pro
Enterprise · usage-based
Build + Auth at scale
Usage-based Auth · talk to us

Everything in Pro with usage-based SeamShield Auth, plus governance, CI enforcement, and audit across many repos.

Book a demo

SeamShield Auth is available on Pro (up to 100K users) and Enterprise (usage-based). Defense is semantic, not secret — open rules, strength from modeling access correctly.

The promise

Catch the mistakes before hackers do.

0 files
Source uploaded by default
8+
Surfaces: routes · Supabase · Firebase · Convex · Vercel · Node · agent · deps
10
Controls in the core library
1 verdict
Ship · review · or no critical risks
Local-first access checks for AI-built apps

Run it before
you ship.

One command tells you whether your AI-built app has dangerous access lanes open — no account, no upload. Then hand your agent a safe fix and guard every edit after.

$ npx @seamshield/cli init .
$ npx @seamshield/cli ship .
Requires Node.js 20+  ·  or npm i -g @seamshield/cli
Start free trial Sign in to the platform