# Security and data boundaries

> Source: https://whisperer.one/llms/security.md · Whisperer machine-readable layer.
> Product overview: https://whisperer.one/llms/product.md · Full corpus: https://whisperer.one/llms-full.txt

What Whisperer stores, what it does not, and the boundaries built into the product.

## Data boundaries

- **Per-user isolation.** Every query is scoped by owner. This is enforced in the data layer
  rather than left to each call site.
- **No-logs mode** exists for work that should leave no record.
- **Sharing is per object and opt-in.** A meeting is visible to an external MCP client only if
  it was explicitly marked shared; the archive never is. Ephemeral meetings are excluded
  unconditionally.

## Boundaries that no setting relaxes

- Irreversible actions require a human confirmation with a server-rendered preview of what
  would be affected. They are not available to external clients at all.
- Tools that accept a credential are never exposed externally — that would be a channel for
  injecting a secret into someone else's integration.
- Access the user granted to Whisperer for their other services is never re-exposed to third
  parties through the MCP server.
- User-supplied MCP servers that run as a process are launched on the user's own machine, not
  on Whisperer infrastructure.

## Authentication

OAuth 2.1 with mandatory PKCE (`S256`) for external clients; implicit and password grants do
not exist. Tokens are stored as SHA-256 hashes and compared in constant time. Refresh tokens
are accepted only at the token endpoint, never as an access token. Revocation and expiry are
fail-closed.

## Abuse and availability

Rate limits are keyed per token rather than per IP, so users behind one NAT do not share a
bucket. Outbound URLs supplied by users are validated against private, loopback, link-local
and CGNAT ranges before any request is made.

## Reference

- Data and privacy: /docs/en/security/data-and-privacy.html
- Legal documents (16 languages): https://whisperer.one/privacy/, https://whisperer.one/terms/
