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.
Everything stays on your Mac
Section titled “Everything stays on your Mac”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. |
Where your data is stored
Section titled “Where your data is stored”| 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 |
The root certificate and its private key
Section titled “The root certificate and its private key”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.
- Remove the certificate from your keychain
- Replace the certificate and key with new ones
- The certificate and key never leave this Mac
Who can reach the proxy
Section titled “Who can reach the proxy”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.
The local API and its token
Section titled “The local API and its token”cloakctl and the MCP server control the app through a local API on the proxy’s port. Two checks protect it:
- This Mac only. The API answers only connections from
127.0.0.1or::1. A phone or another computer gets403, even when other devices may use the proxy. - A token. Every request must send the token from
~/Library/Application Support/CloakProxy/api-tokenin theX-Cloak-Tokenheader. 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.
AI assistants and MCP
Section titled “AI assistants and MCP”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.
Sharing captures safely
Section titled “Sharing captures safely”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.
Things that change system settings
Section titled “Things that change system settings”| 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.
Remove everything
Section titled “Remove everything”To remove Cloak Proxy and everything it created:
-
In Cloak Proxy, turn off macOS capture (⇧ ⌘ P).
-
For each app under capture, open its capture sheet and click Stop Capturing. This removes the
/etc/resolverfiles and, after the last one, the DNS standby LaunchAgent. -
In Settings › Certificate, click Remove from Keychain.
-
Quit Cloak Proxy and drag it from Applications to the Trash.
-
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/CloakProxyrm -rf ~/Library/Logs/CloakProxydefaults delete com.subcloak.cloakproxysudo rm -f /usr/local/bin/cloakctlIf you kept your API client workspace in another folder, it stays where it is.
-
In Keychain Access, search for
Cloak ProxyandCloakProxyand delete any remaining items: certificates, CloakProxy Vault secrets and thecom.subcloak.cloakproxy.githubtoken. -
On each phone, tablet and simulator you set up, remove the certificate and the proxy.
-
Delete any TLS key log, HAR files and sessions you saved.
See also Install › Uninstall.