FeaturesPricingBlogDownload

Advanced

Security & Privacy

Learn about Snipset's strict local-only data policies and security features.

Snipset is designed with a strict, non-negotiable "on-device only" philosophy. Because a text expander monitors your keystrokes and has access to your clipboard, trust is paramount. This page outlines the specific mechanisms in place to guarantee your data stays private and secure.

On-Device Data Policy

Snipset does not have telemetry, analytics, or cloud sync features. Nothing is transmitted over the internet (except to your own local Ollama instance or the update server to check for new app versions).

  • Snippets & Database: Stored locally in a SQLite database located at %APPDATA%\Snipset\snipset.db.
  • Clipboard History: Stored strictly in the same local database.
  • AI Chat History: Saved locally. Conversations never reach external cloud services like OpenAI or Anthropic.
  • Vector Embeddings: Calculated locally via Ollama and stored locally for OmniSearch.

Typing Monitor Privacy

Snipset uses a global keyboard hook to monitor for snippet keywords. However, it is not a keylogger.

  • Snipset maintains a tiny, rolling "buffer" of the most recent characters you typed—just enough to match your longest keyword.
  • It strictly matches this buffer against your known snippet keywords.
  • Raw keystrokes are never logged to a file, database, or sent anywhere.
  • As soon as you use the mouse, press Escape, or pause typing, the buffer is instantly wiped from memory.

Ollama URL Validation

To prevent malicious configurations from rerouting your AI prompts to an external server, Snipset strictly validates the Ollama Base URL before making any HTTP request.

  • Only RFC1918 private network addresses are allowed.
  • Accepted ranges: localhost, 127.0.0.1, 10.x.x.x, 172.16.x.x172.31.x.x, 192.168.x.x.
  • Any public IP address or domain name is immediately rejected with an "Untrusted URL" error.

Rhai Script Security

The Rhai scripting engine runs in an isolated Rust sandbox. It cannot read or write to the filesystem, cannot make network requests, and cannot import external modules. Loop iterations are capped to prevent Denial of Service (DoS) freezes.

Input Sanitization & Backup Integrity

  • Backup Checksums: Backup ZIP files are signed with an internal SHA-256 hash. When restoring, Snipset verifies the hash to ensure the backup file has not been corrupted or maliciously altered.
  • Input Validation: All snippet text is validated as proper UTF-8. Null byte ( \0) injections are actively rejected before storage.
  • Size Caps: Snippet content length is capped to prevent memory exhaustion and DoS attacks against the SQLite engine.