Legal and privacy

Security at Mulno

How Mulno keeps a studio's builds and footage safe, from the tester's PC to the reviewer's browser, and what isn't finished yet.

The short version

Mulno records playtests on a tester's own PC and, for a remote playtest, uploads the recording straight to storage — your own bucket (Private mode), or ours (Mulno Cloud), never both, and never to a third bucket. Our servers themselves hold no footage for a Private project unless you explicitly lend us a read key (below); every remote playtest still passes a small amount of metadata — invite codes, session state, byte counts — through our broker so codes can be checked and uploads authorised.

Two storage modes, one promise for each

How a signing key is protected in the browser

A reviewer's browser never holds a long-lived bucket credential in the page that plays back video and reads community-typed text. Credentials are handled by a dedicated signer origin (keys.<domain>, a same-site sibling of the app), never the app's own realm: the app asks the signer for a signed read of one object at a time, over a narrow, fixed message protocol (sign/status/forget, plus putNotes/listNotes for a reviewer's own notes file). A compromised app page cannot pull the credential out through a cross-site request, and the signer only ever signs reads under the one project's own prefix it was built for, and writes and listings of one session's notes file (a write authorisation lasts 60 seconds).

What is encrypted, and how

Access control

Minimisation

We design every route to hold the least it needs. For a Private project with no lent key, our database holds ids, states, byte counts, capture-health numbers and the names people type for projects, branches, builds and campaigns (D104) — never footage, events, positions, notes, the Catalog, or a key that can read your sessions. See what we store for the full, per-mode inventory.

Incident response

If we learn of a breach affecting your data, we tell you within 48 hours (D137), with what we then know: the nature of the breach, roughly how many records and of what kind, what we're doing about it, and a contact for more — early enough for your own 72-hour clock to your regulator (GDPR Art. 33; PDPA s.37(4)).

Third parties

See the subprocessor list — Cloudflare (our infrastructure) is our subprocessor of your testers' data; Google keeps our mailbox, which we use only for our own correspondence (requests about a playtest session come through the product, not by e-mail); Paddle handles billing as the seller of record, with your billing contact only; and a speech-to-text provider is used only under a studio's own account and only when a reviewer asks. We give 30 days' notice before adding or replacing a subprocessor that touches personal data processed on your behalf.

Assurance

What isn't finished yet

Being direct about open work, rather than silent about it, matters more to us than a clean page:

Contact

Report a security concern, or ask a question this page doesn't answer, at security@mulno.com.

Last updated 2026-10-08: the beta waitlist (its open routes, and the page only the owner can open); new accounts only from it. Before that, 2026-10-04: Mulno Cloud holds testers' recordings as well as builds; the product refuses campaigns aimed at Europe or Worldwide.