Skip to content

SecurityThe editor stays where it is licensed.

Most embeddable editors ship their code into your bundle and hope for the best. Mailblocks never leaves our servers, and the browser enforces where it may appear.

  1. A loader, not a library

    Your application includes a small loader script. The editor itself is never published as a package and is not part of your bundle.

  2. Frame ancestors

    When the frame loads we check the embedding site against your licence and tell the browser, through Content-Security-Policy, that only that origin may display it.

  3. One-time boot tickets

    An authorised frame receives an encrypted ticket that expires in minutes and opens exactly one editor session.

  4. Signed, watermarked code

    The editor script is served only to our own frames through signed, expiring URLs, and every copy carries the id of the licence it was served to.

  5. Short-lived sessions

    Uploads, AI generations and storage calls need a session token that ends when the licence is suspended or its keys are rotated.

  6. Signed user ids

    With signing on, only your server can open sessions for your users, because only it knows the secret key.

You see every refusal

Attempts from unauthorised domains, invalid signatures and blocked users appear in your dashboard with the origin and time, so a leaked key never goes unnoticed.

Security questions

Is the public key a secret?

No. It identifies your licence in the browser and only works on your authorised domains. The secret key is the one to keep on your server.

What if a key leaks?

Rotate both keys from the dashboard. Open editors close immediately and the old public key stops working.

Where are designs stored?

With you. The editor hands the HTML and design JSON to your page; Mailblocks does not keep copies of your users’ emails. A draft may be kept in the user’s own browser until they save.

Which data does Mailblocks process?

A hash of the user ids you pass, the embedding origin, and usage counts needed for billing. Images are stored only if you use the hosted library.

The editor stays where it is licensed.