Publish your design system's Storybook straight from the desktop app to a URL your whole team can open, designers, PMs, and stakeholders who never touch the repo. One click builds the current brand, uploads it, and hands back a link. Keep it private to your team, or flip it public and share it with anyone. Available on Pro and Enterprise.

One Click to Publish
Sign in to Spektral, open a project, and press Publish. Spektral builds Storybook for the active brand, uploads it, and opens the hosted URL. There is nothing to configure, the project is created on your team the first time you publish. Publishing builds your current working copy, including changes you haven't released yet, so a review link is never blocked on cutting a version.
Bundle files upload straight to object storage over short-lived presigned URLs rather than through the app, so a large Storybook doesn't queue behind a server. A publication only becomes the live bundle once its entry point is confirmed in storage, an interrupted or abandoned upload can never replace the Storybook your team is currently viewing.
Publish ↓ builds Storybook for the active brand ↓ uploads the bundle straight to storage ↓ storybook.spektral.design/your-team/your-project
Always the Right Brand
If you run multiple brands from one design system, publishing builds tokens for the brand you have active, not a default. What ships is exactly what you see, and every publication records which brand and platform produced it.
Brand-accurate
The active brand's tokens are compiled into the bundle, so colors, type, and spacing match what you designed.
Versioned
Each publish is a new version. A failed or half-finished upload never replaces the Storybook your team is viewing.
Instant link
Publishing opens the hosted URL and keeps it a click away. Share it in Slack, a doc, or a ticket.
Private by Default
A newly published Storybook is private. Viewers sign in to Spektral, and only members of the team that owns the project can open it. Access is checked on every visit, the moment someone leaves the team, the door closes.
Viewer opens the link ↓ Spektral checks team membership ↓ issues a short-lived, project-scoped pass ↓ the bundle is served, for this project only
The pass is scoped to a single project, so a link to one design system can never reach another team's work.
Public When You Want Feedback
Some reviews involve people who will never have a Spektral account, a client, a contractor, an accessibility auditor, someone in another department. Flip a project's Storybook to Public from the project page in the web dashboard and copy the share link. Anyone with it can open the Storybook in a browser: no account, no sign-in, no install. Flip it back and the link stops working.
One toggle, one link
The project page shows a Public or Private badge so the current state is never ambiguous, with Copy public link next to it when sharing is on.
Private means invisible
A private project doesn't return "forbidden" to a stranger, it returns a plain 404, indistinguishable from a project that doesn't exist. Turning sharing off leaks nothing about what's behind it.
Public sharing changes who may open the link, not how the bundle is served: a visitor is issued the same short-lived, project-scoped pass a signed-in member gets, so one shared design system can never reach another project's work.
For Everyone Who Reviews Work
Publishing is a desktop action, but viewing is not. Anyone on your team can open the hosted Storybook in a browser, no app to install, no repo to clone, no local build to babysit.

Portable
Hosted Storybook runs on Spektral's cloud out of the box. For teams that need everything inside their own perimeter, the same publishing and private-viewing model runs self-hosted against your own storage, no third-party services required.