Skip to content

Reference

Security and privacy

What Cloak Proxy stores on your Mac, what never leaves it, how the root certificate, API token and MCP access are protected, and how to remove everything.

A debugging proxy sees everything your apps send, including passwords, cookies and tokens, and anyone holding the private key of the certificate that lets it decrypt HTTPS could read that traffic too. This page explains what Cloak Proxy keeps, where, who can reach it, and how to turn everything off and remove it when you’re done.

Cloak Proxy runs entirely on your Mac. It has no account, no cloud service and no sync.

  • No telemetry. Cloak Proxy doesn’t send usage data, analytics, crash reports or captured traffic anywhere. It doesn’t check for updates in the background.
  • Captured traffic stays in memory. Requests live in the app’s memory until you quit or clear the session. They’re written to disk only when you save or export them.
  • No sign-in. Nothing about you or your Mac is registered with Subcloak to use the app.
  • The download form is separate. When you download Cloak Proxy from subcloak.com, the download page asks for your name and email and stores them with the platform you chose and your country, so we can tell you about new releases. That happens on the website, once, before you have the app; the app itself never sends it. See the Subcloak privacy policy.

Cloak Proxy only connects to the internet to do what you asked:

Connection When
The servers your apps and devices talk to While you’re capturing: Cloak Proxy forwards their requests.
The servers your API-client requests go to When you send, run, monitor or load test them.
Your chosen AI provider (Anthropic, OpenAI, Gemini or a compatible server) When you use Agent Mode or AI requests, with your own key. Requests go straight from your Mac to the provider.
api.github.com When you publish to a Gist.
jsDelivr When you add an npm package to the API client’s script packages.
Your Git remote When you pull or push the API client workspace.
Public DNS servers 1.1.1.1 and 8.8.8.8 As a fallback, to look up the real address of domains you captured for apps that ignore the proxy.
What Where
Root certificate ~/Library/Application Support/CloakProxy/cloak-proxy-ca.pem
Root certificate’s private key ~/Library/Application Support/CloakProxy/cloak-proxy-ca-key.pem
Local API token ~/Library/Application Support/CloakProxy/api-token (readable only by your user account)
API client workspace (default) ~/Library/Application Support/CloakProxy/Workspace/, or the folder you chose. Secret variable values are in its git-ignored .cloak/ folder.
Settings and rules Cloak Proxy’s macOS preferences (domain com.subcloak.cloakproxy)
Vault secrets, including the AI provider key for Agent Mode Your login keychain, as CloakProxy Vault items
GitHub token for Gists (if you chose to remember it) Your login keychain, as com.subcloak.cloakproxy.github
Trusted root certificate Your login keychain
Diagnostics log ~/Library/Logs/CloakProxy/cloak-proxy.log. It holds events such as start-up, macOS proxy changes and refused connections, not request contents.
Domains captured for apps that ignore the proxy One file per domain in /etc/resolver/, and a LaunchAgent at ~/Library/LaunchAgents/com.subcloak.cloakproxy.dns-standby.plist
Sessions, HAR files and exports Wherever you save them
TLS key log (if on) ~/Desktop/cloak-proxy-sslkeys.log by default

To show you HTTPS, Cloak Proxy acts as the server to your app, using a certificate it signs on the fly with its own root certificate. Your Mac (and any device you set up) trusts that root because you installed it.

  • Created on your Mac. The first time Cloak Proxy starts, it generates a new root certificate and private key. Every installation has its own; no two Macs share one.
  • Never leaves your Mac. Cloak Proxy never uploads the certificate or its key. You copy the certificate (not the key) to devices yourself.
  • Only what you choose is decrypted. HTTPS is decrypted only for hosts and apps on your SSL proxying list. Everything else passes through encrypted.

When you no longer debug a device, remove the certificate from it: delete the iOS profile, remove the Android user certificate, or erase the simulator. See Certificate.

Settings › Certificate. The footnote reminds you the key never leaves this Mac.

  1. Remove the certificate from your keychain
  2. Replace the certificate and key with new ones
  3. The certificate and key never leave this Mac
Settings, Certificate page showing the certificate's name, file, trusted status, and buttons to re-install, remove, regenerate or replace it

By default Cloak Proxy listens only on 127.0.0.1, so only programs on your Mac can use it.

  • Allow other devices to connect (Settings › General) opens the proxy to your network. Anyone on it can then send traffic through your Mac and see your certificate page. Turn it on only when you’re debugging a device, limit it with Allowed devices on Settings › Network, and turn it off afterwards.
  • The SOCKS5 proxy and Reverse proxies follow the same setting: this Mac only, unless Allow other devices to connect is on. The listeners that capture apps which ignore the proxy accept connections from this Mac only.
  • Devices whose proxy points at your Mac lose their internet connection when Cloak Proxy stops. Remove the proxy from them when you’re done.

See Other devices and access control.

cloakctl and the MCP server control the app through a local API on the proxy’s port. Two checks protect it:

  1. This Mac only. The API answers only connections from 127.0.0.1 or ::1. A phone or another computer gets 403, even when other devices may use the proxy.
  2. A token. Every request must send the token from ~/Library/Application Support/CloakProxy/api-token in the X-Cloak-Token header. The file is created with permissions that let only your user account read it. Web pages can’t read it, so a website can’t use the API to read your traffic.

Any program running as your user can read the token. Treat it like a password: don’t paste it into tickets, chats or shared scripts. To replace it, delete the file; a new token is made on the next request.

The MCP server lets an AI assistant do anything you can do in the app.

  • Captured data reaches the assistant’s model. When the assistant reads a request, its headers and body become part of the conversation and are sent to your assistant’s provider. That can include cookies, tokens and personal data.
  • The assistant is told to ask first before deleting things or turning macOS capture off, and destructive tools are marked so your client can ask you to confirm. Keep approval prompts on for tools that change things.
  • Your password is still needed to trust or remove the certificate and to capture apps that ignore the proxy. The assistant can only open the screen for you.
  • Remove the server from your assistant’s settings when you no longer need it.

See MCP server › Security.

Captured traffic contains credentials. Before anything leaves your Mac:

Sharing How to keep secrets out
Exported HAR, CSV, Postman, OpenAPI or session files Turn on Redact secrets: tokens, cookies, passwords, API keys and card numbers in the export dialog. See Export.
GitHub Gists Redact secrets is on by default, and gists are secret by default. A secret gist is still readable by anyone with the link. See Publish to Gist.
CI recordings Use cloakctl run --record … --redact. See Headless runs and CI.
Through the API or MCP export_session takes "redact": true.

Redaction replaces authorization and API key headers, cookies, credential parameters, password-like fields and anything the secret scanner recognizes with REDACTED. Review the file anyway: it can’t know every app’s secret fields. See Redaction and Secrets.

Decrypt only traffic you’re allowed to see

Section titled “Decrypt only traffic you’re allowed to see”

Cloak Proxy is for debugging your own apps and devices.

  • Decrypt traffic from your own apps and accounts, or with the owner’s permission.
  • Don’t capture other people’s traffic, for example by letting other people’s devices use your proxy, without their knowledge and consent.
  • Testing a system you don’t own, including security testing, needs the owner’s written permission. See Pentest your own app.
Change How it’s undone
The macOS HTTP and HTTPS proxy Restored to your previous settings when you turn capture off or quit. If the app is killed, the proxy guard restores them. See Troubleshooting.
The root certificate in your login keychain Settings › Certificate › Remove from Keychain.
/etc/resolver files and the DNS standby LaunchAgent Stop Capturing in the capture sheet for each app.
A cloakctl link in /usr/local/bin sudo rm /usr/local/bin/cloakctl

Each of these needs your password, or your explicit action, to set up.

To remove Cloak Proxy and everything it created:

  1. In Cloak Proxy, turn off macOS capture (⇧ ⌘ P).

  2. For each app under capture, open its capture sheet and click Stop Capturing. This removes the /etc/resolver files and, after the last one, the DNS standby LaunchAgent.

  3. In Settings › Certificate, click Remove from Keychain.

  4. Quit Cloak Proxy and drag it from Applications to the Trash.

  5. Remove its files. This deletes the certificate, its key, the API token, the default API client workspace, the log and the settings:

    Terminal
    rm -rf ~/Library/Application\ Support/CloakProxy
    rm -rf ~/Library/Logs/CloakProxy
    defaults delete com.subcloak.cloakproxy
    sudo rm -f /usr/local/bin/cloakctl

    If you kept your API client workspace in another folder, it stays where it is.

  6. In Keychain Access, search for Cloak Proxy and CloakProxy and delete any remaining items: certificates, CloakProxy Vault secrets and the com.subcloak.cloakproxy.github token.

  7. On each phone, tablet and simulator you set up, remove the certificate and the proxy.

  8. Delete any TLS key log, HAR files and sessions you saved.

See also Install › Uninstall.