Des connexions pour les personnes et les agents IA.Utilisateurs illimités et SSO d’entreprise illimité pour 299 $ US par mois, forfaitaire. Hobby est gratuit, sans carte.
J’ai conçu Signet pour le jour où un gros client vous demande le SSO. Vous ajoutez son fournisseur d’identité dans les paramètres, et votre facture ne bouge pas. Chaque utilisateur, session et clé d’API est une ligne dans une base de données qui vous appartient.
Vous utilisez déjà better-auth? Gardez votre client et changez une URL.
baseURL: "https://old-vendor.example.com", baseURL: "https://auth.acme.com",
Herman Geldenhuys, GeldenTech Inc., Montréal. La console de Signet se connecte elle-même par Signet.
Tapez le nom de votre appli. Le passeport en est tiré, donc deux passeports ne sont jamais pareils.
Personnes, services et agents. Trois types d’accès. Une seule façon d’annuler chacun.
Une personne reçoit une session. Mettez-y fin et elle est déconnectée.
Une personne se connecte avec une clé d’accès, un code par courriel ou, sur Team, l’authentification unique de son entreprise. Déchirez la session et sa ligne est supprimée pour de bon. Le journal d’audit garde qui l’a fait et quand.
Un service reçoit une clé d’API. Elle fonctionne jusqu’à ce que vous la révoquiez.
Votre service de facturation et votre relais de webhooks portent des clés d’API. Elles durent jusqu’à ce que vous leur donniez une date de fin ou que vous les révoquiez, et la révocation tient en un appel.
Un agent reçoit un jeton qui expire dans l’heure.
Un agent agit pour une seule personne, dans une portée que vous fixez, par MCP. Son jeton expire de lui-même, même si personne ne pense à l’annuler. Un renouvellement est un nouveau jeton, que vous pouvez annuler lui aussi.
- Rien d’annulé pour l’instant. Déchirez la carte d’embarquement, annulez le badge ou laissez expirer le visa.
Dans une vraie instance, les trois sont des lignes dans votre propre base de données.
Ce qui est livré aujourd’hui.
- Courriel + mot de passe
- Clés d’accès
- Liens magiques
- Codes par courriel
- Deux facteurs avec codes de secours
- Connexion par un compte tiers
- Organisations + invitations
- Clés d’API
- Codes d’appareil
- Authentification MCP pour les agents d’IA
- Jetons d’agent qui expirent dans l’heure
- Révocation des sessions + jetons
- Authentification unique SAML + OIDC
- Remplacement du certificat SSO en un appel
- SCIM avec Microsoft Entra
- Journal d’audit qui refuse les modifications
Tout cela fonctionne aujourd’hui. La page produit signale les quelques fonctionnalités que mes tests ne couvrent pas encore entièrement.
Ce que voient vos utilisateurs.
Chaque instance Signet sert sa propre page de connexion à /login, avec l’inscription et la réinitialisation du mot de passe à côté. Envoyez-y vos utilisateurs, ou gardez vos propres écrans et appelez la même API avec le client better-auth.
/login d’une vraie instance. La page s’affiche en anglais.Le certificat change. La connexion reste. Le fournisseur d’identité de votre client remplace son certificat de signature. Vous faites un seul appel.
Les fournisseurs d’identité remplacent leurs certificats de signature SAML toutes les quelques années. Dans le module SSO de better-auth, il n’existe aucune façon standard de le faire une fois que des personnes se sont connectées. Il faut supprimer la connexion et l’enregistrer de nouveau. Cela détache toutes les personnes qui s’y sont connectées. Si la vérification du domaine est active, la connexion reste bloquée jusqu’à ce que votre client publie un nouvel enregistrement DNS (ticket 11471, toujours ouvert au 10 oct. 2026).
Dans Signet, vous envoyez le nouveau certificat en un seul appel. L’adresse de retour reste la même. La connexion et ses membres restent, et rien ne change dans le DNS. La modification est inscrite au journal d’audit. Signet vérifie que le nouveau certificat est en cours de validité avant de l’accepter.
Signet remplace le certificat. Il ne fait jamais confiance à l’ancien et au nouveau en même temps. Les connexions par cette voie échouent donc entre le changement fait par votre client et votre appel. Faites l’appel tout de suite après son changement.
Ce que j’ai vérifié, et quand.
- Connexion SAML et remplacement du certificat, testés avec un environnement Microsoft Entra réel le 10 oct. 2026.
- Un aller-retour SAML avec Okta le 16 août 2026.
- Connexion OIDC avec authentification multifacteur, testée avec un environnement Microsoft Entra réel.
- Signet refuse par défaut le certificat expiré d’un fournisseur d’identité.
- L’authentification unique n’ajoute de nouveaux membres à une organisation qu’une fois que celle-ci a prouvé son domaine dans le DNS.
- Approvisionnement et retrait SCIM avec Microsoft Entra.
- Le journal d’audit refuse toute modification, et vous l’exportez en NDJSON par l’API d’administration.
Quittez better-auth sans rien perdre. Vos utilisateurs gardent leurs mots de passe et leurs sessions.
Gardez le client better-auth que vous livrez déjà et changez une URL. Les lignes d’utilisateurs, les empreintes de mots de passe et les sessions actives sont copiées : personne ne réinitialise son mot de passe. Si vous revenez en arrière, chaque session émise avant la bascule reste valide.
import { createAuthClient } from "better-auth/client" export const auth = createAuthClient({ baseURL: "https://old-vendor.example.com", baseURL: "https://auth.acme.com",})
C’est le client standard : bun add better-auth. Testé avec better-auth 1.6.23 le 22 juillet 2026.
Un seul prix fixe. Ajoutez des utilisateurs et des connexions SSO. Le prix ne bouge pas.
Chaque client d’entreprise apporte sa propre connexion SSO. Le quinzième vous coûte ce qu’a coûté le premier, c’est-à-dire rien de plus.
WorkOS affiche le SSO à 125 $ US par connexion et par mois pour les 15 premières connexions (workos.com/pricing, vérifié le 4 octobre 2026).
Prix en vigueur depuis le 2026-08-07. Team fonctionne sur une base PostgreSQL qui vous est réservée. Hobby est gratuit et garde vos données dans SQLite chiffré.
- Par utilisateur0 $
- Par connexion SSO0 $
- Dépassement0 $
- Régularisation0 $
- Forfait mensuel299 $
Ces lignes restent à 0 $ US parce que Signet ne compte pas du tout les utilisateurs actifs.
Exigez une entente de confidentialité avant la connexion. Gardez une trace exacte de ce que la personne a accepté.
Associez une entente de confidentialité, une licence ou un engagement sur les données personnelles à une application qui connecte les gens par Signet comme fournisseur OAuth. Signet montre le texte complet et ne laisse entrer la personne qu’une fois qu’elle l’a accepté.
13b0b8fa 60b8d396 81226ae7 ed1d4c60
Aussi conservés : l’application, l’adresse IP et le navigateur.
- Un refus n’enregistre rien, et la personne n’est pas connectée. Elle peut revenir quand elle veut.
- Publiez une nouvelle version et Signet redemande à la prochaine connexion ou au prochain renouvellement de jeton. Une date de renouvellement, si vous en fixez une, fait de même. La page explique pourquoi.
- Signet vérifie partout où il émet un jeton pour l’application : connexion dans le navigateur, échange de code, connexion par appareil, renouvellement et assertions signées. Pas seulement la page de connexion.
- Consultez toutes les attestations ou exportez-les en CSV. Une attestation reste même si vous supprimez le compte de la personne.
- L’acceptation reste séparée du consentement OAuth. Le consentement dit ce que l’application peut lire. L’entente est l’engagement de la personne elle-même. Retirer le consentement ne retire aucune acceptation.
C’est une preuve, pas un avis juridique : je ne peux pas vous dire si un clic suffit pour votre entente.
Quelque chose à déclarer? Oui. Quatre choses que je n’ai pas encore.
Votre responsable de la sécurité les trouverait de toute façon, alors les voici d’emblée.
Si l’une d’elles écarte Signet, mieux vaut le savoir maintenant que six semaines après le début d’un examen. Le dossier fournisseur rassemble le reste sur une page : entité juridique, sous-traitants et comment partir.
Chaque instance, la vôtre comprise, publie ses propres résultats de tests à /certification. La page sécurité suit ce qui manque encore.
Avez-vous quelque chose à déclarer?
Nous déclarons :
- Aucun rapport ni aucune certification de conformité, et aucun test d’intrusion par un tiers pour l’instant.
- Aucun engagement de disponibilité (SLA) hors d’un contrat signé.
- Vous ne pouvez pas encore faire de l’authentification unique la seule voie d’accès pour un domaine. Une personne qui a un mot de passe peut toujours se connecter avec.
- Le fournisseur OAuth ne revendique pas la pleine conformité OpenID Connect.
Partir tient en une commande. Sur PostgreSQL, un seul pg_dump exporte chaque utilisateur, session et secret.
En hébergé, vous le demandez et je vous remets le fichier. Sur vos propres serveurs, vous le faites vous-même. Hobby utilise SQLite chiffré, ce qui demande une étape de plus : le guide d’exportation (en anglais).
- Rien ne nous contacte, et les licences sont vérifiées hors ligne.
- Aucune connexion n’appelle jamais nos serveurs.
pg_dump --no-owner "$SIGNET_DATABASE_URL" > signet.sql
Essayez Hobby, c’est gratuit.
Inscrivez-vous et votre instance tourne en quelques minutes, sans appel. Vous voulez Signet sur vos propres serveurs? C’est une licence d’entreprise, et vous me parlerez directement.