← Listen

Security

What runs where, what leaves the machine, and how to check every claim on this page yourself.

The shape of the thing

Listen has no server and no account. There is nothing of yours for us to hold, lose, or be compelled to hand over: the only thing it can ever send is anonymous statistics whose complete dictionary is public, and never your content.

Recording, transcription, speaker identification and search all run on your own hardware. None of this page has to be taken on trust, and the way to check it is from outside the app rather than inside it: put a firewall in front of Listen and watch what it tries to reach, or pull the network connection and see that nothing stops working.

What runs on the device

Every connection, declared

The repository ships InternetAccessPolicy.plist inside the application bundle, at Listen.app/Contents/Resources/: a machine-readable list of every outbound connection, which firewall tools such as Little Snitch read and display. It is in the copy you downloaded, so it is checkable without taking anybody's word for what the shipped build does.

An organisation can force the last three off with a device profile: see MANAGED.md.

How sync is sealed

Sync goes through your own private CloudKit database. There is no Listen server in the path, and Apple stores ciphertext it cannot read.

What CloudKit can see, exactly: record counts, change timestamps, asset sizes, and three plaintext coordination fields (claimedBy, claimExpires, audioOn) whose values are opaque device identifiers. That is the complete list, and listen sync inspect prints the container's actual shape so you can confirm it against a live account.

Protection at rest

The activity log

Every MCP tool call, agent run, export, deletion and backup leaves one line in activity.jsonl beside the library: the event and recording ids, never transcript text, names or questions. It exists because an agent that can read your whole library should not be able to do so tracelessly. listen activity reads it back.

What this does not defend against

Honesty about the boundary is part of the design. Anyone who can run code as your user account can read the library, exactly as they could read your documents; the MCP server is a pipe available to processes on your Mac, which is the point of it, and connecting an agent to it is a decision you make. A person holding your unlocked phone can read what the phone holds. The protections above are about the network, other people's clouds, and devices at rest, not about an already-compromised session.

Regulatory mapping

For HIPAA-regulated deployments, the technical safeguards of 45 CFR 164.312 map to Listen and the OS as follows. The deployment guide turns this into a checklist.

SafeguardWhere it lands
Access control, unique user identification One library per OS account; macOS login and FileVault. No Listen account exists to be shared.
Automatic logoff OS screen lock, required by the deployment guide.
Audit controls activity.jsonl and listen activity.
Integrity AEAD authentication on every sealed payload; compare-and-swap on concurrent note edits.
Transmission security End-to-end sealing for sync; https required for hosted Ask endpoints; a profile can force Ask local-only.

Under GDPR, the operator of Listen is the controller of what they record; no personal data reaches the maker of the software. Erasure is real deletion propagated across devices, voiceprints included; portability is the file layout itself, open WAV and JSON on disk; and privacy by design is the architecture on this page: every network connection is declared, and every one of them is yours to turn off.

Checking, not trusting

# every outbound host, for your firewall
open InternetAccessPolicy.plist

# what the container actually holds, without decrypting it
Listen.app/Contents/MacOS/Listen sync inspect

# the whole sync design, proved offline in about a second
Listen.app/Contents/MacOS/Listen sync --fake

# who touched the library
Listen.app/Contents/MacOS/Listen activity

This page is engineering documentation, not legal advice. If you are deploying Listen under a regulatory framework, have counsel review your configuration; the architecture makes that review short.