Robust authentication
Signed JWTs plus opaque refresh tokens, stored hashed and rotated on every use, in an HttpOnly cookie. Passwords hashed with Argon2id (OWASP parameters).
Security & privacy
Your data never leaves your server. Security is built into every layer of the platform — from password hashing to the module sandbox.
Signed JWTs plus opaque refresh tokens, stored hashed and rotated on every use, in an HttpOnly cookie. Passwords hashed with Argon2id (OWASP parameters).
TOTP (RFC 6238) with the secret encrypted at rest, single-use backup codes hashed with Argon2id, and 2FA enforceable for all administrators.
Critical actions — API tokens, account security — require proving presence again through a dedicated token that grants no API access of its own.
AES-256-GCM for secrets at rest: TOTP, SMTP passwords, LDAP binds, remote-mount credentials. A full set of security headers (HSTS, CSP, X-Frame-Options…).
On Linux, the seccomp crate blocks <code>execve</code> in modules that do not need it: even a compromised dependency cannot run a command on the host.
Each app keeps its tables in its own PostgreSQL schema: clean boundaries, independent migrations and targeted backups.
Every administrative action is recorded — who, what, when, from where — in an allowlist-based journal: no secret can ever surface there, even by accident.
Per-device revocation, configurable idle expiry, a password policy per organisational unit, and a security dashboard.
Public routes never distinguish “unknown email” from “wrong password” — a dummy hash is even verified to equalise response times.
Each module receives an HMAC-derived secret, verified in constant time: a compromised module cannot impersonate another.
Interface fonts are served by your own instance, not a CDN: the HTML no longer contains any reference to <code>fonts.googleapis.com</code> or <code>fonts.gstatic.com</code>, not even a preconnect hint. Open your browser's Network tab — nothing goes to Google, and an instance cut off from the Internet renders identically.
Per-IP rate limiting, per-user budgets, a concurrency cap with load-shedding and slow-request cut-off — built into the server, tunable live.
kubuno-seccomp crate blocks the execve call inside modules.This site sets no tracking cookies — only local storage remembers your choice. Learn more