← Back to blog

A week of quiet fixes — storage, auth, console

Stefan Gimeson··2 min read

Nothing headline-grabbing this week — just a batch of storage, auth, and console fixes that should make the day-to-day noticeably nicer. Definately worth a quick read if you have files in your project or are on a paid plan.

Storage — the big one

Files uploaded via the console are now deletable and downloadable. A bug was silently breaking every file uploaded through the browser — the file appeared in the list but Delete and Download returned Not found. All existing files have been recovered; nothing was lost. If you tried and gave up, please try again.

Filenames with special characters work. Umlauts (ä, ö), spaces, commas, emoji — all fine now for upload, preview, download, delete. Previously anything with a non-ASCII character or a space would 404.

"Copy Link" replaces "Copy URL". One click now gives you a shareable link that works when pasted into a browser tab or an . It expires after 1 hour by default. If you need a longer expiry, use the Generate Signed URL section below the button.

Auth

SMS one-time codes are now paid-plan only (Pro and above). Each SMS has a real per-message cost from our EU-sovereign SMS provider, so we're gating this channel to paid tiers. Every other auth method — email/password, magic link, social login — stays available on Free.

SMS OTP security hardening — codes now bind to the phone number and cap wrong-guess attempts per code. This closes a leftover security item from our audit; details are on the GitHub issue.

Local dev with a shifting port? Add http://localhost:* to your project's CORS origins (Auth → Settings). It matches any port on localhost — useful for tools like ship.studio that bind a fresh random port on every restart. The wildcard is loopback-only by design; a remote page can never carry a loopback origin.

Console

Project create page now shows all four tiers in a clean 2×2 grid (Free / Pro / Team / Legal Team) when you have access to the paid tiers.

Less audit-log noise — the periodic 402 entries that used to appear on Free and Pro projects are gone. They were harmless internal poll requests but looked like real errors and were reported as such by a couple of you. Thanks for the noise report.

What's next

A bunch of small things are queued up: better docs for the CLI, a proper "share this file" flow on storage (not just copy-link), and the first Team-tier customer conversations are seperate track we're moving on. If you want anything specific bumped up the list, reply to this post's announcement email — I read every one.

Bug reports and feature ideas as always via the public issue tracker.

— Stefan