# SEAL > SEAL is how agents and people hand each other large files and secrets without the content passing through the chat, the model or the SEAL server. ## What to use when - Give a person a large file or a secret: `seal send --json` (MCP: `seal_share`: into the user's SEAL inbox once connected, else to their clipboard; never to the model) - Connect to the user's SEAL inbox once, so files arrive there with nothing to copy: `seal pair` (MCP: `seal_pair`); then `seal send --to owner`, and every seal you make also shows in their inbox, where they manage and revoke it - Get a file or a secret from a person, never pasted into the chat: `seal request --what "Brave API key" --kind secret --wait --json` (MCP: `seal_request`; you get a file path, not the value) - Give a file to another agent that only it can open: `seal send --to ` (MCP: `seal_share mode=forward`); it lands in that agent's inbox - Files other agents sent to your key: `seal inbox --wait 60 --json`, then `seal inbox open --output --json` (MCP: `seal_inbox`, then `seal_open item=`) - Open a SEAL link onto disk: `seal receive --output --json` (MCP: `seal_open mode=file`) - Run a program with a secret from a link, the value kept out of its output: `seal run --seal =API_KEY --redact -- ` (MCP: `seal_run`) - Find keys and SEAL links that leaked into agent transcripts, on this machine only: `seal doctor --transcripts` Files are encrypted on the sender's device (AES-256-GCM); the key travels in the link fragment after `#`, which never reaches a server. No account and no API key. Free: up to 1 GB and 30 files per seal, more after one card payment; links live from 5m to 7d and can burn after one read. ## Pages - For people: [Secure file transfer](https://seal.net/secure-file-transfer), [Secure document sharing](https://seal.net/secure-document-sharing), [Send large files](https://seal.net/send-large-files), [Temporary file sharing](https://seal.net/temporary-file-sharing) - For AI agents: [Secrets for AI agents](https://seal.net/share-secrets-with-ai-agents), [File transfer for AI agents](https://seal.net/ai-agent-file-transfer) ## Docs - [Web app](https://seal.net/docs/web): creating a seal, access rules, NDA, the access log and its export, revoking, paying for more room - [Guides](https://seal.net/docs/guides): one task at a time, on the web, in the CLI and through MCP - [CLI](https://seal.net/docs/cli): `curl -fsSL https://seal.net/install.sh | sh` - [MCP server](https://seal.net/docs/mcp): `npx -y sealnet-mcp@latest`, no setup - [SDK](https://seal.net/docs/sdk): `npm install sealnet` - Python: `pip install sealnet`, then `import sealnet` - [HTTP API](https://seal.net/docs/api): OpenAPI schema at https://api.seal.net/openapi.json - [AGENTS.md block](https://seal.net/docs/agents): the same rules for your own agents - [Protocol specification](https://seal.net/docs/spec): formats, links, HTTP flows and test vectors, for your own client ## SEAL Pro agents: sealfs An agent of a SEAL Pro organisation is `sealfs`: one binary, one `SEAL_SEED`, the keys in its own process. Every command takes `--json`: one object on stdout, or `{"error":{"code","message"}}`. - Where: an agent in a container runs `sealfs` without a mount; on a workstation, `sealfs mount` puts the organisation's drive at `/Volumes/SEAL`, `~/seal` or `S:` (`sealfs unmount`, `sealfs install-service` to mount it at login); a person signs a computer in as themselves with `sealfs login` - Enroll: `sealfs enroll --workload --token `; or `sealfs enroll --request` prints the address a person creates the agent with, then `sealfs enroll --workload ` - Files of the seals granted to it, paths `///`: `sealfs ls [--versions]`, `sealfs cat [--range A-B] [-o ]`, `sealfs put [--auto | --base ] [--keep-both]`, `sealfs rm`, `sealfs restore `, `sealfs mv`, `sealfs mkdir`, `sealfs lease` - Secrets: `sealfs run --secret NAME=[@version] -- ` (the values only in its environment, masked in its output), `sealfs secrets ls`, `sealfs request --reason "…" --wait`, `sealfs secret materialize ` (a 0600 file, only its path printed); a value is never printed - Search: `sealfs search "" [--index ]` reads an index snapshot of a seal you hold into memory and ranks it with `seal-indexer`, results only from your own seals; `sealfs events --after ` lists what changed in the seals the key holds. The reference indexer is a workload of the organisation, its image built from released files: https://seal.net/releases/download/seal-indexer-v0.1.4/README.md - Contracts: the agent signs by itself. `sealfs sign ls [--pending]` lists the contracts it may sign, each by its file; `sealfs sign show `; `sealfs sign sign ` reads the version the contract names, checks its plaintext against the contract's hash and only then signs with the agent's own key. A person makes one on their own computer: `sealfs sign request --signer … [--quorum N] [--sequential]` - `sealfs status`, `sealfs doctor [--transcripts ]`, `sealfs cache clear`, `sealfs self-update` - Exit codes: 0 done, 2 input or not found, 3 version conflict, 4 no right (403, the plan's 402, the day's growth ceiling), 5 held (`hold_id`), 6 network or server, 7 key or login, 8 the document is not the contract's (nothing signed), 9 not your turn yet in a contract signed in turn, 10 client outdated - MCP: with `sealfs` on PATH enrolled under the server's `SEAL_SEED`, sealnet-mcp offers `seal_pro_secret_use`, `seal_pro_secret_request`, `seal_pro_file_get` and `seal_pro_run` ## Optional - [Full documentation in one file](https://seal.net/llms-full.txt) - [Pricing](https://seal.net/pricing) - [Security](https://seal.net/legal/security)