SHALL

SHALL — Privacy Policy

Last updated: 19 August 2026

Contact: hello@getshall.com

SHALL is an iPhone client for an AI agent you run on your own computer. This policy describes this build, and it is written to match what the software does rather than what would be pleasant to claim. Where the app is limited, the limit is stated.


SHALL collects nothing, because there is no server

SHALL is a client for an AI agent that you already run, on a computer you own. There is no SHALL service in the middle. We operate no server that your device talks to, we receive nothing from your device, and there is no account to create.

That is not a policy choice we could quietly reverse; it is how the app is built. The app and its keyboard open a connection to the address you enter and to nothing else.

Everything below is a consequence of that one fact.

What SHALL sends, and when

Data leaves your device in one direction only: to the agent at the address you configured. It is sent in exactly these cases:

Normal typing is never transmitted. Every keystroke you make on the SHALL keyboard stays on the device, whether or not Full Access is enabled. The keyboard records no keystrokes, learns nothing from them, and has nowhere to send them.

The keyboard never reads your clipboard on its own. It reads the pasteboard only inside the Clipboard action you tapped, and writes it only inside the Copy action you tapped. There are three pasteboard operations in the whole keyboard, and an automated test fails the build if a fourth is ever added.

We do not see any of it. The request goes to your machine. We are not on that path.

The built-in demo sends nothing at all. SHALL contains a demo for when you have no agent to connect to. Its answers are produced on your device, it holds no connection of any kind, and it works in Airplane Mode.

You turn it on yourself in the app: it is a button, offered only while no agent is configured. The keyboard is the one place it also answers on its own, and only where no agent is configured — so that a keyboard installed before you have set anything up still does something. That state is also where you land if you disconnect an agent later: the check is for a connection now, not for whether there was ever one. A connection that fails never becomes the demo. Once an agent is configured, the keyboard reports what went wrong instead of answering locally, because an invented answer presented as your own machine's is the one mistake this product must not make.

Wherever it answers, it says so. In the app the status reads Demo agent where a machine name would be, the runs are marked in the list, and every answer begins Demo answer:. In the keyboard the destination reads Local demo and the answer begins Demo result:. Those words are part of the answer text itself, so they come with it if you copy it out.

What SHALL stores on your device

Nothing in this list is transmitted anywhere.

What SHALL does not do

Full Access

iOS asks you to grant "Full Access" before a third-party keyboard can use the network or the pasteboard. It is a blunt switch, and iOS warns you about it for good reason. SHALL asks for it for exactly two things:

  1. Reaching your agent from the keyboard. A keyboard extension cannot make a network request without it.
  2. The clipboard, and only when you tap the Clipboard action or the Copy action.

Nothing else the switch permits is used: no location, no contacts, no photos, no iCloud, no background networking, no uploads.

Typing does not need Full Access. With it off, the SHALL keyboard types, switches layers and languages, and even runs its built-in local demo exactly as before. What you lose is the clipboard action and the ability to reach your agent from the keyboard — the app itself still can. SHALL re-checks the permission each time it would matter, so turning it off in iOS Settings takes effect at once.

Notifications

SHALL can tell you when a run finishes, fails, or needs your permission. These are local notifications produced on your device; there is no push service and nothing about your runs is sent to Apple or to us in order to deliver them. A setting controls whether the notification text may include details or whether the Lock Screen sees only that your agent needs attention.

Because there is no push, SHALL has to be running to notice that something happened.

Your agent is not covered by this policy

The most important thing SHALL does is hand your request to software you run. We do not control that software. What your agent does with your request — what it stores, what it sends onward, what tools it invokes — is governed by that agent and by whatever services it is configured to use, not by this policy. The credential you give SHALL grants your agent's full capabilities on the machine it runs on, which is why SHALL stores it in the Keychain and asks you to keep that machine on a private network.

What Apple passes on

SHALL is built for distribution through the App Store. When it is available there, Apple's own channels are the only way anything about you reaches us at all, and they are worth naming, because "we collect nothing" would otherwise be a smaller truth than it sounds:

That is the whole list. It is Apple's flow, described in Apple's own privacy terms, and nothing in it comes from the app talking to us — because the app never talks to us.

Deleting your data

There is no server, so there is nothing for us to delete. On your device:

Use Remove agent before deleting the app if you want the key gone for certain. iOS does not guarantee that a Keychain item is destroyed when an app is removed, and a reinstall can find it again. That applies to everything SHALL keeps there, so we will not tell you it is gone when the app is, because we do not control it. Deleting the key deliberately is the only way to be sure — and you should also rotate the token on the machine that issued it, which is something only you can do.

Children

SHALL is not directed at children and is not useful without a self-hosted agent. We do not knowingly collect information from anyone, of any age, because we do not collect information.

Changes

If this policy changes, the date at the top changes with it. A change that introduced any collection of data would be a change to how the software is built, and would be described here before it shipped.

Contact

hello@getshall.com

Setting SHALL up, what Full Access is for, and how to revoke your agent's key: getshall.com/support.