Security / Encryption Architecture
SecurityUpdated October 24, 2026
Encryption Architecture
Technical deep-dive into how Parrot Scribe secures your data
Version: This guide describes Parrot Scribe 1.1.0. Upgrading from 1.0.x? See The original 1.0.x library.
Parrot Scribe keeps your library encrypted on your Mac. Transcription and speaker processing use local models and do not send session content to a server. Licensing, device management and model downloads use network services.
Root of Trust: Keychain
Parrot Scribe uses a random 32-byte master secret stored in the macOS Keychain.
- Available when unlocked: macOS releases the item after you unlock the Mac.
- iCloud Keychain carriage: the item is marked synchronizable. If iCloud Keychain is on, Apple can carry the master secret to another Mac signed in to the same Apple Account. This does not copy library content.
- 24-word Recovery Key: the Recovery Key encodes the same master secret, so you can restore it without iCloud Keychain. In Settings > General, Copy Recovery Key places the words on the pasteboard and Save as File… writes an owner-only plaintext file where you choose. Parrot Scribe does not send the words to its servers.
- No Parrot Scribe key escrow: Parrot Scribe has no server-side copy of the master secret.
Encryption at Rest
The library lives under ~/Library/Application Support/Parrot Scribe/rs/library/.
- Sealed content: session records, retained audio, settings, folders, speaker information and AI-app grants use XChaCha20-Poly1305 authenticated encryption. Each sealed record has a fresh random 24-byte nonce.
- Key derivation: a library-wide key is derived from the master secret with HKDF-SHA256.
- Small plaintext index:
index.sqliteis ordinary SQLite. It holds session IDs and start times, not transcript text, titles or speaker names. Parrot Scribe can rebuild it from the sealed session records. Filenames and file sizes are also visible to someone who can read the data folder.
Authentication detects altered ciphertext, but it does not generally prove that a valid encrypted record belongs at its current path or is the newest saved version. Valid encrypted audio can be moved between recording paths, and older valid ciphertext can be replayed. This protection does not cover software running as you with access to your library files.
Plaintext boundaries
Encryption at rest does not mean data is never plaintext. Audio and transcript content must exist in memory while Parrot Scribe captures, transcribes, searches, displays, exports or plays it. Exports and files you share are plaintext at the destination you choose.
An AI app you connect in Settings > AI Apps receives the transcript content it reads. A cloud-backed AI app can send that content to its provider.
Local Data and Portability
Parrot Scribe does not upload or sync session transcripts, retained audio or session metadata. Licensing and device management send license and device information to hosted services, and model downloads use external services. Content you explicitly export, share or expose to a connected AI app goes to the destination you choose.
Backups and Moving to Another Mac
Quit Parrot Scribe from its menu bar icon before copying its data folder, and keep every file from that copy together. Do not combine files from different backup dates or place the live library in an iCloud Drive folder.
A restore needs a complete matching copy of the library and the correct master secret, delivered by iCloud Keychain or restored from the Recovery Key. The Recovery Key cannot recreate missing files. Keep the original Mac and backup until you have checked the restored content. Parrot Scribe does not synchronize library content between Macs.
Deletion Boundaries
Deleting a session removes its current app-managed records and audio. The library key stays in use, so deletion is not per-session cryptographic key revocation. A separate copy of an encrypted record can remain decryptable with the matching master secret.
Delete Speaker and Sessions… deletes the speaker, their saved voice and every session attributed to them, including other speakers' content in those sessions.
Deletion does not remove the preserved 1.0.x library, independent backups or exported files. Keep those copies under your own retention policy.
The original 1.0.x library
Upgrading from 1.0.x imports the original library into the new format without replacing its files. The original stays in place as a recovery copy. The Recovery Key still encodes the same master secret, but the new library uses a separately derived key and a different file format.
The original library keeps the 1.0.x protections: AES-256-GCM files with per-session wrapped keys and a SQLCipher search index. Sessions you delete in 1.1.0 can remain in that original copy.