> ## Documentation Index
> Fetch the complete documentation index at: https://docs.b3iq.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Operator Security

Local auth, local API keys, support grants, setup tokens, secret handling, and public data boundaries for B3IQ operators.

B3IQ security starts with local boundaries. A node operator controls local setup,
owner auth, support access, local keys, runtime state, and the decision to
use account-scoped managed operation.

## Credential classes

| Credential | Prefix or form | Purpose | Handling |
| --- | --- | --- | --- |
| Setup token | ` tokenized setup URL ` | Bootstrap or recovery | Do not log or send. Use only for initial local setup or recovery. |
| Owner session | ` HttpOnly cookie ` | Normal local operator UI | Created after owner login, not copied into CLI examples. |
| Local API key | ` b3iq_local_ ` | Local inference clients | Shown once, stored hashed, revocable, scoped. |
| Support grant | ` b3iq_support_ ` | Temporary diagnostics | Expiring, revocable, diagnostics-only, redacted support bundles. |
| Hosted gateway key | ` b3iq_gateway_ ` | Hosted developer API access | Separate from local keys, carries account ownership and usage attribution. |
| Personal access token | ` b3iq_pat_ ` | b3iq CLI and automation auth | Shown once, stored hashed, revocable from Settings → CLI tokens. Pass via the B3IQ_TOKEN env var, never argv. |

## Secret handling rules

**Use files and stdin**

Store one-time keys in restrictive files and pass them through config files,
    stdin, or environment variables.
  **Put secrets in process argv**

Shell history, process listings, logs, and copied snippets can leak values
    passed directly as command arguments.

## Safe local key pattern

```bash
umask 077
mkdir -p .secrets
cat > .secrets/b3iq-local-key

B3IQ_LOCAL_KEY_FILE=.secrets/b3iq-local-key
```

Then build short-lived request config files instead of writing the bearer token
in the command line.

## Diagnostic and historical-record boundary

Public explorer pages are retired. Retained sanitized diagnostic APIs and
historical records may expose only the fields their access policy allows:

- Public node and model IDs.
- Public-safe readiness status and blockers.
- Benchmark summaries and observed benchmark freshness.
- Receipt hashes, roots, counts, and totals.
- Public settlement transaction hashes and settlement status.

They must not expose:

- Raw prompts or outputs.
- API keys, customer tokens, setup tokens, local API keys, support secrets, or token hashes.
- Customer identity.
- Exact private routes or private request logs.
- Local runtime URLs, filesystem paths, tunnel IDs, tunnel tokens, or connector details.
- Raw TEE quotes or certificate chains.

## SSH access

SSH keys live at two levels. Fleet SSH keys are set once at the org level, in
Settings, and are reconciled onto every machine your org owns. Add a key
there and it lands on the whole fleet without touching each machine. Each
machine also has its own SSH lane, which you can enable or disable from the
machine's dashboard page; a disabled lane refuses inbound SSH even if your
fleet key is trusted elsewhere.

**Earn mode disables SSH**

Switching a machine to earn mode force-disables its SSH lane along with all
  b3iq serving. Your stored keys are kept, not deleted, so switching the
  machine back to its dedicated mode only requires re-enabling the lane, not a
  re-setup.

## Remote support

Support grants are scoped to diagnostics. They should not authorize API-key
management, owner recovery, payout account credential reveal, command execution
outside allowed diagnostics, or raw prompt/output access.

## Related

**[Private inference](/protocol/privacy)**

Learn what private_transport protects today and what TEE privacy still needs.
  **[Local API](/developers/local-api)**

See safe local examples that keep tokens out of argv.
  **[Release trust](/operations/release-trust)**

Track host-agent signing, release manifest, and update trust gates.

**Running regulated workloads?**

[HIPAA](/protocol/hipaa) maps the credential and access boundaries above onto
  a BAA: which surfaces are covered, and why a machine handling PHI must stay
  out of earn mode.