Firehose privacy policy
Effective 4 October 2026
Firehose runs on your own computer. Your conversations, code, and files stay there. This page sets out the little that reaches us, who else handles it, how long it is kept, and what you can ask us to do about it.
Who we are
Firehose is made by mkrm, Inc., doing business as okthink. We are the data controller for what Firehose sends us. It covers the Firehose server and command-line tool, the desktop and web dashboard, the iPhone app, and the hosted dashboard at agents.okthink.ai. Write to info@okthink.ai about anything on this page.
mkrm, Inc.2261 Market Street
STE 86846
San Francisco, CA 94114
United States
The rest of okthink.ai is covered by the site's own privacy notice.
How Firehose works
You install the Firehose server on your computer. It finds the coding-agent conversations already there, from Claude Code, Codex, Gemini, and the others it supports, and shows them in a dashboard. The iPhone app and the web dashboard connect to that server, not to us. From them you read conversations, send instructions, attach files, and review code changes.
Because the server is yours, what passes between your phone and your computer is between your devices. We do not operate a relay, and we never receive your prompts, replies, source code, file paths, attachments, terminal output, or reviews.
What stays on your computer
The server keeps its data in ~/.firehose. That includes:
- a database of the conversations it has seen, the prompts you send through it, the latest replies, your code reviews and the snippets they quote, and your settings;
- API keys you give it for ElevenLabs, OpenAI, or xAI, which are stored in that database without encryption;
- a log file, which rotates at 32 MB and keeps one previous file, and which records what the server is doing, including the address it uses to open the terminal;
- a random install ID, your license, your acceptance of the license agreement, a running count of ElevenLabs characters used, and, if you turn on network statistics, a day of traffic figures.
Files you attach from your phone are saved in a .agent-manager-attachments
folder inside the project you sent them to. Firehose also reads, but does not copy
anywhere, the conversation histories your agents keep, your running processes and
terminal sessions, and your git repositories.
None of this is deleted on a schedule. It stays until you remove it.
firehose uninstall releases your license and deletes
~/.firehose. Add --keep-data to keep your data. Uninstalling
leaves attachment folders and agent logs inside your projects, downloaded local voice
models, and changes Firehose made to agent configuration files, so delete those yourself
if you want them gone.
The iPhone app
The app stores on your phone the address of your server, your drafts and annotations, your selections, and your display settings. Files you pick to attach, and files you download to share, pass through the app's cache. Deleting the app removes all of it.
The app talks only to the server you point it at. Along with your messages and attachments, it sends that server your phone's name, so the dashboard can show which device is connected. iOS asks for permission to use your local network, which the app needs to reach your computer.
When an agent finishes, the app can show a notification that names the agent, the project, and the branch, and quotes the start of the agent's last reply. These notifications are created on the phone itself. The app does not register for push notifications, and nothing about them passes through us or Apple's push service.
The app does not use your microphone, camera, photos, contacts, or location. It contains no analytics, advertising, or crash-reporting code, and it does not track you across other companies' apps or websites.
Two things load from elsewhere. The issues panel shows contributors' avatars and images from GitHub, so GitHub receives your IP address when they load. Pages for buying or managing a subscription open in your browser rather than in the app.
If you share crash reports with app developers in your iPhone's settings, Apple may pass us anonymized crash data under Apple's own terms.
The web dashboard
On a computer, the dashboard runs in your browser and talks directly to your server. It loads fonts and icons from Google Fonts, which receives your IP address.
The hosted copy at agents.okthink.ai is served by Firebase Hosting. When you open it, the address of your server travels in the link, so Google's servers see that address with the request. Your browser then connects straight to your server. To reach the hosted page, the server must be on your Tailscale network and checks that the person connecting is you.
The account and activation pages let you sign in with Google or with a link sent to your email. The activation page remembers the email you typed in your browser's local storage.
What okthink receives
We receive only what we need to sell you a license and keep it working:
- Your account. Your email address, and an account ID. If you sign in with Google, Google also gives us the name and profile picture on your Google account.
- Each install. The install ID, your computer's hostname, when you activated it, and when it last renewed its license.
- Your subscription. Your plan, its status, when the current period ends, your seat count, and the customer and subscription IDs Stripe assigns.
- Activation attempts. When you ask for an activation code we record your email address, your IP address, the install ID, and the time, and use them to limit how many codes can be sent. The code itself is stored only as a salted hash.
Your server contacts us when you activate it, when it renews its license every few days while it runs, and when you deactivate or uninstall it. Our hosting provider's request logs record the IP address and time of each of those requests. The email address you enter during activation passes through your server on its way to us, and your server holds it only in memory.
Firehose does not send us usage analytics, telemetry, or crash reports. Your server also checks for updates once a day by downloading a file from GitHub. That request carries no identifiers, though GitHub sees the IP address it comes from.
Payments
Subscriptions are sold through Stripe. We pass Stripe your email address and your account ID. Stripe collects your card and billing details directly, and we never see them. You manage or cancel your subscription in Stripe's billing portal, which opens from the dashboard.
Services you connect yourself
Some features send data from your computer to companies you already have an account with. This happens under your account with them, and their terms, not through us.
- Your coding agents. When you send an instruction, Firehose hands it to the agent you chose, such as Claude Code or Codex, which sends it to its provider as it would without Firehose.
- Conversation names. By default, Firehose names each new conversation by running Codex on your computer with the first two messages, each cut to 960 bytes. Codex sends them to OpenAI under your Codex login. Turn off “Automatically name conversations with Codex” in settings to stop this.
- Live voice. If you add an OpenAI API key and start a voice session in the web dashboard, your audio and up to 120 recent messages go to OpenAI, with storage switched off in the request. The iPhone app does not offer live voice.
- Read aloud. If you add an ElevenLabs key, the text you ask to hear is sent to ElevenLabs. Without one, speech is generated on your computer.
- GitHub and Tailscale. Issue lists, repository cloning, and remote access use the GitHub and Tailscale tools already installed and signed in on your computer.
Services we use
These are the companies involved in what Firehose sends us or loads from us:
- Google Cloud and Firebase run the licensing service, store account and license records in the United States, handle sign-in, host the web dashboard, and keep request logs for 30 days.
- Stripe takes payment, holds your card and billing details, and runs the billing portal.
- Resend sends the email that carries your activation code.
- GitHub hosts Firehose releases and the update file your server checks, and serves the avatars shown beside issues.
We do not sell your personal information, share it for cross-context behavioral advertising, or use it to train models.
Where it is kept
We, Stripe, Resend, GitHub, and Google are United States companies. Our license records are stored in Google's United States multi-region and our licensing service runs in Iowa. If you use Firehose from outside the United States, what it sends us is transferred there. Where the law requires it, we rely on our providers' standard contractual clauses or equivalent safeguards for those transfers.
How long we keep it
We keep your account, subscription, and install records for as long as your account exists. Deactivating an install marks it inactive but keeps its record. We do not delete these records on a schedule, and that includes our log of activation-code requests. Ask us and we will delete them.
Activation codes expire after ten minutes or five wrong tries. Hosting request logs are deleted after 30 days. Stripe and Resend keep their own records of payments and sent mail under their own policies.
Legal basis
Where the GDPR or UK GDPR applies, we process your account, install, and subscription details because we need them to provide the license you bought. We rely on our legitimate interest in keeping the service secure for rate limits and request logs.
Your rights
You can ask us to show you what we hold, correct it, delete it, send you a copy, or stop using it. Under the GDPR and UK GDPR these are the rights of access, rectification, erasure, portability, restriction, and objection. California and other US states give you equivalent rights to know, correct, and delete, and we will not treat you differently for using them.
Write to info@okthink.ai from the address on your account, so we can tell the request is yours. We do not charge and we do not ask why. Deleting your account ends any license tied to it, so cancel your subscription in the billing portal first. You can also complain to your data protection authority.
What is on your own computer and phone is yours to delete. Uninstalling the server and deleting the app, as described above, removes it.
Law enforcement
We will not hand over what we hold without a valid legal order. If we receive one, we will tell you unless the order forbids it. Your conversations and code are not ours to hand over, because we do not have them.
Children
Firehose is a tool for software developers and is not directed at children. We do not knowingly collect anything from anyone under 16. If a child has given us their details, write to us and we will delete them.
Security
Everything Firehose sends us travels over HTTPS. We never hold your passwords or card details.
On your computer, Firehose's database and logs are not encrypted, and your API keys sit in that database in plain text, so they are as safe as your computer account. Your server decides who may connect by network. By default it listens only on your computer itself. If you open it to your local network or your Tailscale network, anyone who can reach it there can use it, so only open it to networks you trust.
Changes
If what Firehose collects or does with it changes, this page changes and the date at the top moves. We will email account holders about significant changes.