An app from Excelano

Slipcase

Metadata that travels with the file.

A slipcase container is one file that holds a document of any type together with a TOML description of it. Open a container, read and edit the metadata travelling inside it, and hand the document to whatever your computer opens it with. For macOS, Windows, and Linux.

Coming to the Mac App Store and the Microsoft Store. Available today on Linux and from source.

The Slipcase app icon: a cream index card sliding into an open-topped blue case.

The description travels with the document

Metadata about a file usually lives somewhere the file is not: in its name, in a sidecar document beside it, or in a database on somebody else's computer. Rename the file, move it, or send it on, and the metadata is truncated, separated, or left behind.

A slipcase container puts the two in one file. A .slpc is a ZIP archive holding one payload — a document of any type — together with a TOML document describing it. Copy the container, email it, or move it to another machine, and the description goes with it. Slipcase is the desktop application that opens one, shows what is inside, lets you edit the description in place, and hands the payload to whatever your computer already uses for that kind of file.

What you can do

Open

Hand the payload to whatever application your computer has registered for that kind of file. Slipcase shows no preview of its own — the file goes to the tool built to render it.

Extract and replace

Write the payload out to a location you choose, or swap it for a different file. A container holds one payload; Slipcase keeps it that way.

Edit the metadata in place

The description is a tree, and every value is editable where it sits — strings, dates, numbers, booleans, arrays, and nested tables.

Save without disturbance

Writing edited metadata back keeps your comments, your key order, your untouched whitespace, and anything in the container Slipcase does not recognise. A container you did not change is not rewritten at all.

A verdict you can read

Slipcase reports whether a container conforms to the specification, in the specification's own words — including the two answers that are neither pass nor fail: unreadable metadata is undetermined, and a newer format version is out of scope.

Checked before it lands

A rewrite is read back and validated before it replaces anything, so a save that would produce a container the format does not accept changes nothing on disk.

Provenance carried, not stripped

If a container arrived from elsewhere, Slipcase says so and passes that marking to the payload you extract, so your system treats it with the caution it gives anything from outside.

It tells you, it does not guess

Where your computer will not say what opens a payload, Slipcase says nothing rather than guessing. It ships no table matching filenames to types and never inspects a payload to invent one.

It reports. It does not decide for you.

A container is something someone may have sent you, so the questions that matter are where it came from and what is really inside it — and those are the ones Slipcase answers rather than overrides. It shows the container's verdict against the format, names the payload and what your system would open it with, and writes out the characters that reorder text so a file cannot present itself as one kind and be another.

What it will not do is substitute its own judgement for your operating system's about what is safe to open. There is no list mapping names to types, no inspection of a payload's bytes to guess at one, and no gate dressed up as a feature. What you get is information — where the file came from, what it was, whether the container is well formed — and the decision stays yours.

No network. No account. Nothing to send.

Slipcase makes no network connection of any kind. There is no Slipcase server, no account to create, no analytics, no telemetry, no crash reporting, and no third-party SDK. It reads the file you open and writes where you tell it to. The one thing it remembers between sessions is the folder your last container came from, so the file dialog opens somewhere useful — a folder name, never a filename, never the contents of anything. On the App Store its privacy declaration is “Data Not Collected,” because the developer collects nothing and has nowhere to put it.

The full statement is at excelano.com/legal/#slipcase, and because Slipcase is open source, every line of it is verifiable in the source at github.com/excelano/slipcase-desktop.

How to get it

macOS and Windows

Slipcase is coming to the Mac App Store and the Microsoft Store. This page will carry the store links the day each listing goes live.

Debian and Ubuntu

Slipcase is packaged for the Excelano apt repository. Add the repository once, then install — updates arrive with apt upgrade like any other package:

curl -fsSL https://excelano.com/apt/setup.sh | sudo sh
sudo apt install slipcase-desktop

Once installed, Slipcase registers as a handler for .slpc files, so you can open a container straight from your file manager.

From source

Slipcase is written in Rust and builds with a Rust toolchain alone — nothing in its dependency tree compiles C. The README covers building and the per-platform desktop integration.

Behind the tool

Slipcase is the desktop face of an open format. The container is a plain ZIP with a TOML document inside, specified in the open at github.com/excelano/slipcase, and every container Slipcase reads or writes goes through slpc, the reference library, rather than through any parsing of its own. Nothing about a .slpc is locked to this application: it is a file you can open with the command-line tool, unzip by hand, or read with anything that reads a ZIP.

I built it because attaching a description to a file without changing the file, and without scattering that description across filenames and sidecar documents, is a problem that keeps coming up in the data and migration work I do. If that is a snag your team keeps hitting, it is the kind of work I am glad to take on.

Get in touch

For technical users

Slipcase is free and MIT-licensed, written in Rust. The desktop application is at github.com/excelano/slipcase-desktop, with its security policy in SECURITY.md. The container format is specified at github.com/excelano/slipcase, and the same containers are yours to pack, unpack, and validate on the command line with the slpc tool from that project.

Support

For questions, bug reports, or feedback, email support@excelano.com. Replies typically arrive within one business day.

Issues and feature requests can also be filed directly in the GitHub repository at github.com/excelano/slipcase-desktop/issues.