diff options
Diffstat (limited to 'profiles/disablePasswordManager.nix')
-rw-r--r-- | profiles/disablePasswordManager.nix | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/profiles/disablePasswordManager.nix b/profiles/disablePasswordManager.nix new file mode 100644 index 0000000..cf71db6 --- /dev/null +++ b/profiles/disablePasswordManager.nix @@ -0,0 +1,37 @@ +{ config, lib, ... }: with lib; { + options.features.disablePasswordManager = mkOption { + type = types.bool; + default = false; + description = '' + Prevent the user from storing any passwords in the browser. + This can be justified if the physical security of the device is uncertain, or + if the provider wants to avoid the responsiblity of storing such sensitive data. + + However, the users alternatives must be considered: what will a user do without the + password manager? + + Possible "alternatives" (from user perspective) include: + - Choose much weaker passwords + - Store the passwords in an unencrypted form (e.g. on the desktop) + ''; + }; + + config = mkMerge [ + (mkIf config.features.disablePasswordManager { + policies = { + # TODO: how exactly are passwords stored? + OfferToSaveLogins = false; + PasswordManagerEnabled = false; + }; + }) + + (mkIf (!config.features.disablePasswordManager) { + preferences = { + # Ask for password every 15 minutes + security.ask_for_password = 2; + security.password_lifetime = 15; # minutes + signon.masterPasswordReprompt.timeout_ms = 15 * 60 * 1000; + }; + }) + ]; +} |