Lumineth
EN
Get in touch

Your website’s security: two-factor login, roles and encrypted backups

Lumineth Hub protects every site in layers: a one-time code (TOTP), signed Ed25519 tokens, one database per site, an automatic check before every update. Every night, everything is backed up and an encrypted copy is copied off the server. You edit your site, I look after its security.

Lumineth Hub · Under the hood

  • TOTP (RFC 6238)
  • Signed Ed25519 tokens
  • One database, one account, one PHP pool per site
  • Public-key gpg encryption
  • Journey probe (Node.js)
Lumineth Hub Users screen: several accounts with their role and status (active, invited, disabled)

Real screenshot of the Hub, demonstration data.

A protected site, and your mind free for your trade

Access

Each their own role

Editor, administrator, reviewer: each person sees and does what their role allows.

Login

Two-factor authentication

A 6-digit code on your phone, on top of the password. A trusted device stays signed in for 30 days.

Backup

A copy every night

Database and files backed up every night, kept 14 days on the server, plus an encrypted copy off the server.

Going live

Your site stays up

If an upload fails, the visible site does not change. The files it replaces are copied first.

How it works

A day’s protections, from login to backup

  1. You log in

    A password of at least 12 characters, plus a one-time code if you switch it on.

    TOTP RFC 6238 · QR code
  2. The portal opens for you

    One sign-in, then a signed token opens the admin of each of your sites.

    Signed Ed25519 tokens
  3. You make changes

    Every action is checked against your rights; sensitive actions go to the log.

    Role-based rights · audit log · CSRF
  4. Every night, the Hub backs up

    Database and files, then an encrypted copy is copied off the server.

    • Databasemysqldump
    • Site filesrsync snapshots
    • Off-server copygpg encryption
  5. I keep watch

    Disk, memory, services and errors checked every 15 minutes, with an e-mail alert.

    Status script · fail2ban · alerts

A Hub update only goes into production after a check run has passed on a test machine, for the same code. This test machine can never publish your site.

Technologies

Under the hood, piece by piece

Open, checkable standards, applied to every site. Each component, and what it does for you.

  • Login

    TOTP (RFC 6238)

    Adds a 6-digit code from your phone to the password.

  • Portal

    Signed Ed25519 tokens

    One sign-in opens your sites, with no need to retype the password.

  • Secrets

    libsodium

    Encrypts your services’ keys in the database, such as those for online payment.

  • Isolation

    One database, one account, one PHP pool per site

    An incident on one site does not reach the others.

  • Backup

    Public-key gpg encryption

    Copy encrypted by public key: the server itself cannot read it back.

  • Content

    Symfony HtmlSanitizer

    Cleans the text pasted into your pages to block malicious code.

  • Forms

    Cloudflare Turnstile

    Stops bots without puzzles for your visitors.

  • Transport

    HTTPS Let’s Encrypt, nginx HTTP/2

    Encrypts the exchanges between your site and your visitors.

  • Checks

    Journey probe (Node.js)

    Replays the key journeys on a test machine before every Hub update.

This module uses no AI: its security rests on checkable mechanisms. Lumineth Hub’s AI, Anthropic’s Claude models called through the Anthropic API, is used for the built-in help and SEO proposals. Phone numbers and e-mails are masked before any question is sent to the help, no personal data goes to the agents without your agreement, and every proposal is validated by a person.

Shared foundation · PHP 8.2 · Twig 3 · MySQL, one database per site · admin React 19 + TypeScript · nginx HTTP/2 · monitored servers · encrypted nightly backups, copied off the server

Your data under your control

Tests

Never on your site

Tests run on a separate machine, which cannot publish to production.

Rights

A removal always wins

A removed right always wins, and a disabled account has no rights left.

Password

Changed, devices signed out

A new password signs out trusted devices. An invitation link lasts 7 days.

Log

Who did what

Sensitive actions are logged; the sign-in history is kept for 90 days.

Images

Files cleaned

Every image is re-encoded: metadata and booby-trapped files discarded, SVG refused.

Agency

My own access protected too

Two-factor authentication is required for my access to the portal, and my logins stay visible in your log.

Frequently asked questions

Where are my website’s backups kept?

Every night, the database and files are backed up on the server, kept for 14 days. An encrypted copy is then copied off the server, and the server itself cannot read it back. A super-user can also create and download a backup from the admin.

Who watches over the servers?

I do. Disk, memory, services and errors are checked every 15 minutes, with an e-mail alert, and repeated login attempts are blocked automatically.

Is two-factor authentication required?

It is offered to every person in “My account”: a QR code to scan, then a 6-digit code. For my own access to the portal, it is required.

What happens if a release fails?

Your visible site stays as it was. The Hub shows “Retry”, and the files it replaces are copied before every upload.

How do I remove a former collaborator’s access?

An administrator clicks “Disable” in “Users”. The person can no longer log in, and the reason is noted.

Are my forms protected against spam?

Yes: Cloudflare Turnstile, an invisible honeypot field, a signed token and a per-IP-address limit filter out bots before the request reaches you.

Let’s talk about your site’s security

Tell me where your site is hosted today and who has access to it. I will get back to you within 24 working hours.