Last updated 13 October 2026
Privacy policy
Agentower shows which of your team’s coding agents needs someone. To do that it needs to know that an agent is waiting — not what it’s working on. This policy explains what we collect, why, and what you can do about it.
Who we are
Agentower, United Kingdom, is the controller of the personal data described here. Questions or requests: hello@agentower.com.
What we collect
| What | Details |
|---|---|
| Your account | Your email address. If you sign in with Google or Microsoft, also your display name (nothing else — no contacts, files or calendar). A profile picture, only if you upload one; it’s shown only to people in your workspace. Your appearance choices — colour, highlight, logo and background — so they follow you to every device. |
| Your workspace | Which workspaces you belong to and your role; invites (the link is stored only as a hash; an email invite keeps the invited address until it’s used or expires). |
| Agent status | What the hooks send per event: the project folder’s name (never its path), session and agent IDs, the kind of event, the name of the tool in use (such as “Bash” — never its input), the tool’s own short notice (such as “needs your permission”) — shown only as the agent’s question where “Agent chats” is on, kept in memory only and never stored; the reason the board keeps is fixed wording such as “Needs your permission”, error types; before each step, a short activity key: the kind of step (such as running tests, building, installing, committing, pushing, deploying, setting up the environment, reading or editing) and the program’s name — never a script’s file name — and, for a deploy, the environment’s name when it is a standard one (production, staging, preview, development or test); for reading or editing, the top-level folder is sent too but kept only when Work details is on — never any other arguments, paths or contents, and kept in memory only; when an agent starts a background helper or command and whether it is still running: only its kind (helper agent or shell) and a random ID, never the command or prompt, kept in memory for at most 30 minutes; the name of the AI model in use (such as “claude-opus-5-5”), your operating system type and a timestamp. If Agentower can’t be reached, the hook keeps what it couldn’t send in a file on your computer that only you can read (~/.agentower/spool, at most 200 events or 256 KB) and sends it later — the same data, nothing more. |
| Usage numbers | Token counts and cost estimates from the coding tool’s own telemetry (our one-line installer switches this on for Claude Code, with a key that can only send usage numbers; you can leave it off with --no-usage — prompt logging stays off, so prompts and code are never in it), and — if you use the Agentower status line — your Claude plan-limit percentages and reset times, with the session’s ID and model name. While a terminal is open, the status line also sends the session ID now and then so a quiet agent stays on the board (with an API-key login, that’s all it sends). For Codex, the hook reads only the plan-limit numbers (percent used, window length, reset time) from that session’s own record on your computer — nothing else in the file. Plan limits are kept per person, tool and account (the latest numbers only) and shown to your team on the Usage page. You can give an account an optional label such as “work” (letters, digits, spaces and . _ -, up to 40 characters), also shown to your team — never the account’s email or ID. Claude Code’s telemetry always includes the signed-in email; we read only the usage numbers and never store the email. From those numbers we also keep daily totals per project, person and AI model — the model’s name, requests, tokens and approximate cost, never content — for 13 months, so the Usage page can show which models you use. |
| Settings you add | Guardrails, approvers, notification channels (webhook addresses are stored encrypted), public-stats choices and API keys (stored only as hashes). An agent-actions key lets a script do what its creator could do in an agent’s details panel — message, allow or deny — only where “Answer from Agentower” is on; only owners and approvers can create one, it expires after 30 days, and every action is in the audit log (never the message text). Nothing is public until you tick a counter; public stats show only the totals you tick — such as agents running now, all-time counts and counts per model — and project names only if you tick them. |
| Your computers | For each computer you connect: a random ID made on that computer (never its name), a label you can change such as “Mac 1”, its operating system type, the Remote answers setting it reports, the hook version, and when it last reported. Used for the connection check and to warn when a computer stops reporting. |
| Routines | For each routine you create: its name, project, computer, the brief you write, its schedule and time zone, permission mode, allowed tools and limits. Only owners and approvers can see a brief; changes are recorded in the audit log without the brief. For each run: when it started and ended, its state, tokens and approximate cost — kept as long as your plan keeps history. On the computer that runs it, Agentower keeps the routines you approved, which folder each project is in, and the output of the last 50 runs — that output never leaves the computer. |
| Agent names | Each agent gets a first name (such as “Sarah”) from a fixed list, alongside its short ID. People who can answer an agent can rename it; renames are recorded in the audit log with the old and new name. |
| Work record | What each agent did, step by step, sent by the hook as it happens. Always: counts — files changed, lines added and removed (counted on your computer), the kind of command run (tests, build, git…), tests passed or failed, commits made (with their short ID), whether a branch was pushed or a pull request opened — the repo’s host and name (such as github.com/team/app) so a commit can link there, and a few names that tell an agent’s “work stream” apart: the branch name, the name of a linked worktree’s folder, a launch label you set yourself (AGENTOWER_LABEL) and the top-level folder of a file an agent edits — names only, never paths. Only for projects where “Work details” is switched on, also: file paths (relative to the repo), commit messages, pull request links, the names of failed tests, and for each turn the instruction it started with and the agent’s own closing summary — each at most 600 characters, with code blocks removed and anything that looks like a secret replaced by “[hidden]”, on your computer and again on our server (a best effort, not a guarantee). The summary is the agent’s own words; Agentower doesn’t check it. Never your code, diffs, file contents, what an edit changed, or a command line. Kept as long as your plan’s history; switching Work details off deletes the file paths, commit messages, instructions and summaries already kept for that project. A work stream is never named after the agent’s task title; with no other name it shows as “Unnamed stream”, and a name someone gives a stream themselves is visible to everyone who can see the agent. Work streams nobody uses any more are deleted along with the history. Everyone who can see the agent sees the counts and work-stream names; only people who may approve the project see the rest. |
| What an agent is working on | Only if your workspace switches Agent chats on: a short title for each open agent and subagent — the session’s name (one you set, or the title Claude Code makes from what was first asked, so it can hint at it) or a subagent’s description. At most 80 characters, code removed, never the prompt itself. It is kept only in the live service while the agent is open — never in the main database, logs, exports or the API — shown only to people who may approve that project, and cleared when Agent chats is switched off or the agent closes. |
| Audit log | Who allowed, denied, replied, sent or took back a message, or changed a setting, for which agent, and when — never the command or the text of a reply. |
We never collect the prompts you type in your coding tools — with one exception you switch on per project, “Work details”, which keeps the first 600 characters of the instruction each turn started with (see Work record) — or file contents, command output or full file paths. The agent’s own replies — and any code they show — are collected only if a workspace owner switches on “Agent chats” (below).
Feedback and your trial
The Feedback button in the app sends us what you type, the kind of feedback you choose, the page of the app you were on (its path only) and the account and workspace it came from. We use it to improve Agentower during the beta (our legitimate interests). We keep it until the beta ends or for 12 months, whichever comes first, and will delete it sooner if you ask. The first 10 feedback messages a day (from everyone together) are also emailed to us; later ones are only stored. Each workspace also stores the dates its 14-day trial and any beta free place start and end, and which reminder emails have gone out, so we know when to remind you before the free period ends and when to ask you to choose a plan. During the 14-day trial it also stores when your current 24-hour pass ends. If you delete your account we keep only a one-way fingerprint of your email address (a hash it can't be turned back into), so a new account with the same address doesn't start another free trial. If a workspace you own was given its one full refund (by you or by Stripe), the same kind of fingerprint of your address is kept for the same reason: so the refund isn't given again under a new account. Your feedback stays but no longer says who sent it.
Your computer decides whether Agentower can answer its agents
Each developer’s computer has its own setting, “Remote answers”, chosen when Agentower is connected and off unless they turn it on. Agentower’s servers can’t turn it on. Once a computer has been confirmed on that computer, its owner can switch answers off and back on from Settings → Computers — never beyond what the computer itself allows. When it’s off, nothing sent from Agentower — no approval, no message — reaches the agents on that computer. Set to “own”, only the person whose agent it is can answer or message it from the app; set to “team”, that project’s approvers can too. A request the app can’t show in full (a command cut short, or nothing to show) can only be denied from the app — it must be approved in the terminal.
“Agent chats”: off until an owner switches it on
One workspace setting, in Settings → Workspace, turns on all three of the features below for every project, new ones included. It’s off for new workspaces; only an owner can change it, with a recent sign-in, and every change is recorded in the audit log. Switching it off stops them all, clears any held messages and questions, and closes open requests. Who may approve each project stays as it is.
- Agent questions: when an agent ends its turn with a question, that one sentence — code removed, at most 200 characters — is shown on its card. It’s kept only while the agent is waiting and never written to the database.
- The agent’s messages: each agent gets a chat in its panel — its messages (its own words, including any code it shows, at most 8,000 characters each), its questions (for a multiple-choice question, the question and up to six answer labels), permission requests with their outcome and who answered, messages your team sends it with the sender’s name, and short status lines. Never what you type in the terminal, its commands’ output or file contents. The chat is kept only in the live storage of your workspace’s tower — never in the main database, logs, audit log or exports — until the agent’s session ends, at most its latest 200 entries. It’s deleted when “Agent chats” is switched off, when the workspace is erased or an account deleted, and a leaver’s messages are removed. Only people who may answer that project’s agents can read it.
- Answering from Agentower: so you know what you’re approving, the tool’s name and what it will do (the command, a path — in full when it’s outside the project — or a web address) are held while the request is open — at most 60 minutes (9 minutes for Codex) — and deleted once it’s answered or expires. For a plan Claude asks you to approve, the plan’s text (up to 12,000 characters; a longer plan can only be approved in the terminal) is sent only when “Agent chats” and the computer’s “Remote answers” are both on; it’s kept only with the open request, shown as plain text to people who may approve that project, and deleted when the request is answered, expires or closes. The same applies to answering an agent’s multiple-choice question from the app. A message or reply you type to a Claude Code agent is held only until the agent collects it, then deleted (while “Agent chats” is on, it stays in the chat until the session ends, as above): within a minute if the agent is listening (its turn ended, up to 4 hours), or when it finishes its current step if it’s working. It’s deleted too if you take it back or the session ends. It’s never written to the database, and the board shows only that a message is waiting — never its text. When you message a teammate’s agent, the agent is told who wrote it (your name and role), so it knows the message isn’t from the person running it.
The optional Agentower channel. If you start Claude Code with the Agentower channel (you have to opt in each time), a small program on your computer keeps a connection open to your workspace’s tower, using your ingest key, so messages from the app reach that session straight away. It only receives that session’s messages and sends nothing back. To match it to the right session, the hook also sends a random channel ID — a label, not content. Message text is handled exactly as above.
Why we use it
- To provide the service you signed up for (performance of a contract): showing your agents, sending the notifications you set up, answering on your behalf when you ask us to.
- To take payment and keep billing records (performance of a contract, and our legal obligations) — through Stripe, for paid plans.
- To keep it secure and working (our legitimate interests): sign-in, rate limits, bot checks, error logs and the audit log.
- To understand visits to this website (our legitimate interests): cookieless visit counts — see “Analytics and cookies”.
We don’t sell your data, use it for advertising, or use it to train AI models.
Who we share it with
Only the service providers we need, each acting on our instructions:
- Cloudflare — hosting, database and the bot check on sign-in. Both the database and the live service that holds what’s on the board right now (open requests, agent chats, waiting messages, plan-limit readings, what agents are working on) run in Cloudflare’s EU jurisdiction, so they are stored and processed in the EU.
- Resend — sending sign-in links, invites and the emails you opt into, all from hello@agentower.com. Emails are capped each day — notification emails at 20 per workspace — and sign-in links always go first. An invite email’s subject is the same fixed wording for everyone, without anyone’s name, and workspace or display names that look like a web address or an email are refused, so an invite can’t be dressed up as something else.
- Stripe — payments for every plan, including the card taken at the start of a free period. Through Stripe Managed Payments, Stripe acts as the seller of record for the payment, works out and pays the VAT, and is responsible for the payment and tax data it collects at checkout under its own privacy notice. Card details go straight to Stripe. We keep only the Stripe customer and subscription IDs, the subscription’s status, the number of seats and the renewal date; the owner’s email is passed to Stripe at checkout, where Stripe also collects what it needs to work out the VAT, such as your country or billing address, and for Team, the number of API calls made each month (counts only).
- Google — only if you choose to sign in with it.
- Sereno — cookieless visit counts on this website.
If your team connects Slack, Microsoft Teams, Google Chat, Discord, email or a webhook, Agentower sends those services what the board shows — the project, agent ID, whose agent it is, why it needs someone, how long it has waited and a link — never prompts, code or commands. Those services handle it under their own terms. People in your workspace see the team’s agents and each member’s name or email.
Some providers may process data outside the UK. Where they do, we rely on UK adequacy regulations or the safeguards the law requires, such as the UK International Data Transfer Addendum.
Analytics and cookies
Agentower sets one cookie: a strictly necessary sign-in cookie that keeps you signed in, until you sign out or the sign-in ends (see “How long we keep it”). It isn’t used for tracking. Your light or dark theme choice, and your alert preferences, are kept in your browser’s storage and never sent to us. Alerts are made in your browser: the chime is a generated sound, and spoken alerts use only your device’s own voices, so the sentence is never sent to a speech service. The sign-in page uses Cloudflare Turnstile to check you’re not a bot. This website’s visit counts come from Sereno, which uses no cookies and records only the page, the referring site, a rough screen size and campaign tags in the link; it ignores browsers that ask not to be tracked.
Dictation in the message box is push-to-talk: it listens only while you hold the button (or ⌥ Space), and asks before its first use. Your voice is turned into text on your own device by a speech model running in your browser — the audio never leaves your computer, and no speech service is used. The model (about 94 MB) downloads once from Agentower’s own site and stays in your browser’s storage until you clear site data. Agentower receives only the text you choose to send. Your microphone choice and dictation settings are kept in your browser.
How long we keep it
We keep your account and workspace while your account is open. Agent history — finished agents and their status changes — is deleted automatically: after 7 days on Solo, and after a year on Team and Enterprise. Agents still running are never deleted. The audit log is kept for a year; monthly API call counts and daily per-model usage totals for 13 months. The opt-in details above are deleted as described. A sign-in ends after 24 hours without activity in the app — an owner can choose 1 hour, 8 hours, 24 hours or 7 days, and the strictest of your workspaces applies — and after 30 days at most; to do that we keep the time of your last activity. Sign-in sessions are deleted once they expire, and sign-in links and invites two days after they stop working. Signing out, signing out everywhere, deleting your account or a sign-in expiring also closes any open boards for it.
You can delete your account yourself, straight away, in Settings → “Delete my account” (it asks you to type your email to confirm).
- Your name, email, profile picture, settings, sign-ins and any invites sent to your email are deleted.
- A workspace where you’re the only member is deleted entirely — projects, agents, history, keys, settings, notification channels and its audit log. Any subscription it has (Solo, Team or Enterprise) is cancelled at the same moment, as the Terms describe; if Stripe can’t be reached, nothing is deleted and you can try again.
- In a team workspace you leave: your keys stop working, your agents stay in the team’s history without your name — the instructions and agent summaries from their turns are deleted, and only the counts of what they did stay — and audit entries you appear in stay as the team’s record, shown as “Deleted person”, with your name and email address in their text replaced by “a former member”. Invite links you made for that team stop working, and your “this state was wrong” notes are deleted. If you’re the last owner of a team with other people, make someone else an owner first.
- A workspace owner can also delete a project: its agents, history, approvers, guardrails and usage totals are deleted, and anything held for its agents (chat, questions, waiting messages) is forgotten. Merging a project into another moves that data instead and remembers the old name so new reports land in the right place.
- Backups roll off within 30 days.
- Billing records the law requires (such as invoices, held by Stripe) are kept for as long as the law requires.
Taking your data out
You can export what Agentower keeps — agents and subagents, every status change and its reason, the work record and its weekly summary by work stream, the audit log, daily usage per project, person and model, projects, members, guardrails, notification channels, routines and their runs, plan-limit readings, computers, keys (their details, never the key itself) and your own account data — as CSV or JSON from History → Export, through a read-only export API key, or through the MCP server. Each export includes only what you’re allowed to see. Two things aren’t exported: agent chats, which are held only while the agent is open, and routine briefs, which owners and approvers can read in the app.
- Everyone can export their own data — name, email, role in each workspace and settings — from “My data”.
- Beyond that, you can export only what you can see in the app: viewers can’t export the audit log, and only owners can export team members’ email addresses.
- Exports never include secrets such as keys or notification addresses, and never code or chat messages — Agentower doesn’t keep them. The turn instructions and agent summaries kept under Work details are included only for people who may approve that project.
- Exports stay available after a Team or Enterprise plan ends, including for people who become read-only: you keep the right to a copy of your data.
- Every export is recorded in the audit log.
Your rights
Under UK data protection law you can ask to see, correct, delete or receive a copy of your personal data, and object to or restrict how we use it. You can take a copy yourself at any time from History → Export, and delete your account in Settings; for anything else, email hello@agentower.com and we’ll reply within one month. If you’re unhappy with how we handle your data, you can complain to the Information Commissioner’s Office at ico.org.uk.
Who Agentower is for
Agentower is a tool for people at work, aged 18 or over. It isn’t meant for children.
Changes
If we change this policy we’ll update the date at the top, and tell account holders by email before any change that affects how we use their data. See also our terms.