TAF ← Back to AgentPortal

AgentPortal Privacy Policy

Last updated: August 12, 2026 · Version 1.0

TAF Studio (“we,” “us,” or “our”) provides the macOS app “AgentPortal” (the “App”) and respects your privacy. In one sentence, the essence of this policy is: “The App does not collect your personal information. All processing is completed locally, on your own Mac.” Below, we explain in specific terms what the App reads, what it does (and does not) send, and what it stores.

1. Basic Policy

2. Local Files the App Reads

The App reads configuration and log files that the local CLI tool “Claude Code” (provided by Anthropic, PBC) writes to your own Mac, in order to provide features such as the session list, status detection, usage display, and voice notifications. All of this reading happens locally, on your own Mac, and none of this content is ever sent externally.

File readPurpose
~/.claude/sessions/*.jsonDetermining the status of running Claude Code sessions (running / waiting for approval / idle, etc.)
~/.claude/projects/**/*.jsonl (tail only)Resolving the name of the model in use
~/.claude/stats-cache.jsonDisplaying usage (token counts, estimated cost)
~/.claude/agentportal-usage.jsonDisplaying the plan-usage gauge (generated via Claude Code's official statusLine hook)
~/.claude/agentportal-say/<pid>.jsonShort, already-extracted text for the “spoken summary” feature (see “2.1” below)
~/.claude/settings.jsonRead and appended to in order to register the statusLine hook above and the Stop hook used by the spoken-summary feature (existing settings are backed up first, and only appended to without breaking existing keys)

The App never accesses OAuth tokens, credential files such as ~/.claude/.credentials.json, or items belonging to other applications stored in the macOS Keychain.

2.1 Handling of Conversation Logs for the “Spoken Summary” Feature (Important)

The “spoken summary” feature (an optional, per-tile setting, off unless enabled) uses the Stop hook mechanism that Claude Code fires when it finishes responding. This processing is performed not by the App itself, but by a small helper script bundled with the App (agentportal-say.sh, placed under ~/.claude/ during setup). This script reads only the single most recent assistant (AI) message from the plain-text conversation log that Claude Code itself writes (~/.claude/projects/**/*.jsonl), formats it into a short piece of text suitable for reading aloud, and writes it to a local intermediate file, ~/.claude/agentportal-say/<pid>.json.

3. Where the App Communicates (no external transmission, except for the following two)

The App does not send information to external servers without your permission. The only network communication the App performs is limited to the following two:

(a) VOICEVOX (local voice-synthesis engine)

If you use the voice-notification feature, the App sends a notification message (short text) to “VOICEVOX” (http://127.0.0.1:50021), a local application that you have chosen to separately install and run, and receives audio data in return. The destination is hard-coded in the source code to 127.0.0.1 (your own Mac) and cannot be changed to any host on the external internet. VOICEVOX's voice data itself is not bundled with the App; only the notification text is sent.

(b) Gumroad (license verification)

When you purchase the App and activate your license after the trial period ends, the App sends only your license key and product-identification information to the license-verification API of “Gumroad,” a payment and license-management service. The contents of your Claude Code sessions, conversation logs, or file contents are never sent. Payment information (such as your credit card number) is collected and managed solely by Gumroad; we neither obtain nor hold it.

Verification frequency is as follows: once at initial license activation at purchase, and thereafter no more than once every 24 hours for periodic re-checks. While offline (no network connection), no verification request is sent, and the App remains usable in its already-activated state for a period of time. In other words, using the App does not result in continuous, ongoing network communication.

4. Data Stored, and Where

DataStorage locationTransmitted
License keyA macOS Keychain item dedicated to the AppOnly when verifying with Gumroad (see 4.1)
Display settings (layout, font size, voice selection, etc.)UserDefaults (local)None
Display-name overrides and pinned projectsUserDefaults (local)None

All of the above is stored only on your own Mac and is never uploaded to any server we operate (in fact, we do not operate any server that collects data from App users).

4.1 About Storing Your License Key

The license key issued and managed by the App itself may be stored as a Keychain item dedicated to the App. This does not contradict the principle stated in “2. Local Files the App Reads” that the App “never accesses other apps' credentials” — what the App does not read is credentials belonging to other applications (such as Claude Code); storing the App's own license key is a separate matter.

Regarding synchronization via iCloud Keychain: this Keychain item is stored as a syncable item. As a result, if iCloud Keychain is enabled on your Mac, your license key may be synchronized, via Apple's iCloud, to other Macs signed in with the same Apple Account. This is by design, so you can use the App on multiple Macs without purchasing it again. If you do not want this synchronization, disable iCloud Keychain from macOS System Settings → Apple Account → iCloud. This synchronization is performed by Apple's own service, and we never obtain or view its contents.

5. Disclosure to Third Parties

We do not disclose or sell your information to third parties. The sole exception is sending your license key to Gumroad for the license verification described in “3.(b),” which is less a “disclosure” to a third party than a process of having Gumroad verify a key that Gumroad itself issued.

6. Cookies, Tracking, and Advertising

The App does not use cookies, does not display advertising, and does not include any mechanism (such as a tracking SDK) to track your behavior.

7. Children's Privacy

The App is a tool for software developers who use Claude Code, and it is not intended for use by children under the age of 13. The App does not knowingly collect personal information from children under 13.

8. Deletion of Data

Uninstalling the App deletes the local settings stored in UserDefaults. A license key stored in the Keychain can be deleted from the App's Settings screen, or manually via macOS's “Keychain Access” app. If it is synchronized via iCloud Keychain, deletion is also reflected on other Macs signed in with the same Apple Account (see 4.1). Files under ~/.claude are managed by Claude Code itself and are not deleted when you uninstall the App (please follow Anthropic, PBC's guidance for removing them).

9. Security

10. Changes to This Policy, and Contact

This policy may be revised as we add features or as applicable law changes. If there is a material change, we will notify you through an App update or an announcement on the product page.

Questions about this policy or about how the App handles data can be directed to:

Business nameTAF Studio
Contacttaf.app.dev@gmail.com

11. Notes

This policy has been prepared as a general practical summary and does not constitute legal advice from an attorney. If you require a formal legal opinion on compliance with Japan's Act on the Protection of Personal Information or other applicable law, please consult a qualified attorney or other professional.

12. Governing Language

This is an English translation provided for the convenience of non-Japanese-speaking users; the original is Japanese. In the event of any discrepancy or conflict between this English translation and the Japanese original, the Japanese original shall control, and Japanese law governs the interpretation of this policy.

This policy takes effect as of August 12, 2026.