// privacy
Privacy notice
Last updated
Snipstack is a desktop and phone app for saving and copying snippets. It has no accounts, no telemetry, no analytics and no crash upload. This notice explains, in plain words, what data exists, where it lives and what leaves your device. It covers four things:
- the Snipstack desktop app;
- the Snipstack phone app for iPhone and Android;
- the downloads and update service at downloads.snipstack.dev;
- this website, snipstack.dev.
Who is responsible
Snipstack is made by Herman Demsong, an individual developer, who is responsible for the website and the downloads service. Contact: privacy@snipstack.dev.
There is no Snipstack server that receives your snippets, and nobody behind Snipstack can see your library.
The desktop app
What stays on your device
Your library and settings are stored in a folder on your computer (where exactly):
- your library: snippets, fragments, folders, tags, variables and their defaults, the values you last typed into variables (“remembered values”), how often and when you copied each snippet, conflict copies, and your settings;
- backups saved before a database replaces this device’s library (the last 10, including remembered values);
- log files (about 1 MB, plus one older file), with tokens, secrets and the update install ID removed from every line. They can contain your database address. On macOS they are in
~/Library/Logs/Snipstack; - crash reports, which are kept locally and never uploaded;
- the window’s size and position;
- on builds that update themselves, a cache of downloaded updates, outside the data folder (Uninstall lists it).
The library is a regular SQLite file and is not encrypted on disk. Only the database token is encrypted, using your operating system’s secure storage.
What leaves your device
The app makes only two kinds of network requests.
1. Sync, only if you set it up. When you connect a database, the app talks to the database URL you entered, and to nothing else. This is your own database, for example on Turso, in your own account with that provider; Snipstack’s developer has no access to it. What is synced:
- folders, snippets, fragments, tags and variables, including remembered values;
- usage counts and last-used times, per device. Each device is identified by a random ID created on that device; no computer name or user name is sent.
The connection is encrypted (unencrypted connections are allowed only to your own computer, localhost). The data is stored in your database as you wrote it, so anyone with access to that database can read it. The provider you choose processes it under its own terms. If you never connect a database, nothing is synced.
2. Update checks, on builds that update themselves. The Windows build and the Linux AppImage check downloads.snipstack.dev for a new version 30 seconds after starting and every 6 hours, and download the update when there is one. The .deb and the current, unsigned macOS builds never check. Each check sends:
- your IP address and ordinary request details (such as the user agent), as any download does;
- a random install ID that the updater creates once and keeps in your data folder (
.updaterId, sent as thex-user-staging-idheader). It identifies the install, not you, and the service does not use it. It stays the same across updates and reinstalls until you delete the data folder.
No content from your library is sent. You can turn automatic checks off in Settings > About; a check then only happens when you click Check for updates.
Nothing else. Fonts and images are bundled with the app, the spellchecker (which would download dictionaries) is off, and links you click open in your own browser. Copy diagnostics only puts a report on your clipboard; it is never sent by the app. The report holds the app and OS versions, the app and system locale, your settings, sync health, counts and the last 200 log lines, with credentials, database addresses and folder paths removed, and no snippet content.
Other things the app does on your device
- It writes to the clipboard when you copy. It never reads the clipboard.
- Auto-paste, off by default, sends a paste keystroke to the app you were using (on macOS this needs Accessibility permission).
- Launch at login, off by default, adds a login entry with your operating system.
- Pair a phone (Settings > Sync) shows a QR code that contains your database address and token, so the phone app can connect to the same database. Anyone who scans or photographs it can read and change your library: show it only to your own phone. It is drawn only while the dialog is open and is not saved anywhere.
The phone app
The phone app works like the desktop app and talks to nothing but your own database.
- On your phone: your library, its sync state and the app’s settings (Face ID lock, clipboard clearing, theme, code size) are stored in the app’s private storage. The library is a SQLite file and is not encrypted by Snipstack beyond the protection your phone gives app data. The database address and token are kept in the iOS Keychain or Android Keystore, on this device only.
- What leaves your phone: only sync with the database you paired or entered, encrypted, with the same data as the desktop app (see above). There are no update checks, accounts, analytics or crash uploads: you update it like any other app.
- Camera: used only while you scan a pairing code. Images are not stored or sent.
- Face ID / fingerprint: checked by your phone’s operating system; Snipstack only learns whether it succeeded.
- Clipboard: written when you copy. To clear it after the time you chose, the app asks iOS to expire the copied text, or on Android checks whether the clipboard still holds its own copy without reading the content.
The downloads and update service
downloads.snipstack.dev serves the installers and update files. It is a small program running on Cloudflare, which hosts it and stores the release files. To deliver a file, Cloudflare processes the request, including your IP address, as any web host does. Cloudflare handles requests in its global network, at a data centre that may be outside your country, under its privacy policy.
The service keeps no request logs and no records about you: request logging is turned off, it sets no cookies and ignores the install ID. It does keep anonymous download counts: each installer download, full update download or download-button redirect adds one to a tally of the platform, processor type, file type and version (and whether it was an install, an update or a redirect). No IP address, user agent, install ID or anything else that could tell one person from another is stored with them. To pick the right download for your system it reads your browser’s user agent and platform hints, only to answer that request.
The website
snipstack.dev is a static site, also hosted by Cloudflare, which processes your IP address to serve the pages.
- No cookies are set by the site. Cloudflare may set a strictly necessary security cookie if it challenges a request.
- No analytics or tracking scripts, and no third-party requests: fonts and images are served from the site itself.
- One localStorage entry,
snipstack-theme, is saved in your browser only if you use the light/dark switch. It holdslightordarkand never leaves your browser. - Your operating system is detected in your browser, only to show the right keys and download button. Nothing is sent.
How long data is kept
- On your device: until you delete it. Deleting or trashing a snippet does not remove its text: it stays in the library, marked as deleted. Items in the Trash stay until you empty it (only items trashed more than 30 days ago are removed, and nothing on devices that sync). Backups: the last 10. Logs: about 2 MB at most. Uninstalling keeps your data folder; Uninstall lists what to delete.
- In your database: for as long as you keep it. Deleted items are synced as marked deleted, with their text, and once a device has synced nothing in the Trash is permanently deleted, on the device or in your database. Disconnecting does not delete anything. To remove the data for good, delete the database in your provider’s account and delete the data folder.
- Downloads service and website: Snipstack keeps no request logs of its own. The only thing the downloads service records is the anonymous download counts described above, stored in Cloudflare Workers Analytics Engine, which keeps them for about three months. Cloudflare processes request data to deliver and protect the service, under its own policies. It shows the developer aggregated statistics (such as request counts and countries) and, for requests it blocks or challenges, security event details including the IP address. We do not use them to identify anyone.
- Email: if you write to us, we keep your message and address only as long as needed to answer. They pass through our email provider.
Your choices
- Use Snipstack without sync: nothing about your library leaves your device.
- Untick Remember these values for next time in the fill form (it is ticked by default), so new values are not stored or synced. Unticking it does not erase a value already remembered, and the app currently has no way to clear one.
- Turn off automatic update checks in Settings > About.
- Export your library at any time (remembered values are left out unless you include them), and delete the data folder and your database whenever you like.
The developer receives no data from the app, so there is nothing about your library to look up or delete on our side. For a question about the website or the downloads service, write to privacy@snipstack.dev.
Children
Snipstack is a tool for developers and is not aimed at children. The app collects no personal information from anyone, and the website and downloads service only process what is needed to answer requests, as described above.
Changes
If this notice changes, the new version is published on this page with a new date below the title.