Skip to content

Security: sigitkusuma/copas

Security

SECURITY.md

Security

Reporting a vulnerability

Please report privately rather than opening an issue: use GitHub's private advisory form, or email the address on the maintainer's GitHub profile.

Say what you found, how to reproduce it, and what an attacker gets. You will get a reply within a week.

What Copas stores, and where

Everything is in ~/Library/Application Support/Copas/:

clips.sqlite clip text, previews, recognised text, timestamps
blobs/ images, and text over 8 KB, named by SHA-256
thumbs/ card-sized copies of images

Unencrypted, and readable by anything running as you. That is true of every clipboard manager on macOS, and it is worth being explicit about: if you copy a password, it is on disk until it is trimmed or deleted.

Copas is not sandboxed, because it synthesises a paste into whichever app was frontmost and that needs Accessibility.

What Copas does not do

  • No account, no sync, no analytics, no crash reporting.
  • The only network request is to the update feed at sigitkusuma.github.io/copas/appcast.xml. Updates are signed with EdDSA and Sparkle refuses anything that does not verify.
  • Text recognition runs locally through Vision. No image and no recognised text leaves the machine.

What Copas refuses to record

Anything marked with the nspasteboard.org conventions — org.nspasteboard.ConcealedType, TransientType, AutoGeneratedType — which is what password managers set on what they copy. The check happens before the contents are read, so a concealed value is never held in memory, never hashed, and never written to disk.

Apps that do not follow the convention can be excluded by hand in Settings → History.

Permissions

Both are asked for only when first needed, never at launch:

  • Accessibility — to press ⌘V for you. Denying it means clips still reach the clipboard and you paste by hand.
  • Screen Recording — for capture to text, on first use of ⇧⌘2. Denying it disables only that feature.

There aren't any published security advisories