Pitwall macOS Privacy Policy
Last updated: October 29, 2026
In short: Pitwall macOS processes agent activity on your Mac and stores its collected data locally. The current app and collector do not upload this data, and we do not operate a server that receives it. You can choose to share information with us when asking for support.
This policy covers Pitwall macOS, its event collector, and this website (pitwall.oasislab.dev). Pitwall is provided by oasislab.dev ("we"). Questions: [email protected].
What Pitwall reads on your Mac
To show what your coding agents are doing, Pitwall reads, on your Mac only:
- Event files in
~/.pitwall/events/, written by the collector hooks or plugins you install into each agent. They contain event names, times, session and task identifiers, paths, tool names, status, terminal hints (including tmux pane IDs and local socket paths) and short text excerpts. These include the request's first non-empty line (truncated to 80 characters), and, for Claude Code, Pi and OpenCode, waiting details such as a command, path or dialog title (truncated to 120 characters) and the final reply's opening text (truncated to 160 characters). Some status, notification and error text is also retained. The collector is open source; the fields are documented in the event format. - Session files the agents keep themselves (for example session logs and transcripts), read to determine task status and match sessions for navigation. Pitwall does not copy these files into its history.
- Local Git metadata, read to display the current repository, branch and worktree.
Pitwall stores selected fields and excerpts rather than complete conversations or tool output. Excerpts, paths, error messages and configuration backups may contain sensitive information from the source. Truncating text does not remove all personal information or secrets.
What Pitwall stores, and where
- Collected event files in
~/.pitwall/events/. These are appended to and currently have no automatic rotation or expiry. - Task history in
~/Library/Application Support/Pitwall/, including identifiers, paths, terminal hints, status, times, request summaries and, for Claude Code, Pi and OpenCode, reply excerpts. History normally keeps the latest 1,000 tasks; unfinished tasks may temporarily exceed that limit. Waiting details are not written to this history. Repository and branch information is read when displayed, rather than stored in history. You can delete entries or clear the history in the app. - Pending Claude Code, Codex, Devin, Pi and OpenCode approval requests in
~/.pitwall/approvals/, including request, session and turn identifiers, tool names, process IDs, times and tool input for display (JSON longer than 4,000 characters is truncated). Request and decision files are removed after an answer, withdrawal or timeout; input fingerprint markers stay until the session ends. These inputs are not written to task history or the event spool. Codex reads at most the last 1 MiB of its local rollout to identify the current approval reviewer without retaining the rollout content. For Pi, the collector's extension writes requests for allow / reject prompts that other extensions show. OpenCode's plugin writes permission requests while its own prompt remains open; questions/forms are shown as waiting status and must be answered in OpenCode. - For each open OpenCode terminal, a small file in
~/.pitwall/opencode/clients/with its process ID and start time, terminal name, working directory and the session IDs it shows, so Pitwall can return to the right tab. The OpenCode plugin deletes it when the terminal closes. - If you choose to install the optional DeepSeek Harness navigation plugin, its files are stored in
~/.pitwall/plugins/deepseek-harness-navigation/. The plugin is bundled with Pitwall and installed offline using Harness's runtime. Installation backs up the Harness profile before adding its own dependency and configuration. Declining does not change that profile; you can install, repair or remove the plugin in Settings. App updates refresh only an already installed plugin. Short-lived navigation requests and results in~/.pitwall/deepseek-harness/contain request and session IDs, times, expiry, selection results and a heartbeat with navigation compatibility status, without conversation text. Requests and results are normally removed after completion, cancellation or timeout; files left by an unexpected exit may remain until a later navigation or removal; the installation marker and heartbeat remain until removal. Uninstallation also works without Harness or a valid profile: local plugin files are removed, while uneditable profile entries are preserved with a local cleanup-pending flag and a retry option in Settings. Navigation uses local files and Harness's existing authenticated local channel without opening a new listening port. - Your settings, plus the sessions you pin and which finished rounds you have seen (agent session and task IDs only), in the standard macOS preferences for the app.
- Configuration backups in
~/.pitwall/backups/are copies of original files and may contain sensitive settings. The collector installer saves hook configuration in<date>-<time>/groups and keeps its latest 10 groups. The Harness navigation installer separately backs up~/.dsh/profiles/desktop/package.jsonandcordis.patch.ymlindeepseek-<milliseconds>-<random>/groups, keeping its latest 10 groups. The two installers prune only their own groups, so up to 20 groups can normally coexist. Pitwall's own Pi extension and OpenCode plugin files are installed without backup.
These files and settings stay on your Mac; Pitwall does not upload them. Clearing history does not delete collected events, config backups or the agents' own records. Uninstalling the collector removes its hooks or plugins and leaves event files and backups in place. Before deleting Pitwall's local files, uninstall the optional Harness navigation plugin in Settings and resolve any remaining profile entries, so Harness does not retain references to deleted plugin files. Then stop the app, uninstall the collector, and delete ~/.pitwall/ and ~/Library/Application Support/Pitwall/ (or your custom collector directory). App preferences are stored separately by macOS; deleting the app does not itself clear them. Copies made by your own backup or sync tools are managed by those tools.
Network
The app and collector do not upload collected agent data. The app makes network requests for software updates and license operations, as described below; the collector does not make external network requests. The optional Harness navigation plugin uses only Harness's existing authenticated local channel. They do not include telemetry, automatic crash reporting or usage analytics. Agent software, website hosting, downloads and information you choose to share for support are separate from this local collection.
License operations apply to versions that take a license key. When you activate or deactivate a key, the app sends the key and your Mac's hardware model (for example "Mac15,3", not its name) to our activation service, which runs on Cloudflare Workers and passes them to Creem to check the license. The service returns a signed token, which the app stores in your Keychain with the key and the trial start date and verifies offline. Once a week, an activated app sends the key and this Mac's activation ID to the same service to check whether the license was disabled, for example after a refund; if Creem says it was, the app removes the license from this Mac. If the check can't get an answer, nothing changes. The service doesn't keep its own copy of these requests beyond Cloudflare's standard request logs, and it never receives agent data. Without an activated license, no weekly license validation is sent.
Software updates: distribution builds use Sparkle to check a signed update list on pitwall.oasislab.dev once a day. After you confirm an update, the app downloads its signed installer from GitHub Releases and restarts. These requests expose normal connection information such as your IP address and the app version in the HTTP User-Agent to the hosting services. No license key, agent data or extra system profile is included. You can turn off automatic update checks in Settings and still check manually. That setting does not turn off license validation. Hosting services may keep their standard request logs.
Permissions
- Notifications, to tell you when an agent waits for you, fails or finishes. Ordinary status notifications leave out your request text unless you turn on task summaries in Settings. Approval notifications show the command, path or other tool input (up to 300 characters), regardless of the task-summary switch, so you can read what you are approving. You can turn approvals or Waiting notifications off in Settings.
- Automation (controlling your terminal app), only to bring the terminal tab of a session to the front when you ask Pitwall to return to it.
- Folder access, which macOS may request when Pitwall reads Git metadata in protected folders such as Documents, Desktop or Downloads. If declined, repository and branch details for those folders may be unavailable.
These permissions can be declined; the affected features may be unavailable while the board remains usable. The current app doesn't ask for Accessibility, Screen Recording or Full Disk Access.
Diagnostics you choose to share
"Copy diagnostics" in Settings copies a report of app and system versions, source health, session counts and settings to your clipboard. It is designed to omit request and reply text and session identifiers, and is not automatically sent to us. Review it before sharing, especially if you add screenshots, logs or other files. Anything you choose to paste into an issue or email is shared through that service.
When you contact us
If you email us or open an issue, we use what you send only to reply and to fix the problem. We keep support email only as long as needed for that. GitHub issues are public and governed by GitHub's privacy statement.
This website
The current site does not set cookies or include analytics or third-party scripts in its own code. Your language choice is saved in your browser's local storage. Our hosting provider may process standard request data, such as IP address and browser type, to deliver the site and protect it from abuse. Downloads are served by GitHub, under GitHub's privacy statement.
Payments
Pitwall Pro is sold by Creem, our reseller and merchant of record. Creem collects your name, email, billing address and payment details to process the purchase, calculate tax and send your license key, under Creem's privacy policy. We don't receive your card details. Creem shares with us your name, email, country and order details, which we use only to support your purchase, handle refunds and keep the records the law requires.
Children
Pitwall is a developer tool and isn't directed at children under 16.
Your rights
Collected agent data is stored on your Mac, where you can inspect and delete it as described above. We cannot access or delete those local files remotely. For anything you've sent us, email [email protected] to ask for a copy or deletion.
Changes
If this policy changes, we'll update the date above. For significant changes, we'll also note them on the home page.