With a standalone Francis runtime the actor data lives in the runtime's store, which Pocket ID cannot reach: the Francis protocol has no backup or restore operation, and a restore refuses to run while any host is connected, so a CLI that joined the cluster would block its own restore. Rather than refusing outright, both commands now cover everything Pocket ID does own and say plainly what they leave out, pointing at the runtime's own backup and restore commands for the rest. The export writes no francis.bin entry, which the import side already tolerates, and the import refuses an archive that carries one, since restoring only its Pocket ID half would leave the runtime holding another deployment's actor state. The import also skips the exclusive-access lease, which lives in the actor tables of a database this deployment does not use, and warns that the replicas have to be stopped by hand.
Pocket ID is an easy-to-use OpenID Connect Certified™ and OAuth 2.0 provider that lets users sign in to your applications with passkeys.
→ Try out the Demo
The goal of Pocket ID is to be a simple and easy-to-use. There are other self-hosted OIDC and OAuth 2.0 providers like Keycloak or ORY Hydra but they are often too complex for simple use cases.
Additionally, what makes Pocket ID special is that it only supports passkey authentication, which means you don’t need a password. Some people might not like this idea at first, but I believe passkeys are the future, and once you try them, you’ll love them. For example, you can now use a physical Yubikey to sign in to all your self-hosted services easily and securely.
Setup
Pocket ID can be set up in multiple ways. The easiest and recommended way is to use Docker.
Visit the documentation for the setup guide and more information.
Contribute
You're very welcome to contribute to Pocket ID! Please follow the contribution guide to get started.