What it stores, and where
Everything Project Board keeps is on your Mac:
- Your projects:
~/.config/project-board/projects.jsonholds your projects, their folders and files, every button (including any commands and links you add), your shortcut, panel width and look. When the app writes this file it makes it readable and writable only by your user account (permissions 0600), because commands can hold tokens. - Preferences (the standard macOS preferences for the app): whether the panel is pinned (
pinned); which AI provider is on (ai.provider); the model you picked and the list of models your key can use, per provider (ai.model.…,ai.models.…); whether a key is saved, not the key itself (ai.hasKey.…); whether to include your code folders when you send a request (ai.sendFolders); whether to look in Desktop and Documents (scan.privateFolders); and whether the menu bar tip has been shown (shownMenuBarTip). - Your API key, if you add one: in your login keychain as a password item labelled “Project Board AI key”. It is never written to
projects.jsonor to preferences. Remove, in Settings → Describe with AI, deletes it. - Your licence: in your login keychain as an item labelled “Project Board licence”. It holds when your trial started, your licence key, the activation ID Lemon Squeezy gave this Mac, the name or email on your order, and when the key was last checked. Keeping it in the keychain means removing the app doesn't restart the trial.
- Temporary scripts: when a command button runs in a Terminal window, the app writes a small
.commandscript to a ProjectBoard folder in your Mac's temporary folder and opens it. The script deletes itself as soon as it starts. - Login item: if “Open Project Board when I log in” is on, the app is registered as a login item with macOS. It's off by default, and you can turn it on or off in setup or Settings at any time.
Delete projects.json and the keychain item, or remove the app, to remove what it keeps.
Permissions
Desktop and Documents: macOS keeps these folders private. Project Board only looks in them if you click “Look in Desktop and Documents” (in setup) or turn on “Look for projects in Desktop and Documents” (in Settings). macOS then asks you first. If you say no, projects there simply aren't found, and you can still add any folder yourself.
No Accessibility or Input Monitoring. The shortcut is registered with the standard macOS hotkey system, which only tells the app when its own shortcut is pressed. Commands that run in Terminal are opened as ordinary .command files.
Automation, for Arc only, and only if you use it. A website button can be set to open in a particular Arc space. Arc only offers that through AppleScript, so the first time such a button is clicked, macOS asks whether Project Board may control Arc. It then tells Arc to switch to that space and open the link in a new tab, and nothing else. If you say no, the link simply opens in Arc as usual. To list your spaces, the app reads their names from Arc's own sidebar file on your Mac; nothing from it is sent anywhere.
Clicks outside the panel: while the panel is showing, the app asks macOS to tell it when you click elsewhere, so it can tuck the panel away unless it's pinned. It ignores where you clicked, uses this only to hide the panel, and records nothing.
Finding your code folders: setup and Describe with AI look for code folders (git repos and folders with files like package.json or Package.swift) in places such as ~/Code, ~/Developer and ~/Projects, up to 100 of them. For each one they read the folder's name, its git remote address (with any user name or token removed) and when it was last worked on. This happens on your Mac. It only leaves your Mac as part of a Describe with AI request, below.
Describe with AI: what's sent, and when
Describe with AI is the only feature that sends anything about your projects, and you check it before it goes. It is off until you choose Claude or OpenAI in Settings → Describe with AI (or in setup) and add your own API key. It makes two kinds of request, straight from your Mac to the provider you chose:
| When | Where to | What's sent |
|---|---|---|
| You press Check Key | GET https://api.anthropic.com/v1/models or GET https://api.openai.com/v1/models | Only your key, to list the models it can use. |
| You press Send to Claude or Send to OpenAI after checking the request | POST https://api.anthropic.com/v1/messages or POST https://api.openai.com/v1/chat/completions | Your key and the request below. |
When you press Work It Out, nothing is sent yet. The app gathers the request and shows it to you word for word under Check what's sent. You can then press Send to Claude (or OpenAI), or Don't Send. The Include my code folders switch there decides whether your home folder path and the list of code folders go with it; your choice is remembered for next time. A request you send contains:
- The app's instructions to the model: how projects and buttons work, and its rules (for example, never to guess a link).
- Your home folder path, such as
/Users/yourname, which contains your macOS user name. Only when Include my code folders is on (it is on until you turn it off). - The code folders it finds on your Mac: each folder's name, its path (written from
~), and its git web address if it has one, with any user name or token removed. Only when Include my code folders is on. - The names of the web browsers installed on your Mac. For some browsers this is the app's full path on disk.
- The names of the other projects in your panel, so it doesn't add them twice.
- When you're changing a project (Change with AI…): that project in full, including its folder, items, buttons, links and commands. If a command or link holds a token or password, it is sent too; you'll see it in the request before you send, and can choose Don't Send.
- Your request, exactly as you typed it, and the model you picked.
Not sent: the contents of any file, your projects.json, the buttons, links and commands of your other projects, and anything about how you use the app. For dev container buttons, the app reads the folder's devcontainer.json on your Mac to write the command itself; that file isn't sent.
Requests to Claude Opus 5.5, Opus 5, Sonnet 5.5 and Fable 5.1 also ask Anthropic to retry on another of its models if a safety check declines the request. Requests time out after two minutes. The app uses an ephemeral connection, so nothing about the request or the reply is cached on disk. The reply is shown to you as a preview, and nothing is saved until you press Add or Save.
Who receives it: only the provider you chose, Anthropic or OpenAI, under your own account with them. They bill your account for the request, and their terms and privacy policies apply to what they receive: Anthropic's privacy policy and OpenAI's privacy policy. Nothing goes to us. Rarely Impossible runs no server for Project Board and never sees your key, your requests or the replies.
Licence checks: what's sent, and when
Project Board is free to use for 48 hours from first launch. After that it needs a licence key, bought through Lemon Squeezy, which sells Project Board for us as merchant of record and handles payment. Until a key is entered, the panel shows a card to buy or enter one in place of your projects; nothing is deleted.
| When | Where to | What's sent |
|---|---|---|
| You enter a key and press Activate | POST https://api.lemonsqueezy.com/v1/licenses/activate | Your licence key, and a name for this Mac (“Project Board on” followed by your Mac's name, as set in System Settings → General → Sharing), so you can tell your Macs apart in your order. |
| About once every 30 days, in the background, and when you press Check Licence | POST https://api.lemonsqueezy.com/v1/licenses/validate | Your licence key and this Mac's activation ID. |
| You press Remove from This Mac | POST https://api.lemonsqueezy.com/v1/licenses/deactivate | Your licence key and this Mac's activation ID. |
Lemon Squeezy replies with whether the key is valid, and the product, order and customer it belongs to; the app keeps only the customer's name or email, to show who it's licensed to. If your Mac is offline when a monthly check is due, the app keeps working for 14 more days before asking you to check again. The trial's start time is kept on your Mac only; it isn't sent anywhere. Lemon Squeezy's privacy policy covers what they hold about your purchase.
Check for Updates
The app only looks for a new version when you choose Check for Updates… (in Settings, or by right-clicking the menu bar icon); it never checks in the background. It then fetches a small update feed from this website (https://www.rarelyimpossible.com/project-board/appcast.xml), and if there's a newer version and you choose to install it, downloads it from our download server on Cloudflare. Neither request includes anything about you or your projects, though like any web request they reach the server with your IP address, which the hosts may keep in short-lived logs. Updates are signed, and the app refuses one that isn't signed by us.
What happens when you click a button
Project Board does only what you set up, when you click it: it opens a folder or file in the app you chose, launches an app, opens a link in your browser (where the website you visit sees an ordinary visit from your browser), or runs a command as you, in your own shell. Commands that run in the background run in your login shell with ~/.zshrc loaded, and stop when you stop them from the menu bar or quit the app. A command button's tooltip always shows the command it runs.
The About window's Website, Support and Privacy buttons open this website or a new email in your own apps. To list the browsers you can pick for a link, the app asks macOS which apps open web addresses, using a sample address; no request is made.
Children
Project Board collects no data from anyone, including children.
Changes
If this policy ever changes, the new version will be posted on this page with a new date.
Who we are
Project Board is published by ICE32 Limited, the company behind Rarely Impossible. ICE32 Limited is registered in England and Wales (company number 07046272). Registered office: Platinum House, 23 Hinton Road, Bournemouth, BH1 2EF, United Kingdom.
Contact
Questions: [email protected].
This policy sits alongside the Rarely Impossible privacy policy and terms of use, which cover all our apps.