Technical reference
System Requirements
Exact platforms, architectures, installers, and runtime dependencies Snipset ships on, sourced from the repository build configuration.
Last verified: 2026-09-04
Supported surfaces
Platforms and installers
Snipset ships as a native desktop application for Windows and Linux, plus a standalone Android app. Each surface below lists the minimum OS, CPU architecture, installer format, and update channel.
| Surface | Minimum OS | Architecture | Installer | Updates |
|---|---|---|---|---|
| SurfaceWindows | Minimum OSWindows 10 or later | Architecturex64 only | InstallerMSI (standard) and NSIS EXE (setup) | UpdatesSigned in-app updater (minisign, latest.json served through the Cloudflare worker) |
| SurfaceLinux | Minimum OSRecent Debian or Ubuntu x86_64 (DEB), or any x64 distribution (AppImage) | Architecturex64 only | InstallerDEB package or portable AppImage | UpdatesSame signed updater channel as Windows |
| SurfaceAndroid | Minimum OSAndroid 8.0 or later (API 26) | Architecturearm64-v8a, armeabi-v7a, x86_64 in one universal APK (no 32-bit x86) | InstallerDirect APK sideload | UpdatesIn-app self-update prompt backed by the Android updater worker |
Current release: desktop 0.6.780, Android 1.0.4 (build 105).
Runtime environment
OS integration and runtime dependencies
The DEB package declares libwebkit2gtk-4.1-0, libxdo3, libayatana-appindicator3-1, and xdotool as dependencies, so they install automatically. The AppImage still needs the WebKitGTK 4.1 system libraries present. Windows relies on the platform Evergreen WebView2 runtime, which ships with Windows 11 and with Edge on Windows 10; the installer does not bundle it.
| Capability | Windows | Linux | Android |
|---|---|---|---|
| CapabilityUI shell | WindowsTauri 2 on the Evergreen WebView2 runtime | LinuxTauri 2 on system WebKitGTK 4.1 | AndroidNative UI with Jetpack Compose |
| CapabilityText injection | WindowsBuilt into the Rust backend (Win32 input APIs) | LinuxX11: xdotool with libxdo3. Wayland: ydotool (recommended) | AndroidAccessibilityService (enable it in system settings) |
| CapabilityClipboard capture | WindowsBuilt in | LinuxBuilt in. Wayland sessions need wl-clipboard (recommended) | AndroidFlows through the AccessibilityService. Background clipboard reads are restricted by the OS on Android 10 and later |
| CapabilitySystem integration | WindowsSystem tray, single instance, global shortcuts. Runs as a standard user (asInvoker) | LinuxSystem tray with Ayatana AppIndicator, single instance, global shortcuts | AndroidShare-to-Snipset intents for text and images. No autostart receiver and no overlay service |
| CapabilityDeclared permissions | WindowsNone beyond standard desktop APIs | LinuxNone beyond standard desktop APIs | AndroidINTERNET, REQUEST_INSTALL_PACKAGES, RECORD_AUDIO, MODIFY_AUDIO_SETTINGS |
The NSIS installer is machine-wide (perMachine) and asks for administrator rights at install time; the app itself runs as a standard user. On Android 13 and later, sideloaded apps start with Restricted settings, so allow restricted settings manually before enabling the accessibility service.
Data and storage
Where your data lives
Everything is stored locally. The desktop database is SQLite with SQLCipher encryption and Write-Ahead Logging (WAL). The Android app keeps the same layout inside its private sandbox at /data/data/com.belajarcarabelajar.snipset.mobile/.
| Stored data | Desktop (Windows / Linux) | Android |
|---|---|---|
| Stored dataSnippet database (SQLCipher-encrypted SQLite, WAL) | Desktop (Windows / Linux)Windows %LOCALAPPDATA%\Snipset\snipset.db ยท Linux ~/.local/share/Snipset/snipset.db | AndroidPrivate databases/snipset.db (Room, WAL) |
| Stored dataActivity and clipboard tables | Desktop (Windows / Linux)Windows %LOCALAPPDATA%\Snipset\activity\activity.db ยท Linux ~/.local/share/Snipset/activity/activity.db | Androidclipboard_history table inside the main Room database |
| Stored dataAttachments | Desktop (Windows / Linux)Windows %LOCALAPPDATA%\Snipset\attachments ยท Linux ~/.local/share/Snipset/attachments | AndroidPrivate filesDir/attachments/<snippetUuid>/ |
| Stored dataBackups (ZIP with manifest v2 and SHA-256 hash) | Desktop (Windows / Linux)Windows %LOCALAPPDATA%\Snipset\backups, plus a Documents\Snipset Backups mirror (latest 5 kept) ยท Linux ~/.local/share/Snipset/backups, plus a Documents/Snipset Backups mirror (latest 5 kept) | AndroidCovered by Android system backup of the app sandbox |
| Stored dataDownloaded updates | Desktop (Windows / Linux)Staged by the updater before install | AndroidPrivate cacheDir/updates/ |
- Backup files are named backup_YYYYMMDD_HHMMSS_<id>.zip and contain backup.json, manifest.json (v2.0 with SHA-256 content hash), and attachments/.
- A fresh install auto-recovers from the latest valid backup when one exists.
- Desktop logs live at %LOCALAPPDATA%\Snipset\logs\snipset.log (rotated 5 MB x 5); crash.log and db_error.log sit one level up.
Local AI (optional)
Ollama engine and models
Smart Shorthand, the AI snippet creator, and semantic search run through a local Ollama engine. Snipset talks to Ollama over HTTP on loopback only (default http://localhost:11434, changeable in Settings); the backend refuses non-loopback Ollama URLs. Model files live in the Ollama store (~/.ollama/models on desktop). The One-Click Model Hub downloads and removes models through the Ollama API. Ollama-driven AI ships on desktop; the Android app focuses on text expansion and clipboard workflows.
| Model | Approx size | Runs |
|---|---|---|
| Modelnomic-embed-text (default embedding) | Approx size~274 MB (F16) | RunsOn device via Ollama |
| Modelall-minilm | Approx size~46 MB | RunsOn device via Ollama |
| Modelsnowflake-arctic-embed family | Approx size~46 MB to ~669 MB | RunsOn device via Ollama |
| ModelSnipset-Shorthand-1.5B-v1.1 (default shorthand) | Approx size~941 MB GGUF | RunsOn device via Ollama |
| Modelgemma4:31b-cloud (default text model) | Approx size< 1 KB local | RunsCloud hybrid, needs internet |
| Modelqwen2.5:1.5b | Approx size~1.0 GB | RunsOn device via Ollama |
| Modelllama3.2:3b | Approx size~2.0 GB | RunsOn device via Ollama (offline) |
| Modelphi3:mini | Approx size~2.2 GB | RunsOn device via Ollama |
| Modelqwen2.5:32b and deepseek-r1:32b | Approx size~19.5 GB | RunsOn device via Ollama |
| Modelllama3.3:70b | Approx size~42.5 GB | RunsOn device via Ollama |
- Semantic search defaults to the nomic-embed-text embedding model, which runs fast on CPU-only machines.
- The default text model gemma4:31b-cloud is a cloud hybrid under 1 KB locally: instant answers with no local RAM or CPU load, but it needs internet. Choose an offline model such as llama3.2:3b for fully offline text generation.
- The default shorthand model Snipset-Shorthand-1.5B-v1.1 is a fine-tuned GGUF served from Hugging Face (hf.co/belajarcarabelajar/snipset-qwen-1.5b-gguf).
- Hardware guidance from the AI & Benchmark page: CPU-only machines with 8 to 16 GB RAM cover embeddings and small models; mid-size generation wants 4 to 6 GB VRAM; large models want 8 to 16 GB VRAM with 32 GB RAM.
Measured footprint
What is actually measured
Only the rows below come from release artifacts. Runtime memory and cold-start time are not yet published; the live numbers will appear on the performance page once measured.
| Artifact | Measured size | Measured at |
|---|---|---|
| ArtifactMSI installer (x64) | Measured size12.34 MB | Measured at2026-09-03 |
| ArtifactEXE setup (x64) | Measured size9.56 MB | Measured at2026-09-03 |
Source: performance.json, the same file that powers the performance page.
Network behavior
Offline by default, online only by feature
Snipset is offline by default. Every connection below is optional and tied to a feature you enable. With update checks disabled and no optional integrations enabled, the desktop app makes no routine outbound calls.
| Connection | Endpoint | Needed for |
|---|---|---|
| ConnectionDesktop update check | Endpointhttps://snipset.belajarcarabelajar.com/api/updater/latest.json (plus previous.json) | Needed forAutomatic update checks, can be disabled |
| ConnectionAndroid update check | Endpointhttps://snipset.belajarcarabelajar.com/api/updater-android/latest.json | Needed forIn-app Android updates |
| ConnectionRelease downloads | EndpointGitHub release assets, proxied through the updater worker | Needed forFetching signed installers and update packages |
| ConnectionCrash reports | Endpointhttps://snipset.belajarcarabelajar.com/api/updater/crash-report | Needed forOpt-in crash reporting |
| ConnectionLicense activation | Endpointhttps://snipset.belajarcarabelajar.com/api/activate-license and /api/check-device | Needed forOne-time license activation |
| ConnectionLocal AI engine | Endpointhttp://localhost:11434 (loopback) | Needed forAll Ollama-driven AI features |
| ConnectionCloud-hybrid text model | EndpointOllama cloud endpoints | Needed forOnly when the default gemma4:31b-cloud text model is selected |
| ConnectionModel downloads | EndpointOllama registry, ollama.com, and Hugging Face | Needed forPulling embedding, text, or shorthand models |
| ConnectionTelegram notifications | Endpointsnipset-tele-proxy.belajarcarabelajar.workers.dev | Needed forTelegram notification delivery, if enabled |
| ConnectionYouTube search | Endpointsnipset-yt-search.belajarcarabelajar.workers.dev | Needed forYouTube search feature, if enabled |
| ConnectionAI web search | EndpointDuckDuckGo, Tavily, Brave, SearXNG | Needed forAI agent web search, if enabled |
Explicit boundaries
Not supported
Explicitly out of scope, so you can plan accordingly.
- macOS: not shipped. macOS support is on the public roadmap.
- Windows on ARM64 and 32-bit x86: builds are x64 only.
- Linux on ARM: builds are x64 only.
- iOS and iPadOS: no build exists.
- Windows 7 and 8.1: unsupported. Tauri 2 and the Evergreen WebView2 runtime require Windows 10 or later.
- Android below 8.0 (API level under 26): unsupported.
- 32-bit x86 Android emulator images: the native engine ships arm64-v8a, armeabi-v7a, and x86_64 only.
- Browsers: there is no full web app. The website playground is a browser sandbox demo, not the product.