JuoniSecurity
SECURITY

What we hold, who can see it, and what we don’t have yet.

This page says what is built: how you sign in, where a deck lives, what the agent is sent, how a share link is controlled and what happens when you leave. It ends with what is not built, because a security page that leaves that out is a marketing page.

01

Signing in.

There are no passwords. You sign in with a one-time code sent to your e-mail address, every time, and a new address becomes an account on the same page. The sign-in provider holds who you are and which workspaces you belong to. It does not hold your rank.

Owner, admin, member and guest are ours. They live in our own database, and what each one may do is a matrix an owner can edit in Settings. Rank is read on every request, so a demotion lands on the next click rather than when a cache expires. A handful of routes belong to the people who run Juoni rather than to any workspace; those fail closed, and nobody is staff unless named.

  1. 01
    OwnerEverything an admin can. The owner’s row is the one the matrix cannot edit, so a workspace cannot lock itself out.
    Not editable
  2. 02
    AdminMembers and roles, the brand kit and publishing it, and every deck in the workspace.
    Editable by an owner
  3. 03
    MemberView, comment, edit, present and share — on the decks they were given and the ones they make.
    Editable by an owner
  4. 04
    GuestView and comment on the decks shared with them, on the terms of each share.
    Invited by e-mail
02

Where your work lives.

A deck is a structured document in a hosted Postgres database, and every save is a version you can open and restore. The brand kit, projects, comments, share links and the audit log are rows beside it. Six services touch your data; here is each one and what it holds.

SERVICEWHAT IT HOLDS
Sign-inClerkYour e-mail address, your sessions, which workspaces you belong to
DatabaseNeon (Postgres)Decks and their versions, the brand kit, projects, comments, share links and their views, the audit log
Hosting and modelsVercelRuns the app; carries an agent turn or a generated picture to the model for that turn
VideoMuxClips you upload or generate, streamed back to a slide
PaymentsStripeYour card and invoices, on Stripe’s own checkout page; the card never reaches us
E-mailResendInvites, shares, mentions and the daily digest
TABLE 1

Who else touches your data, and what for. There is nothing off this list.

03

What the agent is sent.

Nothing leaves for a model until you ask for a turn, or the designer runs on a deck you started from an outline. A turn is sent the same stack every time, and the page on how the agent works draws it: your workspace’s brand kit, the project, this deck’s brief and instructions and any sources you attached, the slides as structure, what you have selected, and the words you typed. Not other decks. Not other workspaces.

Every run is recorded — the context it was given, what it proposed, what you applied — and the people who build Juoni can read that record to fix the agent. A generated picture lands in your workspace’s library and nowhere else.

FIG 1

What one turn carries, top to bottom. The layers only flow down; a slide cannot change the kit.

04

Sharing a deck.

A deck opens to one of three audiences: the people you invited, anyone signed in at your workspace, or anyone holding the link. A link carries its own terms — a passcode, an expiry, whether it can be downloaded, whether it can be duplicated — and turning it off ends it for everyone at once. The pictures in a shared deck are served only to the people it was shared with, not to anyone who guesses their address.

A share counts opens and where each reader stopped, under a key the browser made up rather than anything that names a person. What each invited person may do — view, comment, present — is set per person.

THREE AUDIENCESPASSCODE AND EXPIRYOFF FOR EVERYONE AT ONCEOPENS COUNTED, NOBODY NAMED
05

Leaving.

Deleting your account is a request with a thirty-day grace, and the same settings page cancels it until then. When the thirty days pass, you are deleted at the sign-in provider — which is what deletion means — and our rows for you are cleared. A deck you put away goes to the workspace’s archive first, where anyone with the rank can bring it back, and to the trash after.

06

What we do not have yet.

Single sign-on. There is no SAML or OIDC sign-in for a workspace; everyone signs in with a code to their e-mail address.

Certification. We hold no SOC 2, ISO 27001 or equivalent report. When that changes this page will say so, and until it does, this page is what you have to go on.

A choice of region. Your data lives where the services above run; you cannot pick a country for it.

If your work is regulated, read this section as the answer to the questionnaire, and ask us anything it leaves out through Send feedback in the app.

QUESTIONS

Short answers, one each.

Anything longer is a section above.

01

Do you train models on my decks?

No. A turn sends what that turn needs to the model and keeps the reply; we build nothing from it beyond the deck you asked for. The run itself is recorded so we can see why the agent did what it did.

02

Can I use a password instead of a code?

No. Sign-in is a one-time code to your e-mail every time. There is no password to set, forget or leak.

03

Who in my workspace can open a deck?

A member sees the decks they were given and the ones they made; an owner or admin sees the workspace’s. A share to “anyone at your workspace” opens a deck to every member.

04

Where is the audit log?

Under Settings, in the workspace’s Audit page: who did what, when, on the workspace’s things — publishing the kit, changing a role, making or ending a share.

05

Where does the data live?

In a hosted Postgres database and the services in the table above. You do not choose a region today.

06

How do I report a security problem?

The BETA tag under the mark in the app opens Send feedback; say it is a security report and it is read first.

Start with a sentence. Keep the deck.

Whatever the agent builds is yours to take apart — every slide, every box — in an editor that was there first.