Every credential ToolPiper holds is a secret worth protecting. The token from your sign-in. The developer tokens you mint for scripts and editors. Your OAuth connections. Any cloud provider API keys you add for OpenAI, Anthropic, or the rest. beta 9 is the release where we finished treating all of them the way macOS treats its own passwords: encrypted in the Keychain, and locked to your Mac.

Most of this happens where you never see it. Two changes are worth understanding, though, because one of them may ask you to re-add your cloud API keys once.

What is the macOS Keychain, and why keep API keys there?

The Keychain is macOS's encrypted store for passwords, tokens, and keys. Items are encrypted at rest under keys the Secure Enclave protects, and an app can read only the items it wrote. Putting an API key in the Keychain means it is encrypted on disk and unreadable to other processes, instead of sitting in a config file any process with access to your home folder could open.

A cloud API key is a password that happens to be 64 characters long. It can spend money and read your accounts. The difference between a key in a plaintext config file and a key in the Keychain is the difference between a note on your desk and a note in a safe. Same paper, very different exposure. macOS built the safe. beta 9 makes sure every ToolPiper credential goes in it.

ToolPiper uses the Data Protection Keychain with an app-specific access group. In plain terms, the items belong to ToolPiper, other apps cannot list or read them, and they are tied to the app's own code signature.

What actually changed in beta 9?

Two things, both about how the storage behaves rather than what it looks like.

Keys are now locked to this Mac. Every credential is written as this-device-only. It can be decrypted only while your Mac is unlocked, it never syncs to iCloud Keychain, and it is left out of encrypted backups. A copied backup or a synced Apple account can no longer carry your ToolPiper credentials off the machine. This is the change that materially raises the bar.

Storage fails safe. If the Keychain is briefly unreadable, the moment right after a reboot, a locked screen, or a permissions hiccup, ToolPiper now refuses to overwrite or delete a credential it cannot currently read, and retries instead. An app in that state can misread "locked" as "empty" and quietly clobber a good token, which is exactly how you get logged out for no reason. beta 9 treats a locked Keychain as "wait," never as "gone."

Two smaller notes. Developer tokens are stored as SHA-256 hashes, not the raw token, and the raw value is shown once when you create it and never written to disk. And all of this now runs through one credential store instead of several, which is what makes the guarantees above hold everywhere rather than in most places.

Do I need to do anything after updating?

For most people, almost nothing. Your ModelPiper sign-in, your developer tokens, and your OAuth connections all carry over automatically when you update to beta 9. The one thing you may need to redo is re-adding your cloud provider API keys, such as OpenAI or Anthropic, because beta 9 rebuilt how those connections are tracked.

To be clear about what happened: the key material itself was never exposed and never at risk. beta 9 consolidated the small record that tells ToolPiper which providers you connected and where, and it does not read the older version of that record. Your OAuth grants get rebuilt automatically because ToolPiper can find them by provider. Cloud API keys are identified differently, so ToolPiper asks you to add them one more time. It takes a few seconds per provider.

If you only run local models and never added a cloud key, there is nothing to redo at all.

Why are the keys tied to one Mac?

beta 9 marks every stored credential as this-device-only, so it is never copied to iCloud Keychain or included in an encrypted backup. The trade-off is that moving to a new Mac means signing in and re-adding your keys there. For secrets that can spend money or read your accounts, staying on one machine is the safer default.

We went back and forth on this. Syncing credentials across your Macs is convenient, but it also means each secret lives in more places, including a cloud service and a backup image. For the kind of secret an API key is, we would rather you type it twice than have it ride along in a file you forget exists. If you set up a second Mac, sign in and add your keys there directly.

The short version

beta 9 keeps every ToolPiper credential in the macOS Keychain: encrypted, unlocked only when your Mac is, and never leaving the device. Storage now fails safe instead of failing open. Your sign-in and OAuth connections survive the update. Cloud API keys may need to be added once more. That is the whole list.

Update ToolPiper at modelpiper.com. If you connect cloud providers, keep your keys handy for the first launch.

Related: Is ToolPiper Safe? What You Can Verify and How. Connect ToolPiper to Your Cloud Accounts via OAuth.