The whole client fits in one page of verbs: mount, share, watch, rewind. Read it in ten minutes, then never think about storage again. The glossary at the bottom translates our world into yours.
One small binary, no kernel drama. macOS gets a signed installer or the Homebrew cask; Linux gets a static binary, .deb/.rpm packages, and a container image for pipelines. Stone is in invite-only preview, so the download links arrive with your invite — request access, or see the download page for platform details.
$ brew install --cask stone ==> stone 0.30 installed — a pleasure doing business $ docker pull ghcr.io/stonestorage/stone # for render nodes, CI, and other rooms without windows
stone login prints a short code and opens your browser. Approve it at stone.no/signin and the device stays trusted until you say otherwise. No passwords typed into terminals, no tokens pasted into shell history — the browser does the trusting, the client does the working.
$ stone login → Your code: WNTR-83KD → Approve at https://stone.no/signin?code=WNTR-83KD … approved. Welcome, mari@fjordframe.no $ stone logout ✓ device forgotten — it took the news well
One command and your filespace appears as a real drive — Finder on a Mac, a mount point on Linux. You see everything immediately: every folder, every file, sizes, dates, the lot. Bytes only travel when you open something, so mounting forty terabytes takes about a second and roughly no disk.
Multiple filespaces mount side by side with --space. Unmounting is just as unceremonious — the files stay in the filespace, exactly where they were.
$ stone mount ~/Stone ✓ fjordframe.stone.no mounted at ~/Stone 61.4 TB visible · 0 bytes downloaded · all of it yours $ stone mount ~/Stone-archive --space fjordframe-archive $ stone unmount ~/Stone ✓ unmounted — everything stays exactly where it was
Get told the instant a file or folder changes — anywhere in the world, on anyone's machine. Watch from the terminal to see a hand-off land, or hook a command to it and you have a pipeline: ingest on arrival, transcode on delivery, ping the channel on approval. No polling, no cron, no "is it there yet."
$ stone watch ~/Stone/Inbox --exec ./ingest.sh ✓ watching ~/Stone/Inbox → 14:02:11 created Inbox/S02E07_mix_v3.wav (jon@tonefabrikken.no, Oslo) → 14:02:11 exec ./ingest.sh — exit 0 → 14:07:48 modified Inbox/S02E07_mix_v3.wav (jon again — there is always a v4)
Every change is kept, stamped to the nanosecond. stone history lists what happened to a path — who, when, precisely. stone rewind restores a file, a folder, or your whole world to any instant you name. Nothing is destroyed by rewinding: forward is still there too. It's time travel with a handbrake, not a delete key.
$ stone history ~/Stone/EP04_Grade/reel_02.mov → 2026-07-18 16:41:07.184739226 modified anna@fjordframe.no → 2026-07-18 14:03:52.009114873 modified anna@fjordframe.no → 2026-07-17 11:20:30.551002748 created anna@fjordframe.no $ stone rewind ~/Stone/EP04_Grade --to "2026-07-18 14:00" ✓ EP04_Grade as it was at 14:00:00.000000000 — yesterday, faithfully
Four temperatures — hot, standard, archive, long-term — in one namespace. Files never move, never change their path, never vanish from the tree; only their economics change. Admins set the policies, anyone with permission can nudge a folder, and reading an archived file simply takes a moment longer. That's the entire user manual for tiering.
$ stone tier ~/Stone/2024_Deliveries --set archive ✓ 18.9 TB drifting to archive — same names, smaller invoice $ stone tier ~/Stone/2024_Deliveries → archive · set 2026-07-19 by mari policy: untouched 180 days → archive
Render nodes, CI runners and cloud machines mount the filespace exactly like a laptop does. The container image carries the client; hand it a token and a mount point, and your pipeline sees the same drive as your artists — same paths, same permissions, same instant. No staging step, no sync job, no copy of the copy.
$ docker run --rm -e STONE_TOKEN ghcr.io/stonestorage/stone \ stone mount /mnt/stone --space fjordframe ✓ fjordframe.stone.no mounted at /mnt/stone # your render farm now sees the same drive as your colorist
Configuration is a short file at ~/.stone/stone.conf. Most people never open it. The ones who do usually want three things: which space to mount, how much local cache to spend, and which folders to pin for offline work.
# ~/.stone/stone.conf — the whole file, honestly space = fjordframe mount = ~/Stone cache = 50G # keep these fully local — planes, cabins, trust issues pin = /Projects/Active pin = /Fonts
Everything the client can do, the open REST API can do — it's the same surface, minus the drive letter. Authenticate with a bearer token and speak plain resources over https://api.stone.no/v1/. List folders, mint shares, read history, set tiers, register watches. The full API reference ships with your preview invite.
$ curl -s https://api.stone.no/v1/spaces/fjordframe/list?path=/EP04_Grade \ -H "Authorization: Bearer $STONE_TOKEN" { "path": "/EP04_Grade", "entries": [ { "name": "reel_02.mov", "size": 48318382080, "tier": "hot" }, { "name": "stills", "kind": "folder", "items": 214 } ] }
Our world, translated into yours. Twenty-three words, no homework.
The client installs in a minute and the first mount is the whole demo.