Core gratuit pour les fondations. Enterprise pour les déploiements avancés.
Auto-hébergé, gratuit. Conversion Apache 2.0 par release à 2 ans glissants.
Passkeys FIDO2 scoped par host. Le même utilisateur peut avoir des credentials distincts par application protégée. Détection de replay par counter WebAuthn. Tokens d'enrôlement à usage unique, CIDR-restreints, SHA-512.
Sessions côté Worker avec TTL configurable (8h normal, 1h remote, 2h déploiement). Révocation par session ou en masse par utilisateur, en Admin UI et en REST API. Counter WebAuthn validé Worker-side.
Modèle par défaut verrouillé : tout le trafic est authentifié sauf exception explicite. Bibliothèque centralisée de règles réutilisables attachées par host avec priorité et activation individuelle.
Codes à usage unique envoyés par email, validés Worker-side, raté-limités par email+host avec fingerprint navigateur (User-Agent et IP). Anti-phishing audit-logé. Opt-in par host via enable_email_login.
Les Workers s'auto-enregistrent à la première API call via le header X-Worker-ID — aucune configuration manuelle. Migration sans downtime : admin pose un pending_worker_id, le nouveau Worker prend la relève automatiquement.
Log côté Server pour authentification, cycle de vie passkeys, violations de sécurité (HMAC, IP, UA), migrations de Workers, événements WAF. Emission non-bloquante depuis les Workers. Interrogeable par type, sévérité, IP, plage de temps.
Double TTL : 300 s pour la tentative de refresh, 86 400 s pour l'éviction physique. Les Workers continuent de servir depuis leur cache pendant une panne du Server. Invalidation par host, utilisateur ou globale.
Cookie HMAC-signé avec WAF_BYPASS_SECRET, lié à l'IP et au User-Agent, fenêtre de revalidation 15 min. Réduit l'inspection WAF Cloudflare pour le trafic authentifié. Toute tentative de falsification est audit-logée.
Deux implémentations partageant le même contrat REST Server. Même niveau de sécurité, même fonctionnalités core, déploiements différents.
Interface complète Odoo Community Framework (LGPL-3, gratuit) : utilisateurs, hosts, passkeys, règles, workers, sessions, tokens, audit. Drag-drop priorité sur les règles. CLI bin/sunray-cli pour opérations non-UI.
9\u00a0€/mois pour 20 utilisateurs · +1\u00a0€/utilisateur au-delà · Facturation inactive en bêta.
Flux cross-device pour kiosques et postes partagés. Le desktop affiche un QR code avec un code à 6 chiffres. L'utilisateur scanne depuis son mobile, l'authentification WebAuthn s'exécute sur le mobile. Session distante courte durée (1h, max 2h) vs 8h normal.
Mode de lancement doux à durée limitée. Les utilisateurs s'authentifient par nom d'utilisateur uniquement, sans vérification de credential. Auto-désactivation à la golive_date. Machine d'état : unprotected → deployment → protected.
Hub de configuration externe synchronisé par le Server (cron quotidien ou manuel). Détection de changement par hash. Lockdown automatique si le SCP est injoignable depuis plus de 12h. Supporte plusieurs SCP via regex FQDN.
Wizard admin pour générer des tokens d'enrôlement pour plusieurs utilisateurs à la fois, avec envoi email via template personnalisable. Ignore automatiquement les utilisateurs avec un token valide existant.
Les Workers enregistrent automatiquement les hosts protégés à la première connexion. Le Server fournit des valeurs par défaut (session, auth, remote auth, deployment mode) appliqués à l'auto-enregistrement.
UI permettant aux utilisateurs de voir et révoquer leurs propres sessions sur tous leurs appareils. Séparé de la révocation admin. Configuration par host via session_mgmt_enabled.
Tableau de bord ChartJS intégré à l'interface Odoo Community Framework. Tuiles configurables (barres, courbes, camemberts, tableaux HTML). Dashboards seedés : Protected Hosts (badges status), Users (actifs/inactifs), Setup Tokens (consommation). Drill-down vers les enregistrements.
Events supplémentaires pour Remote Auth (session listée, terminée), auto-register (déclenché, réactivation), SCP (sync, lockdown), token email (succès, erreur, pas de template).
Pour éviter les malentendus