¿Es un reemplazo directo de Keycloak?
No. Keycloak es un servidor de identidad general con SAML, federación LDAP, páginas de inicio de sesión personalizables y consola de administración. Nautilus hace un trabajo más estrecho: inicio de sesión y cuentas de usuario para los clientes de un producto SaaS, detrás de una API HTTP sin pantallas propias. Si necesitas SAML o inicio de sesión único para clientes empresariales, quédate con Keycloak. Si lo usas para el inicio de sesión con contraseña, Google y GitHub, la recuperación, el doble factor y los roles dentro de las organizaciones de tus clientes, esta es la parte que puedes dejar de alojar. Las organizaciones, los roles y los miembros se gestionan por la API, y el panel aún no tiene pantalla para los miembros. Los roles de un usuario vuelven en el token firmado, en la introspección del token y en la comprobación de sesión.
¿Tengo que seguir construyendo pantallas de inicio de sesión?
Sí, las pantallas. Nautilus devuelve cada paso como respuesta de API y tu código envía lo que escribió el usuario, así que los formularios se ven como el resto de tu producto. Lo que dejas de construir es todo lo que hay detrás: almacenamiento de contraseñas, correos de recuperación y verificación, sesiones, inicios de sesión con proveedores. Si quieres una página de inicio de sesión alojada y personalizable, Keycloak la tiene y esto no.
¿Cómo verifico un webhook?
Cada entrega lleva las cabeceras svix-id, svix-timestamp y svix-signature: una firma HMAC-SHA256 sobre el id, la marca de tiempo y el cuerpo en bruto. Compruébala con la biblioteca oficial de código abierto de Svix, que existe para Node, Python, Go, Rust, PHP, Java, Ruby, C# y Kotlin, en lugar de escribir la comprobación tú mismo. Las entregas fallidas se reintentan y se pueden reenviar desde el panel.
¿Cuánto cuesta?
Gratis hasta 1.000 usuarios activos al mes, sin tarjeta. Un usuario activo es quien inicia sesión al menos una vez en un mes natural, sin importar cuántas; las personas que creas por la API y nunca inician sesión no cuentan. Pro cuesta 99 € al mes por 10.000 usuarios activos y Advanced 199 € por 50.000. Los roles y las organizaciones vienen con todos los planes, Free incluido, y el registro de auditoría se conserva 7, 30 o 90 días según el plan; ninguno es un extra con precio propio. Al pasar el límite el inicio de sesión nunca se bloquea: te escribimos al 80 % y al 100 %, y tienes tiempo para pasar a un plan superior antes de que se rechacen los registros nuevos. La lista actual está en la página de precios.
¿Qué hay por debajo?
Ory Kratos, el servidor de identidad de código abierto, como un único despliegue compartido para todas las cuentas. El panel, las claves de API, los webhooks, las organizaciones y los roles, los tokens firmados y la comprobación que mantiene a los usuarios de una cuenta lejos de los de otra son nuestros, por encima. El precio de compartirlo: el esquema de usuario está fijado a un correo, un idioma y tu campo JSON, y no puedes cambiar la configuración propia de Kratos. El motor es abierto: si esto se te queda corto, el mismo software corre en tus propios servidores. La capa que construimos por encima no viene contigo. Para migrar a otro sitio, pide al soporte una exportación de todos tus usuarios con sus hashes de contraseña, enlaces sociales, metadatos, organizaciones y roles: recibes un archivo cifrado en un plazo de 7 días, en un formato que acepta nuestra propia importación y que se corresponde con Ory Kratos.
¿Dónde se almacenan los datos de identidad?
Las identidades, las sesiones y tus metadatos personalizados se almacenan en bases de datos de nuestros propios servidores en Francia, en OVHcloud. Los correos salientes, como los códigos de inicio de sesión y de recuperación, se entregan a través de Resend, un proveedor estadounidense, con las cláusulas contractuales tipo de la Comisión Europea.
¿Cómo funcionan los roles y la comprobación de permisos?
Creas una organización, defines roles en ella (un rol es un nombre y una lista de permisos como invoices:write) y añades un usuario a la organización con un rol. Para comprobar, llama a authorize con el usuario, el permiso y la organización: obtienes permitido o no, con un motivo y el rol. O lee los roles del token firmado y deja que decida tu política de base de datos. Los permisos se comparan de forma exacta, sin comodines. Un rol que alguien tiene no se puede eliminar hasta que esa persona se mueva a otro. Una pertenencia puede llevar un plazo y ser retirada por una regla cuando vence. Cada cambio de un rol o de una pertenencia queda en el registro de auditoría.
¿Qué no hace?
Sin SAML ni inicio de sesión único empresarial, sin página de inicio de sesión alojada, sin componentes ya hechos, sin passkeys, sin códigos SMS y sin Sign in with Apple. No es un proveedor OAuth ni OpenID para terceros: el token firmado está para verificarse, y Nautilus no tiene endpoint de autorización. Los correos que enviamos por ti salen de la dirección de Verne y están escritos en el idioma del usuario (seis idiomas, según su locale). Los SDK oficiales cubren Node, Python, PHP y Rust.
¿Cómo se compara con Auth0, Clerk, Ory Network o Logto?
Hay una página de cada uno, con sus precios tomados de sus propios sitios y la fecha en que los consultamos. En resumen: ellos van por delante en pantallas ya hechas, inicio de sesión único empresarial y número de métodos de inicio de sesión. Nosotros vamos por delante en reglas que eliminan cuentas sin uso, en roles y organizaciones sin precio aparte y, frente a Clerk, en dónde están los datos. Lee las páginas y decide. Las páginas están en inglés.