Mana

Network Transparency

Mana enforces a deny-by-default outbound allowlist for its HTTP clients. Provider credentials are only allowed to reach the official provider endpoints listed below.

Firewall files

Download the rules for a one-time import, or use “Subscribe in Little Snitch” so the rule group auto-updates when this allowlist changes.

Little Snitch rules (download) Subscribe in Little Snitch Plain host list Machine-readable allowlist Plain-text verification guide

Traffic Schema

Own and infrastructure endpoints list the categories Mana sends. The negative declaration is part of the public contract.

Complete allowlist

Official vendor endpoints use your own token to call the official API. Mana does not send provider credentials to Silent Spell or Mana infrastructure.

api.anthropic.com

Tier: credentialReachable

Purpose: Claude usage API (Bearer)

Official vendor endpoints use your own token to call the official API. Mana does not send provider credentials to Silent Spell or Mana infrastructure.

platform.claude.com

Tier: credentialReachable

Purpose: Claude OAuth token refresh

Official vendor endpoints use your own token to call the official API. Mana does not send provider credentials to Silent Spell or Mana infrastructure.

chatgpt.com

Tier: credentialReachable

Purpose: Codex/ChatGPT usage API (Bearer)

Official vendor endpoints use your own token to call the official API. Mana does not send provider credentials to Silent Spell or Mana infrastructure.

auth.openai.com

Tier: credentialReachable

Purpose: Codex OAuth token refresh

Official vendor endpoints use your own token to call the official API. Mana does not send provider credentials to Silent Spell or Mana infrastructure.

cloudcode-pa.googleapis.com

Tier: credentialReachable

Purpose: Gemini Code Assist quota (Bearer)

Official vendor endpoints use your own token to call the official API. Mana does not send provider credentials to Silent Spell or Mana infrastructure.

oauth2.googleapis.com

Tier: credentialReachable

Purpose: Gemini OAuth token refresh

Official vendor endpoints use your own token to call the official API. Mana does not send provider credentials to Silent Spell or Mana infrastructure.

cursor.com

Tier: credentialReachable

Purpose: Cursor usage summary (Cookie)

Official vendor endpoints use your own token to call the official API. Mana does not send provider credentials to Silent Spell or Mana infrastructure.

license.silent-spell.com

Tier: noCredential

Purpose: License activate/refresh/reset/trial-sync

Sent field categories:

  • license: Gumroad license key supplied by the user
  • device_id: Per-device identifier used for license binding
  • device_public_key: Public key for this device's license proof
  • app_version: Mana app version
  • device_model: Coarse Mac model identifier when readable
  • device_check_token: Apple DeviceCheck token for trial sync
  • progress: Coarse trial progress bucket
  • nonce: Device-proof nonce
  • device_proof: Device-proof signature
  • token: Signed Mana license token

Negative declaration: Never contains provider credentials, user prompts, or usage body content.

downloads.silent-spell.com

Tier: noCredential

Purpose: App auto-updates: the Sparkle updater fetches the appcast and DMG here. Sparkle uses its own networking, not Mana's guarded HTTP client, so this host is listed for firewall completeness but is not enforced by the egress guard.

Sent field categories:

  • sparkle_update_request: Sparkle HTTPS GET request metadata only; no Mana request body

Negative declaration: Never contains provider credentials, user prompts, or usage body content.

Redirects

HTTP redirects cannot move a request to a new host: the guard blocks every cross-host redirect outright (no Mana endpoint legitimately redirects to a different host). Same-host redirects are re-checked against the full allowlist — scheme, port, and credential-tier — exactly like the original request. So a credential can never follow a redirect to a host other than the one it started on, regardless of whether it lives in a header, the URL, or the request body.

Non-HTTPClient egress (disclosed, not allowlisted)

Payment flow: Mana's only payment-related network request is the Gumroad license key sent to license.silent-spell.com (verified server-side against Gumroad). The purchase itself is a browser hand-off to silentgumroad.gumroad.com opened in your system browser — Mana never contacts Gumroad through its own HTTPClient, so it is disclosed here but not in the enforced allowlist. The x.com share link and Apple's DeviceCheck attestation are likewise not Mana HTTPClient egress and carry no provider credentials, prompts, or usage content.

Antigravity quota is read from the locally-installed agy CLI's own server on 127.0.0.1 (loopback), not from a remote host. Mana issues no outbound network request for Antigravity — the agy process contacts Google itself — so Antigravity carries no Mana egress host and is not in the enforced allowlist.

Grok billing is read through the locally-installed official xAI Grok Build CLI's ACP stdio interface. Mana does not read Grok credentials or contact a remote xAI/Grok billing host; the CLI owns authentication and its upstream traffic. Grok therefore carries no Mana egress host and is not in the enforced allowlist.

Self-verification

Use your own firewall or packet capture against the real Mana binary. Do not treat application logs as proof.