Napkin is a local scratchpad application built for developers who need to hold text and images temporarily without the overhead of filing them. Created by sudomonas, the project takes a hard stance against the trend of persistent, AI-powered note-taking applications. It ships as a desktop tool with no accounts, no sync, no telemetry, and no network access of any kind. Data lives in a local SQLite database inside the user's home directory, and the only socket the application opens is a local one used to prevent duplicate instances.

The gap between clipboard and notes app

The problem Napkin addresses sits between two existing tools. The clipboard forgets what you copied the moment you copy something else. A notes app asks you to file things, and that friction is enough to stop people from capturing anything at all. Napkin sits in that gap as a persistent surface where nothing needs a name, a folder, or a tag. The developer behind the project describes the core metaphor as a crumpled napkin: you write on one without deciding first whether it is worth writing on.

The intended use cases are specific. A token or container ID that will be needed in ten minutes. An SSH command that is about to be searched for. Screenshots from a debugging session that would otherwise pile up in a pictures directory under names like Screenshot_20260923_070305.png. A URL that becomes a chip that can be opened and searched by its address. The application also supports scratchpads per task, so one napkin can hold the items for a current ticket while another holds items from an interrupted one.

How it works internally

The application is built in C++20 against Qt 6.5 or newer, with CMake 3.24 and Ninja as the build system. SQLite 3 with FTS5 provides the storage layer, with a minimum version of 3.31 required. The data directory is ~/.local/share/napkin/napkin/ and contains the SQLite database plus image files. The directory permissions are set to 0700 for the directory and 0600 for the database, readable only by the owning user. It is also marked so that desktop search tools like Baloo and Tracker do not index its contents.

Text and images are the only supported content types. Links display as clickable chips, and embedded links open with Ctrl+click. Images support PNG, JPEG, WebP, SVG, and animated GIF formats, and double-clicking an image opens it at full size. Items are laid out as cards on a board with columns that widen with the window rather than multiplying into pages. Nothing asks for a title. Nothing gets summarized, categorized, named, or tagged. The project explicitly states it is not Evernote, Notion, Obsidian, OneNote, a task manager, or a clipboard-history tool, and there is no AI component of any kind.

Privacy and security posture

From a security perspective, Napkin makes its limitations clear. There is no at-rest encryption. Anyone who can read the home directory can read whatever was pasted into the application. The developer flags this explicitly: because a scratch surface will end up holding tokens and passwords, users should treat it as a security-sensitive surface. The tradeoff is deliberate - encryption would add complexity to a tool designed for frictionless capture, and the threat model is local access rather than network exfiltration.

On the plus side, the application never touches the network. There is no cloud sync, no telemetry, and no external connection. The local-only architecture means nothing leaves the machine unless the user explicitly exports it. Exporting a single napkin or everything to a folder of ordinary files is available through the File menu. Deleted items go to a trash that persists for 30 days by default, with the threshold configurable in settings, and cleanup can be undone.

Platform support and installation

Version 0.1.6 supports Linux and Windows. Windows is newer and has had significantly less real-world use than Linux, though it passes the full test suite in CI. macOS is planned but not started. Releases ship as an AppImage for Linux and a zip file for Windows 10 and 11. The Windows build is not code-signed, so SmartScreen will warn on first launch and the user will need to select "Run anyway."

On Arch Linux, a pacman package can be built from the latest master using makepkg. The build requires a C++20 compiler, CMake 3.24 or newer, Ninja, Qt 6.5 with the core, gui, widgets, network, and test modules, plus the qtimageformats and qtsvg runtime plugins. The test suites run without a display by using Qt's offscreen platform.

What the project signals

Napkin is a small tool, but it makes a pointed argument about how developer tools should handle temporary data. In an ecosystem where every application wants to become an AI-powered workspace with cloud sync and smart categorization, Napkin refuses every one of those features by design. Its SPEC.md design document serves as the project's record of decisions, measurements, and corrected mistakes, and it defines the test that every proposed feature must pass. For developers who want a scratch surface that stays on their machine and asks nothing of them, it is a clean and deliberate implementation.