Security
How it works & your data
TextMyWorker connects Claude Code on your computer (Mac or Windows) to a chat on your phone: Telegram, Slack or the TextMyWorker app. This page explains exactly what runs where, what data goes to whom, and what you control.
The short version
- Claude Code runs on your computer, on your own Claude plan, and does the work there. Your files stay on your disk.
- You talk to your worker in Telegram (@TextMyWorker_bot), in Slack (a private DM with the TextMyWorker bot), or in the TextMyWorker app. It's the same conversation everywhere, with the same worker on the same computer.
- Messages pass through our relay, which sends each one only to the computer paired with your account. It holds messages in memory until your computer picks them up and never writes their content to disk.
- It answers only you: the account you paired.
- Your worker only gets the keys you hand it: one folder you pick, none of your accounts or tools. Risky actions wait for your tap on Allow, and no answer means nothing is approved.
Architecture
- Telegram: one TextMyWorker bot,
@TextMyWorker_bot. Messages in Telegram go through Telegram's servers, like any Telegram chat, and bot chats aren't end-to-end encrypted. Telegram delivers each message to the relay with a secret only Telegram and the relay know, and the relay checks it before doing anything. - Slack: one TextMyWorker bot that you message in a private DM. For now it runs in the TextMyWorker Slack workspace, which you join by invitation, not in your own company's workspace. Messages in Slack go through Slack's servers, like any Slack message. Slack signs every request it sends to the relay, and the relay verifies the signature (and rejects old requests) before doing anything.
- The TextMyWorker app (
app.textmyworker.com): a web app you add to your home screen, with chat, Allow/Deny approvals, notifications and switching between your computers and sessions. It talks to the relay directly and opens from a one-time link the bot sends you with/app, so it's for people who are already connected. Native iOS and Android apps come later. - The relay (
relay.textmyworker.com, hosted on Fly.io): routes each message by the account it came from, only to the computer paired with that account. A message waits in memory until your computer collects it. Replies from your computer always go to your paired account, never to anyone else. The relay doesn't run Claude and does no work on your tasks. - On your computer: a background service (launchd on a Mac, a sign-in startup entry on Windows) keeps an outgoing connection to the relay, so nothing on your computer is opened to the internet. It runs your messages in Claude Code inside one folder you choose, your workspace. Hooks in Claude Code send you permission requests and summaries from your other sessions.
- Claude: the worker is the Claude Code CLI you already use, signed in to your own Claude plan.
Getting connected
- Ask the bot on Telegram. It asks 3 short questions, and the founder approves design partners from there. It's free during the pilot.
- Run one line once you're approved. On a Mac:
curl -fsSL "https://relay.textmyworker.com/install" | bash. On Windows, in PowerShell:powershell -ExecutionPolicy Bypass -c "irm 'https://relay.textmyworker.com/install.ps1' -OutFile ([IO.Path]::GetTempPath()+'textmyworker-install.ps1'); & ([IO.Path]::GetTempPath()+'textmyworker-install.ps1')". There is no code and nothing expires: if anything stops halfway, run the same line again. It puts a private copy of Node.js in~/.textmyworker(and, on Windows, a private Git, which Claude Code needs there). No admin password, and any Node you already have is left alone. - The setup window installs Claude Code if it's missing, signs you in to your Claude plan in the browser, lets you pick the worker's folders, and shows a QR code. Scan it with your phone: it opens the bot in Telegram, and tapping Start links this computer to your account. On Slack, send the bot the
claimline shown under the QR instead. The worker then starts in the background and messages you. - Start texting. Want the app too? Send
/appand open the link on your phone. Want Slack too? The founder invites you to the TextMyWorker Slack workspace.
Step by step, screen by screen: the install guide (בעברית).
Your options for working from your phone, compared: How to use Claude Code from your phone.
What goes where
- Anthropic: your prompts, and the parts of your files that Claude reads while working on a task, the same as any Claude Code use. Your files themselves stay on your disk.
- Telegram: if you use Telegram, the messages between you and your worker, including voice messages, photos and documents you send, pass through Telegram's servers, like any Telegram chat. Bot chats aren't end-to-end encrypted.
- Slack: if you use Slack, the messages between you and your worker pass through Slack's servers, like any Slack message.
- TextMyWorker relay (us): passes your messages to your computer and your worker's replies back to you. Message content is held in memory only until your computer picks it up, and is never written to disk. Photos and documents are fetched from Telegram when your computer asks for them and passed straight through. Photos you send from the app stay in the relay's memory for up to 6 hours, so your computer can download them even if it was off; only your paired computer can fetch them. For the app, the relay keeps a short buffer of recent messages in memory (about 30 minutes) so a phone that reconnects can catch up. The history itself lives on your phone. We keep content-free usage numbers (message counts, types and timings), which account is paired with which computer, and the account details below.
- Your account: for Telegram, your Telegram user id, name, username and language. For Slack, your Slack user and workspace ids, display name, username and language. Accounts connected before Telegram are still keyed by their phone number. For the app, a hash of your sign-in session and, if you turn on notifications, your browser's push subscription.
- Notifications: app notifications go through your browser's push service (Apple, Google, Mozilla or Microsoft, depending on your phone and browser). They're encrypted for your device, and by default they don't include the message text, only the tool or folder (for example “Approve: Bash in client-b”).
- ElevenLabs: the relay sends voice notes to ElevenLabs for transcription, then forwards the text to your computer, where it's handled like a typed message.
- Your computer: photos and documents you send are saved in your workspace (an
attachmentsfolder). The activity log and the service's state and logs stay on your computer too. - Before you're connected: if you write to the bot from a new account, your short answers to its questions (name, what you build, your first task) are kept so we can follow up.
Permissions
- Only your account. Your computer only receives messages from the account it's paired with, and only that account can answer its permission requests and questions.
- Default is no. When a Claude Code session on your computer asks for permission and you've been away from the keyboard for a few minutes, you get Allow and Deny buttons in Telegram, Slack or the app. If you don't answer within 5 minutes, nothing is approved and the request goes back to the normal dialog on your computer.
- Only a tap counts. A permission is approved only when you tap Allow (or reply to that exact message). Typing “yes” into the chat doesn't approve anything, and neither does an emoji reaction.
- Back at your desk? As soon as you touch the keyboard or mouse, the request moves back to the normal dialog.
- The worker's own session (the one you text) follows the rules below. Pairing matters too: only your account reaches it.
What your worker can use
No MCP. No plugin. Just a chat. We don't install anything into Claude Code or plug into your accounts: your messages just reach the Claude Code you already have.
Your worker only gets the keys you hand it. At setup you choose: Full access (like your own Claude Code), one project folder, or a small sample project to try.
- One folder. Claude Code's file tools can't read or write outside it, and on a Mac terminal commands run in Claude Code's macOS sandbox, which blocks writes outside the folder at the system level (package caches like
~/.npmare allowed so installs work). - On Windows there is no system sandbox. Claude Code's sandbox exists only on Mac and Linux. On Windows the file tools are still limited to your folder, commands that read known secrets (SSH and cloud keys, the Windows credential store, browser data) are blocked, and risky actions wait for your button. A terminal command can still write outside the folder, so pick a folder and accounts you're comfortable with.
- A clean profile. The worker runs without your MCP servers, claude.ai connectors, skills and Claude Code settings. Your email, calendar and drive aren't connected unless you add them.
- Network from the terminal reaches common developer services only (npm, GitHub, PyPI, hosting APIs and similar). Add a domain with
textmyworker scope domain add <domain>. - Risky actions wait for you. Deleting files,
git pushand rewriting history, deploys and publishing, sending email or messages, uploads and system commands send you a 🔐 Allow / Deny button first. No answer in 5 minutes means no. - “stop”. Text
stop(orעצור) and whatever is running stops, and anything waiting in line is dropped.textmyworker pauseturns the worker off until you runresume. - A log on your computer. Every action, and whether it ran, was approved or was blocked, is written to
~/.config/textmyworker/audit.log. See it withtextmyworker log. It's never sent to us.
Widening access, step by step
- One project: pick it at setup.
- A few projects:
textmyworker scope add <folder>(andscope remove). - Full access, your whole setup: pick it at setup, or run
textmyworker scope all. The worker gets every folder and your own tools, like your own Claude Code. You confirm it at the keyboard. There's no folder fence or sandbox in this mode (on Mac or Windows), so your protection is the button: risky actions still wait for your tap. - Access is widened only from your computer's terminal, never from the chat, so someone holding your phone can't open up your computer. Narrowing works from anywhere:
/scope resetin the chat./scopeshows the current access.
Already connected before October 2026?
Updating changes nothing about what your worker can use: it keeps full access, your tools and your own Claude Code permission settings, as before. You get “stop” and the local log. To switch to one folder with approvals: textmyworker scope safe (or /scope reset in the chat).
Honest limits
- Risky commands are recognized by pattern. A deliberately disguised command could slip past the button, but on a Mac it still runs inside the sandbox: it can't write outside your folders or reach unlisted domains. On Windows there is no sandbox behind the button.
- Claude's file tools only read inside your folders. Terminal commands can read other files on your computer, except known secret locations (SSH and cloud keys, Keychain or the Windows credential store, browser data, your TextMyWorker settings), which the sandbox (Mac) or the command check (Windows) blocks.
- Web search and web page fetches by Claude aren't limited by the domain list.
- At level 3 there is no sandbox. The buttons for risky actions are what's left, so use it on a computer and accounts you're comfortable with.
Secrets
There are no Telegram or Slack bot tokens on your computer: the bot tokens stay on the relay. Pairing gives your computer a device token, stored in one file on your computer with owner-only permissions (chmod 600). The relay keeps only a hash of it.
If you lose your phone
Your worker answers your Telegram account, your Slack account and the app on your phone, so someone holding your unlocked phone could message it. To cut it off:
- Disconnect your computer: run
textmyworker disconnect. Nothing reaches your computer until you pair again. If no other computer is paired to your account, the app is signed out too. - Or ask us to unpair your account: eyal@textmyworker.com.
- Sign the lost phone out of Telegram from another device where you're logged in (Settings → Devices), and sign it out of Slack too if you use it.
You can also send /disconnect from your phone at any time to unpair.
Limits worth knowing
- Your computer has to be on. While it's plugged in, the service keeps it awake and reconnects after sleep. If your computer is offline when you write, the bot tells you.
- The app is a web app for now. Native iOS and Android apps come later.
- Slack takes text only for now: send photos and voice notes in Telegram or the app, and documents in Telegram. In Slack, commands start with
!instead of/(for example!status), because Slack keeps/for its own commands. - It runs on Mac and Windows. Linux isn't supported today.
Questions
Ask the founder directly: eyal@textmyworker.com. See also how approvals from your phone work, Privacy and Terms.