A clipboard that remembers, and tells no one.
Your history stays on your Mac, encrypted. There is no account, no analytics, no telemetry and no crash reporter. The only third-party code bundled is Sparkle, which installs updates. This page lists what Pesto keeps, every request it makes, and what encryption does not protect.
- EncryptedAES-256-GCM, key in your Keychain
- MaskedSecrets, left out of search by meaning
- ListedEvery request Pesto makes
- YoursClear it all in Settings, Data
On this page
What Pesto stores
The text, code, links, pictures, files and colors you copy, with the app they came from, the time, and any titles, tags or notes you add. Text found inside pictures is kept so pictures can be searched. For files it keeps their location, never their contents.
The settings for each of these are in the guide’s Privacy and security page.
Text over 10 MB and pictures over 100 MB are not kept. A file copied in Finder is kept as its location, whatever its size. A bigger copy is skipped, and the shelf says so.
It lives in ~/Library/Application Support/net.copypesto.pesto/ on your Mac. Pesto has no server that receives your clips, and uploads none of it.
How it is encrypted
What you copy, its preview, the titles, notes and tags you add, the titles of linked pages, and the numeric vectors used to search by meaning are encrypted with AES-256-GCM before they are written to disk. The key is random, made on first launch, and kept in your login Keychain for this Mac only. This answers another account on the same Mac, someone who copies the database file or the disk, and a program that can write the store but cannot use your Keychain. It does not answer a program running as you on an unlocked Mac.
Not encrypted, so you know:
- The name of the app each clip came from, when it was copied, how big it is and how often it was pasted.
- What kind each clip is, whether it is pinned and which collection it is in.
- The names and rules of your collections, and colors you copied.
- A coarse fingerprint of each picture, used to spot near duplicates.
- For each clip, its length in characters, the language of a code clip, its expiry and shortcut, and whether it is marked sensitive or came from another device.
- For a secret, its category and the masked preview the shelf shows: for a card its last four digits; for a key with a known prefix, such as
ghp_, that prefix and how many characters it hides; for a JWT, a long random key or a password hash, how many characters it hides. Other secrets show only dots or a label.
While the history lock is off, the preview of your latest clip that holds no secret is also kept in a small file only your user account can read, so the pesto command and AppleScript can show it; turning the lock on removes it. Quick Look, dragging a clip out of the shelf and Add to Calendar write a plain copy of the clip to a temporary file. Previews and dragged files are cleared when Pesto starts and when the history locks, and the Add to Calendar file is removed after two minutes. After a crash, Pesto keeps a short note of the error, readable only by your user account and never sent, that can quote the first 160 characters of a stored value. Pesto puts nothing into Spotlight.
What it sends
These are the only network requests Pesto makes. The table is the short version; the list under it says more.
| Where | When | What it carries | Turn it off |
|---|---|---|---|
| copypesto.net, then GitHub | An update check. A download only after you agree. | Pesto’s version and your IP address. Nothing from your clips. | Settings, General, Check for updates automatically |
| The site a link points to | When a link clip appears, only if you turned link previews on. | An ordinary page request from your Mac. Not the clip’s other text. | Settings, Privacy, Link previews |
| The address of a picture copied from a browser | Once, so a GIF can play. | A request for a picture your browser already fetched. | The same Link previews switch |
| Maps, a carrier’s page, a link you open | Only when you choose it. | The link itself, opened in Maps or your browser. | Don’t choose it |
| Your backup folder, if it is in iCloud Drive | If you switch automatic backup on. | One encrypted file. Only your passphrase or recovery key opens it. | Settings, Data, Backup |
- Update checks. It asks copypesto.net for new versions. Only when you agree does it download one, from GitHub, which sees your IP address, and it checks the update’s signature before installing it.
- Link previews. When you look at a link clip, Pesto can fetch the page’s title and picture, so that site sees a request from your Mac. It is off until you turn it on in Settings, under Privacy. When on, it skips reset or verification links, links carrying a token or a cloud store’s signature, links to shared documents (Google Docs, Notion, Figma and the like, where the address is the permission), addresses on your own network, and everything while the history is locked. It judges a link by its address, so it cannot tell when a public name points to a private address, and the page’s picture and icon may be requested from other hosts.
- The GIF behind a picture copied from a browser. Under the same link previews switch: a browser’s Copy Image gives Pesto only the first frame and the picture’s address, so Pesto asks that address for the GIF once, so that it can play on the shelf and paste as a GIF. The site sees one request for a picture it already sent your browser. With link previews off, the picture stays a still.
- Links you open. Choosing Maps for an address, a carrier’s page for a tracking number, or a link inside a clip opens it in Maps or your browser, like any other link.
- Automatic backup, if you switch it on. It is off by default and set per Mac. It writes one encrypted file, holding your clips, collections, snippets and settings, to a folder you choose. Only someone with your passphrase or recovery key can open it. If that folder is in iCloud Drive, iCloud Drive carries only encrypted bytes. No server of Pesto’s receives it.
A backup leaves out clips that hold secrets unless you choose to include them, and clips over 10 MB are always left out. Each backup keeps the file it replaces as a previous copy beside it, so a clip you delete stays in that copy until the next backup. The AI features run on your Mac with Apple Intelligence and send nothing.
Checked on macOS 27.2 on October 18, 2026 with lsof and nettop: with automatic update checks and link previews off, Pesto opened no network connections while copying and browsing clips.
What it leaves out
Anything a password manager marks as concealed, and copies made in apps on the exclusion list, which includes the common password managers. You can add apps to the list. A copy made in an excluded app is dropped even after you switch away from it, so a password copied there does not slip in.
Copies from your iPhone, iPad or another Mac reach your Mac through Universal Clipboard. They are ignored, off by default, unless you turn on Keep copies from other devices in Settings, under Privacy.
Secrets and password managers
When you copy something that looks like a card number, key, token or a line such as password: …,Pesto masks it. It stays in your history, masked, like any other clip.
A password copied on its own, with no label, can look like ordinary text and may not be masked. Copy passwords from a password manager, which Pesto ignores.
A secret pasted from Pesto is cleared from the clipboard after 30 seconds, unless you copied something else by then. It is also marked to keep it off Universal Clipboard and out of other clipboard managers that respect the mark.
You can allow a password manager for 15 minutes, 1 hour, 4 hours or until Pesto quits. What it marks as concealed is kept hidden as a Credential clip and removed when the allowance ends, and never more than a day after you copied it.
Removing everything
In Settings, under Data, choose Clear Everything in Start over. It removes every clip, pinned ones too, and your collections and snippets, after Touch ID or your password. To remove Pesto completely, quit it, delete the app, the folder named above and ~/Library/Preferences/net.copypesto.pesto.plist, and delete any backup files you made. Its keys stay in your Keychain until you delete them in Keychain Access.
This website
The site collects nothing itself. It sets no cookies, runs no scripts and has no analytics. Cloudflare, which hosts it, sees each request, your IP address included, as any host does. It keeps request logs under its own policy. Downloads come from GitHub Releases, so GitHub sees your IP address when you download Pesto. Mail to hello@copypesto.net or security@copypesto.net is handled by Apple.
Published by Michael Roytman.
Questions about privacy: hello@copypesto.net. To report a security problem privately, see Security.