Hello. We’re evaluating Passbolt Pro for a 50-100 person userbase.
We’re running ‘on prem’ and using SSO via Keycloak (bouncing off an Active Directory and/or Linux Kerberos+LDAP).
We’re quite happy with the Keycloak mode of operation for intranet sites (although the blog post on configuring it is a little out of date).
What we’re finding painful though is the provisioning of new users - setting up passbolt access on Firefox + Chrome on Linux + Firefox.
Syncing users to AD or LDAP seems satisfactory, but ultimately we can just handle that via an API-script.
What’s painful is the need to ‘recovery’ the user’s private key and passphrase 4 times to ‘set them up’. Even with the saved ‘recovery kit’ - and the more useful ‘administrator can approve recovery’ in pro mode, it’s still not a smooth process to install the plugin, add the user’s credentials and get them ‘set up’ in a way that will be smooth on an ongoing basis.
So the feature I’d like to suggest is that ‘user recovery kits’ are effectively disabled, and managed via the central service, and there’s some sort of option to just trust the SSO to be telling the truth about who someone is, and set them up automatically.
We are quite happy that distributing ‘automatic’ recovery packages/scripts within our enterprise/over ssl is ‘sufficient’ security, and would instead be looking at scripting the whole process of ‘create account, extract recovery kit, set passphrase and then re-import for each browser instance and environment’.
e.g. maybe a pfx file that could be imported into the browser automatically along with the plugin installation? (And could be ‘fetched’ via SSO-authenticated download to a distribution service).
Otherwise we’re just not going to be able to use this - users ‘self managing’ encryption keys will for sure lead to a worse exposure and/or repeated forgotten passphrases and lost keys.
My ideal would be that the SSO integration ‘reads’ the username-claim token passed from the SSO provider, and creates an account if that exists, or downloads a ‘package’ for the plugin to use if that doesn’t exist, before forwarding the user to the ‘normal’ login.