\ No newline at end of file
+404: This page could not be found
404
This page could not be found.
\ No newline at end of file
diff --git a/_next/static/chunks/nextra-data-en-US.json b/_next/static/chunks/nextra-data-en-US.json
index 14799118..e8382cbd 100644
--- a/_next/static/chunks/nextra-data-en-US.json
+++ b/_next/static/chunks/nextra-data-en-US.json
@@ -1 +1 @@
-{"/business/audit-logs":{"title":"Audit logs","data":{"":"Needs team credentials to use this command.","fetching-the-logs#Fetching the logs":"You can query the audit logs using the logs command. For example:\ndcli t logs\nYou can also save the logs to a file:\ndcli t logs --start 0 --end now > logs.json\nThe logs are output in JSON format, each line is a new log entry.\n{\"uuid\": \"e2d9ce5b-[..redacted..]-b6de479b3483\", \"team_id\": 1315574321, \"category\": \"authentication\", \"log_type\": \"user_device_added\", \"date_time\": 1688629046919, \"properties\": {\"device_name\": \"Dashlane CLI\", \"author_login\": \"admin@something.io\", \"device_platform\": \"server_standalone\"}, \"author_user_id\": 28080685, \"schema_version\": \"1.0.0\"}\n{\"uuid\": \"d2f5db34-[..redacted..]-1dfcc3bdf911\", \"team_id\": 1315574321, \"category\": \"authentication\", \"log_type\": \"user_device_added\", \"date_time\": 1688628172021, \"properties\": {\"device_name\": \"Chrome - Mac OS\", \"author_login\": \"admin@something.io\", \"device_platform\": \"server_standalone\"}, \"author_user_id\": 28080685, \"schema_version\": \"1.0.0\"}\n{\"uuid\": \"4ca3bb56-[..redacted..]-66cbb387cb54\", \"team_id\": 1315574321, \"category\": \"authentication\", \"log_type\": \"user_device_added\", \"date_time\": 1683303544898, \"properties\": {\"device_name\": \"Firefox - Ubuntu\", \"author_login\": \"user@something.io\", \"device_platform\": \"server_standalone\"}, \"author_user_id\": 28086620, \"schema_version\": \"1.0.0\"}\n{\"uuid\": \"68e70f62-[..redacted..]-1bb9830f9f18\", \"team_id\": 1315574321, \"category\": \"team_settings_sso\", \"log_type\": \"sso_service_provider_url_set\", \"date_time\": 1671629557924, \"properties\": {\"author_login\": \"admin@something.io\", \"service_provider_url\": \"https://sso.nitro.dashlane.com\"}, \"author_user_id\": 28080685, \"schema_version\": \"1.0.0\"}","filtering-the-logs#Filtering the logs":"With the following options you can filter the logs by start and end date, log type and category.\n--start start timestamp in ms (default: \"0\")\n--end end timestamp in ms (default: \"now\")\n--type log type\n--category log category","logs-types-default#Logs types (default)":"Type\tEvent message\tmaster_password_reset_accepted\tAccepted an Account Recovery request from %(email)s\tmaster_password_reset_refused\tDenied an Account Recovery request from %(email)s\tuser_device_added\tAdded the device %(name)s\tuser_device_removed\tRemoved the device %(name)s\trequested_account_recovery\tRequested Account Recovery\tcompleted_account_recovery\tRecovered their account through Account Recovery\tdwm_email_added\tAdded %(email)s to Dark Web Monitoring\tdwm_email_removed\tRemoved %(email)s from Dark Web Monitoring\tuser_group_created\tCreated a group named %(groupName)s\tuser_group_renamed\tRenamed the %(oldGroupName)s group to %(newGroupName)s\tuser_group_deleted\tDeleted the %(groupName)s group\tuser_joined_user_group\tJoined the %(groupName)s group\tuser_invited_to_user_group\tInvited %(email)s to the %(groupName)s group\tuser_declined_invite_to_user_group\tDeclined to join the %(groupName)s group\tuser_removed_from_user_group\tRemoved %(email)s from the %(groupName)s group\tteam_name_changed\tChanged your company name to “%(name)s”\tnew_billing_period_created\tExtended your account until %(date)s\tseats_added\tAdded %(count)s seats to your account\tdomain_requested\tAdded %(domain)s as an unverified domain\tdomain_validated\tVerified the domain %(domain)s\tcollect_sensitive_data_audit_logs_enabled\t(user) turned on unencrypted vault logs\tcollect_sensitive_data_audit_logs_disabled\t(user) turned off unencrypted vault logs\tsso_idp_metadata_set\tUpdated SSO identity provider metadata\tsso_service_provider_url_set\tConfigured SSO service provider URL\tsso_enabled\tEnabled SSO\tsso_disabled\tDisabled SSO\tcontact_email_changed\tChanged contact email to %(email)s\tmaster_password_mobile_reset_enabled\tTurned on biometric recovery for %(deviceName)s\ttwo_factor_authentication_login_method_added\tActivated a 2FA method\ttwo_factor_authentication_login_method_removed\tRemoved a 2FA method\tuser_invited\tInvited %(email)s to your account\tuser_removed\tRevoked %(email)s from your account\tteam_captain_added\tChanged %(email)s to admin rights\tteam_captain_removed\tChanged %(email)s to member rights\tgroup_manager_added\tChanged %(email)s to group manager rights\tgroup_manager_removed\tChanged %(email)s to member rights\tuser_reinvited\tResent an invite to %(email)s\tbilling_admin_added\tMade %(name)s the billing contact\tbilling_admin_removed\tRevoked %(name)s as the billing contact","logs-types-sensitive#Logs types (sensitive)":"You can turn on logging sensitive actions in the Policies section of Settings in the Admin Console. Read more about it in our dedicated Help Center article.\nType\tEvent message\tcollect_sensitive_data_audit_logs_enabled\t(user) turned on additional activity logs (unencrypted)\tcollect_sensitive_data_audit_logs_disabled\t(user) turned off additional activity logs (unencrypted)\tuser_shared_credential_with_group\t(user) shared %(rights [limited/full]) rights to the %(domain)s\tuser_shared_credential_with_email\t(user) shared %(rights [limited/full]) rights to the %(domain)s\tuser_shared_credential_with_external\t(user) shared %(rights [limited/full]) rights to the %(domain)s\tuser_accepted_sharing_invite_credential\t(user) accepted a sharing invitation for the %(domain)s\tuser_rejected_sharing_invite_credential\t(user) rejected a sharing invitation for the %(domain)s\tuser_revoked_shared_credential_group\t(user) revoked access to the %(domain)s login\tuser_revoked_shared_credential_external\t(user) revoked access to the %(domain)s login\tuser_revoked_shared_credential_email\t(user) revoked access to the %(domain)s login\tuser_created_credential\t(user) created a login for %(domain)s\tuser_modified_credential\t(user) modified the login for %(domain)s\tuser_deleted_credential\t(user) deleted the login for %(domain)s","logs-categories#Logs categories":"Category\tauthentication\tdark_web_monitoring\tgroups\tsharing\tteam_account\tteam_settings\tteam_settings_sso\tusers\tuser_settings\tvault_passwords","use-cases#Use cases":"","sending-audit-logs-to-a-siem-or-log-management-solution#Sending audit logs to a SIEM or log management solution":"If you want to send the logs to a SIEM for instance, you can pull the logs periodically and only get the new logs by using the --start option.Here is an example of a cron job that pulls the latest logs of the day and append them to a file:\n#!/bin/bash\n\n# Create the cron job\n# crontab -e\n# 0 0 * * * /path/to/script.sh\n\n# Get the latest pull date\nif [ -f \"last_pull_date\" ]; then\nlast_pull_date=$(cat last_pull_date)\nelse\nlast_pull_date=0\nfi\n\n# Save the latest pull date\ndate +%s000 > last_pull_date\n\n# Pull the logs\ndcli t logs --start $last_pull_date >> logs.json\nMake sure to replace /path/to/script.sh with the actual path to the script.\nThe other paths in the script are only examples and may not reflect the permissions of your system, you can change them to your needs.Configure your SIEM agent to watch the logs.json file changes."}},"/business":{"title":"Get started with Business Commands","data":{"":"Commands related to business use a different authentication than your personal vault.Commands are calling a server API to perform actions and retrieve data. The first step is to login with the personal account (follow this guide) of a team admin and to generate a set of credentials.","generate-credentials#Generate credentials":"Needs to be authenticated as an admin to use this command.\n\ndcli t generate-credentials\nYou will be prompted with a list of variables to export in your environment.\nexport DASHLANE_TEAM_UUID=08a48d4f-[..redacted..]-fba9193d968c\nexport DASHLANE_TEAM_ACCESS_KEY=f56[..redacted..]56ce\nexport DASHLANE_TEAM_SECRET_KEY=839c9[..redacted..]3ada5\nMake sure you save them in a safe place (use a secure note for instance 😉).","revoke-credentials#Revoke credentials":"Needs to be authenticated as an admin to use this command.\n\ndcli t revoke-credentials "}},"/business/members":{"title":"Listing members","data":{"":"Needs team credentials to use this command.","fetching-the-list-of-members#Fetching the list of members":"Listing team members allows you to access many information about them, such as their email, their role, their 2FA status, their security score, etc.\ndcli t members","filtering-the-list-of-members#Filtering the list of members":"You can pipe the output to jq to filter the results:\ndcli t members | jq '.members[] | select(.isTeamCaptain == true)'","members-interface#Members interface":"Property\tType\tDescription\tmembers\tArray of object\tArray of team members\tmembers.userId\tnumber | undefined\tThe user identifier of the user\tmembers.login\tstring\tUser login (usually email)\tmembers.status\tstring\tMember status\tmembers.joinedDateUnix\tnumber | null\tThe join date of member in Unix time\tmembers.lastUpdateDateUnix\tnumber | null\tLast updated date of member in Unix time\tmembers.isBillingAdmin\tboolean\tTrue if user is a billing admin, false otherwise\tmembers.isTeamCaptain\tboolean\tTrue if user is a team captain, false otherwise\tmembers.isGroupManager\tboolean\tTrue if user is a group manager, false otherwise\tmembers.email\tstring | undefined\tThe user's account email\tmembers.isAccountCreated\tboolean | undefined\tIf user account is created\tmembers.invitedDateUnix\tnumber\tDate user was invited\tmembers.token\tobject\tThe user's invite token\tmembers.token.userId\tnumber | undefined\tUser identifier associated with the token\tmembers.token.teamId\tnumber | undefined\tTeam identifier associated with the token\tmembers.token.token\tstring | undefined\tValue of the invite token\tmembers.token.isFresh\tboolean | undefined\tTrue if token is not used, false otherwise\tmembers.token.inviteUserId\tnumber | undefined\tThe user identifier of the inviter\tmembers.revokedDateUnix\tnumber | null\tWhen user's account was revoked in Unix time\tmembers.language\tstring | undefined\tUser's preferred language\tmembers.nbrPasswords\tnumber | null\tNumber of passwords stored by user\tmembers.reused\tnumber | null\tNumber of reused passwords\tmembers.reusedDistinct\tnumber | null\tNumber of distinct reused passwords\tmembers.weakPasswords\tnumber | null\tNumber of weak passwords\tmembers.compromisedPasswords\tnumber | null\tNumber of compromised passwords\tmembers.averagePasswordStrength\tnumber | null\tAverage password strength score\tmembers.passwordStrength0_19Count\tnumber | null\tNumber of passwords between 0 to 19 characters\tmembers.passwordStrength20_39Count\tnumber | null\tNumber of passwords between 20 to 39 characters\tmembers.passwordStrength40_59Count\tnumber | null\tNumber of passwords between 40 to 59 characters\tmembers.passwordStrength60_79Count\tnumber | null\tNumber of passwords between 60 to 79 characters\tmembers.passwordStrength80_100Count\tnumber | null\tNumber of passwords between 80 to 100 characters\tmembers.safePasswords\tnumber | null\tNumber of passwords considered safe\tmembers.name\tstring | null\tUser's name\tmembers.securityIndex\tnumber | null\tSecurity index\tmembers.twoFAInformation\tobject\t2FA information for the user\tmembers.twoFAInformation.type\t'sso' | 'email_token' | 'totp_device_registration' | 'totp_login' | undefined\t2FA type\tmembers.twoFAInformation.phone\tstring | null\tPhone number for 2FA\tmembers.twoFAInformation.lastUpdateDateUnix\tnumber | null\tLast updated date of 2FA in Unix time\tmembers.hasPublicKey\tboolean\tTrue if user has a public key\tbillingAdmins\tArray of string\tArray of emails of billing admins\tpage\tnumber\tCurrent page of results\tpages\tnumber\tTotal pages of results"}},"/business/reports":{"title":"Reports","data":{"":"You can get reports on your team about the number of seats provisioned, used and pending. You can also get reports on the aggregated password health history of your team.","fetch-reports#Fetch reports":"The following commands take in input the number of days to look back for the password health history. The default is 0 day.\ndcli t report 30","generate-graphics-from-reports#Generate graphics from reports":"One way to consume password health history reports is to generate graphics from them.\n\nThe following Python script example will generate a graphic from the report.\nimport matplotlib.pyplot as plt\nimport numpy as np\n\n\ndef format_month(month: str):\nmatch month:\ncase \"01\":\nreturn \"Jan\"\ncase \"02\":\nreturn \"Feb\"\ncase \"03\":\nreturn \"Mar\"\ncase \"04\":\nreturn \"Apr\"\ncase \"05\":\nreturn \"May\"\ncase \"06\":\nreturn \"Jun\"\ncase \"07\":\nreturn \"Jui\"\ncase \"08\":\nreturn \"Aug\"\ncase \"09\":\nreturn \"Sep\"\ncase \"10\":\nreturn \"Oct\"\ncase \"11\":\nreturn \"Nov\"\ncase \"12\":\nreturn \"Dec\"\n\n\ndef format_x_label(label: str):\nyear, month = label.split(\"-\")\nreturn f\"{format_month(month)} {year}\"\n\n\ndef generate_graph(file_path: str, data):\ndates = []\nvalues = []\nfor value in data:\ndates.append(np.datetime64(value[\"date\"]))\nvalues.append(value[\"securityIndex\"])\n\n# create two subplots with the shared x and y axes\nfig, (ax) = plt.subplots(figsize=(10, 5))\n\nax.plot(dates, values, lw=2, color=\"#4e828f\")\nax.grid(True)\n\nax.set_ylabel(\"Security score\")\nlabels = ax.get_xticklabels()\nfor label in labels:\nlabel._text = format_x_label(label._text)\nax.set_xticklabels(labels)\n\nax.set_ylim(min(values) - 10, 100)\n\nfig.suptitle(\"Evolution of the team security score\")\nfig.autofmt_xdate()\n\nplt.savefig(file_path)\nplt.close()\nreturn file_path"}},"/":{"title":"Documentation","data":{"":"Dashlane CLI is a command line interface for Dashlane. It allows you to interact with your Dashlane account, and to manage your passwords and personal data.Dashlane CLI also allows you to access team admin related features such as accessing your team's member list, Dark Web Insights reports and activity logs.This documentation is separated into two parts:"}},"/install":{"title":"Install","data":{"":"The Dashlane CLI can be installed in multiple ways. You can either install it using Homebrew on macOS and Linux, manually with Yarn or download the packaged executables for Windows, macOS and Linux on x64 architectures.\n\nYou can install the Dashlane CLI using Homebrew, a package manager for macOS and Linux.To install Homebrew, run the following command in your terminal:\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\nThen you need to run the following command:\nbrew install dashlane/tap/dashlane-cli\nThe CLI is now installed on your machine, it will be updated automatically when a new version is released.\n\nThis method is available on every environment that supports Node.js and Yarn.First you need to download or git clone this repository and run the following commands in the root directory of the repository.Install the dependencies:\nyarn\nIn order to build:\nyarn run build\nIn order to link:\nyarn link\nMake sure to pull the latest changes and rebuild the project to get the latest version of the CLI.\n\nHead to the releases page and download the latest version of the CLI for your platform (Windows, macOS or Linux).You may need to mark the binary as executable (on macOS and Linux):\nchmod +x dcli-macos-x64\nYou can now try to run the CLI from the current directory in a terminal (Shell, PowerShell, etc.):\n./dcli-macos-x64\nMove the executable binary to the bin folder of your choice, for instance:\n# On macOS:\nmv dcli-macos-x64 /usr/local/bin/dcli\n\n# On Linux:\nmv dcli-linux-x64 /usr/local/bin/dcli\n\n# On Windows:\nmove dcli-win-x64.exe C:\\Windows\\System32\\dcli.exe\nOn macOS, you may also need to allow the binary to run in your security settings.\nTo do so, go to System Preferences > Security & Privacy > General and click on \"Allow Anyway\" next to the message \"dcli-macos was blocked from use because it is not from an identified developer\".You will need to get the latest version of the CLI manually by downloading the latest release and replacing the binary in your bin folder.","whats-next#What's next?":"Authenticate to your personal account\nGetting Started with Business Commands"}},"/personal/authentication":{"title":"Authentication","data":{"":"To start with launch a first manual sync:\ndcli sync\nAuthenticating to your personal vault requires your email.\nYou will be then asked to validate a second factor to register the CLI to your account.\nSSO authentication is not supported yet.","supported-2fa-methods#Supported 2FA methods":"Email code validation (default)\nTOTP code validation (via an authenticator app)\nDashlane Authenticator push notification\nDUO push notification\n\nBy completing the device registration process, you'll be now asked to enter your Master Password.","options#Options":"By default your Master Password will be saved locally in the OS keychain so you don't have to enter it every time.\nYou can disable this behavior with the following command:\ndcli configure save-master-password false"}},"/logout":{"title":"Logout","data":{"":"If you want to start fresh with the CLI or use another account, you can logout and reset the local data by running the following command:\ndcli logout\n\nThis does not perform an account reset, it only resets the local data on the device.\nA confirmation will be asked, then the local database containing your encrypted data will be wiped and any entry related to the CLI will be removed from the OS keychain."}},"/personal/devices":{"title":"Managing your devices","data":{"":"","list-your-devices#List your devices":"dcli devices list\nYou'll get a list of all your devices, with their ID, name, and platform.\nf6110572 Chrome - Linux server_standalone other\ne96c8942 Firefox - Ubuntu server_standalone other\n9d7fc86f Chrome - Mac OS server_standalone other\n61e815b5 Dashlane CLI server_standalone current\nYou can also request the result in JSON format:\ndcli devices list --json","remove-devices-from-your-account#Remove devices from your account":"Devices that are removed from your account will need to re-authenticate to Dashlane again.\nThis is useful if you want to remove a device that you no longer use, or you don't have access to anymore.","remove-specific-devices#Remove specific devices":"dcli devices remove ","remove-all-devices-except-the-current-one#Remove all devices except the current one":"dcli devices remove --other","remove-all-devices-including-current-cli-device#Remove all devices including current CLI device":"dcli devices remove --all\n\nIf you remove the current CLI device, you will need to do a dcli logout in order to re-authenticate."}},"/personal":{"title":"Get started with Personal Commands","data":{"":"Accessing your personal vault allows you to view your passwords, secure notes and OTP codes."}},"/personal/vault":{"title":"Accessing your Vault","data":{"":"For now accessing your vault is read only.","get-a-password#Get a password":"dcli p mywebsite\n# will return any entry for which either the url or the title matches mywebsite\n\ndcli p id=xxxxxx\n# will return any entry for which the id matches xxxxxx\n\ndcli p url=someurl title=mytitle\n# will return any entry for which the url matches someurl, or the title matches mytitle\n\ndcli p url,title=mywebsite\n# will return any entry for which either the url or the title matches mywebsite\nNote: You can select a different output for passwords among clipboard, password, json. The JSON option outputs all the matching credentials.","generate-an-otp-code#Generate an OTP code":"dcli otp [filters]","get-a-secure-note#Get a secure note":"dcli note [titleFilter]","options#Options":"By default an automatic synchronization is performed once per hour.\nYou can change this behavior with the following command:\ndcli configure disable-auto-sync true","use-cases#Use cases":"","use-ssh-keys-from-your-vault#Use SSH Keys from your vault":"This use case shows you how to use Dashlane to store your SSH keys and use them to connect to your servers.\nThis could be useful if you want to share SSH keys with your team.Let's say you have generated a new SSH key pair and you want to store it in Dashlane.\n# this is an example, use the parameters you want\nssh-keygen -t rsa -b 4096 -C \"Dashlane SSH demo key\"\nCopy the private key to your clipboard and store it in a new secure note (named SSH_DEMO_KEY in our example) in Dashlane via the extension.\nIt is important to include the headers of the key (-----BEGIN PRIVATE KEY----- and -----END PRIVATE KEY-----) in the secure note.Now, make sure your CLI is synchronized:\ndcli sync\nOnce done, you can retrieve the private key from your vault and inject it in your SSH agent:\ndcli n SSH_DEMO_KEY | ssh-add -"}},"/troubleshooting":{"title":"Troubleshooting","data":{"":"Here are a few common issues and how to fix them.","mismatching-signatures#Mismatching signatures":"If you are using the CLI in multiple environments, and particularly in an IDE like WebStorm, they may use different\nOS keychain environments so the local keys may not match: the reason why signatures are invalid.To detect this problem you can, on Linux, install secret-tool: sudo apt install libsecret-tools, execute\nsecret-tool search service dashlane-cli on every environment and check if the secrets match.If they don't, you can fix the error by manually editing what is stored in the OS keychain using this command:\nsecret-tool store --label \"dashlane-cli@\" service dashlane-cli account in the\nfailing environment with the secret from the healthy environment.","requesterror-unable-to-verify-the-first-certificate#RequestError: unable to verify the first certificate":"In NodeJS the list of certificate authorities is hardcoded, read more here: nodejs/node#4175.\nYou can use an environment variable to add custom certs (see documentation):\n\n\nexport NODE_EXTRA_CA_CERTS=\"/path/to/cert.pem\"\n\n\n\n$Env:NODE_EXTRA_CA_CERTS=\"C:\\certs\\root.crt\"\n\n\n\nset NODE_EXTRA_CA_CERTS=\"C:\\certs\\root.crt\"\n\n\nSee the issue #46."}}}
\ No newline at end of file
+{"/business/audit-logs":{"title":"Audit logs","data":{"":"Needs team credentials to use this command.","fetching-the-logs#Fetching the logs":"You can query the audit logs using the logs command. For example:\ndcli t logs\nYou can also save the logs to a file:\ndcli t logs --start 0 --end now > logs.json\nThe logs are output in JSON format, each line is a new log entry.\n{\"uuid\": \"e2d9ce5b-[..redacted..]-b6de479b3483\", \"team_id\": 1315574321, \"category\": \"authentication\", \"log_type\": \"user_device_added\", \"date_time\": 1688629046919, \"properties\": {\"device_name\": \"Dashlane CLI\", \"author_login\": \"admin@something.io\", \"device_platform\": \"server_standalone\"}, \"author_user_id\": 28080685, \"schema_version\": \"1.0.0\"}\n{\"uuid\": \"d2f5db34-[..redacted..]-1dfcc3bdf911\", \"team_id\": 1315574321, \"category\": \"authentication\", \"log_type\": \"user_device_added\", \"date_time\": 1688628172021, \"properties\": {\"device_name\": \"Chrome - Mac OS\", \"author_login\": \"admin@something.io\", \"device_platform\": \"server_standalone\"}, \"author_user_id\": 28080685, \"schema_version\": \"1.0.0\"}\n{\"uuid\": \"4ca3bb56-[..redacted..]-66cbb387cb54\", \"team_id\": 1315574321, \"category\": \"authentication\", \"log_type\": \"user_device_added\", \"date_time\": 1683303544898, \"properties\": {\"device_name\": \"Firefox - Ubuntu\", \"author_login\": \"user@something.io\", \"device_platform\": \"server_standalone\"}, \"author_user_id\": 28086620, \"schema_version\": \"1.0.0\"}\n{\"uuid\": \"68e70f62-[..redacted..]-1bb9830f9f18\", \"team_id\": 1315574321, \"category\": \"team_settings_sso\", \"log_type\": \"sso_service_provider_url_set\", \"date_time\": 1671629557924, \"properties\": {\"author_login\": \"admin@something.io\", \"service_provider_url\": \"https://sso.nitro.dashlane.com\"}, \"author_user_id\": 28080685, \"schema_version\": \"1.0.0\"}","filtering-the-logs#Filtering the logs":"With the following options you can filter the logs by start and end date, log type and category.\n--start start timestamp in ms (default: \"0\")\n--end end timestamp in ms (default: \"now\")\n--type log type\n--category log category","logs-types-default#Logs types (default)":"Type\tEvent message\tmaster_password_reset_accepted\tAccepted an Account Recovery request from %(email)s\tmaster_password_reset_refused\tDenied an Account Recovery request from %(email)s\tuser_device_added\tAdded the device %(name)s\tuser_device_removed\tRemoved the device %(name)s\trequested_account_recovery\tRequested Account Recovery\tcompleted_account_recovery\tRecovered their account through Account Recovery\tdwm_email_added\tAdded %(email)s to Dark Web Monitoring\tdwm_email_removed\tRemoved %(email)s from Dark Web Monitoring\tuser_group_created\tCreated a group named %(groupName)s\tuser_group_renamed\tRenamed the %(oldGroupName)s group to %(newGroupName)s\tuser_group_deleted\tDeleted the %(groupName)s group\tuser_joined_user_group\tJoined the %(groupName)s group\tuser_invited_to_user_group\tInvited %(email)s to the %(groupName)s group\tuser_declined_invite_to_user_group\tDeclined to join the %(groupName)s group\tuser_removed_from_user_group\tRemoved %(email)s from the %(groupName)s group\tteam_name_changed\tChanged your company name to “%(name)s”\tnew_billing_period_created\tExtended your account until %(date)s\tseats_added\tAdded %(count)s seats to your account\tdomain_requested\tAdded %(domain)s as an unverified domain\tdomain_validated\tVerified the domain %(domain)s\tcollect_sensitive_data_audit_logs_enabled\t(user) turned on unencrypted vault logs\tcollect_sensitive_data_audit_logs_disabled\t(user) turned off unencrypted vault logs\tsso_idp_metadata_set\tUpdated SSO identity provider metadata\tsso_service_provider_url_set\tConfigured SSO service provider URL\tsso_enabled\tEnabled SSO\tsso_disabled\tDisabled SSO\tcontact_email_changed\tChanged contact email to %(email)s\tmaster_password_mobile_reset_enabled\tTurned on biometric recovery for %(deviceName)s\ttwo_factor_authentication_login_method_added\tActivated a 2FA method\ttwo_factor_authentication_login_method_removed\tRemoved a 2FA method\tuser_invited\tInvited %(email)s to your account\tuser_removed\tRevoked %(email)s from your account\tteam_captain_added\tChanged %(email)s to admin rights\tteam_captain_removed\tChanged %(email)s to member rights\tgroup_manager_added\tChanged %(email)s to group manager rights\tgroup_manager_removed\tChanged %(email)s to member rights\tuser_reinvited\tResent an invite to %(email)s\tbilling_admin_added\tMade %(name)s the billing contact\tbilling_admin_removed\tRevoked %(name)s as the billing contact","logs-types-sensitive#Logs types (sensitive)":"You can turn on logging sensitive actions in the Policies section of Settings in the Admin Console. Read more about it in our dedicated Help Center article.\nType\tEvent message\tcollect_sensitive_data_audit_logs_enabled\t(user) turned on additional activity logs (unencrypted)\tcollect_sensitive_data_audit_logs_disabled\t(user) turned off additional activity logs (unencrypted)\tuser_shared_credential_with_group\t(user) shared %(rights [limited/full]) rights to the %(domain)s\tuser_shared_credential_with_email\t(user) shared %(rights [limited/full]) rights to the %(domain)s\tuser_shared_credential_with_external\t(user) shared %(rights [limited/full]) rights to the %(domain)s\tuser_accepted_sharing_invite_credential\t(user) accepted a sharing invitation for the %(domain)s\tuser_rejected_sharing_invite_credential\t(user) rejected a sharing invitation for the %(domain)s\tuser_revoked_shared_credential_group\t(user) revoked access to the %(domain)s login\tuser_revoked_shared_credential_external\t(user) revoked access to the %(domain)s login\tuser_revoked_shared_credential_email\t(user) revoked access to the %(domain)s login\tuser_created_credential\t(user) created a login for %(domain)s\tuser_modified_credential\t(user) modified the login for %(domain)s\tuser_deleted_credential\t(user) deleted the login for %(domain)s","logs-categories#Logs categories":"Category\tauthentication\tdark_web_monitoring\tgroups\tsharing\tteam_account\tteam_settings\tteam_settings_sso\tusers\tuser_settings\tvault_passwords","use-cases#Use cases":"","sending-audit-logs-to-a-siem-or-log-management-solution#Sending audit logs to a SIEM or log management solution":"If you want to send the logs to a SIEM for instance, you can pull the logs periodically and only get the new logs by using the --start option.Here is an example of a cron job that pulls the latest logs of the day and append them to a file:\n#!/bin/bash\n\n# Create the cron job\n# crontab -e\n# 0 0 * * * /path/to/script.sh\n\n# Get the latest pull date\nif [ -f \"last_pull_date\" ]; then\nlast_pull_date=$(cat last_pull_date)\nelse\nlast_pull_date=0\nfi\n\n# Save the latest pull date\ndate +%s000 > last_pull_date\n\n# Pull the logs\ndcli t logs --start $last_pull_date >> logs.json\nMake sure to replace /path/to/script.sh with the actual path to the script.\nThe other paths in the script are only examples and may not reflect the permissions of your system, you can change them to your needs.Configure your SIEM agent to watch the logs.json file changes."}},"/business":{"title":"Get started with Business Commands","data":{"":"Commands related to business use a different authentication than your personal vault.Commands are calling a server API to perform actions and retrieve data. The first step is to login with the personal account (follow this guide) of a team admin and to generate a set of credentials.","generate-credentials#Generate credentials":"Needs to be authenticated as an admin to use this command.\n\ndcli t generate-credentials\nYou will be prompted with a list of variables to export in your environment.\nexport DASHLANE_TEAM_UUID=08a48d4f-[..redacted..]-fba9193d968c\nexport DASHLANE_TEAM_ACCESS_KEY=f56[..redacted..]56ce\nexport DASHLANE_TEAM_SECRET_KEY=839c9[..redacted..]3ada5\nMake sure you save them in a safe place (use a secure note for instance 😉).","revoke-credentials#Revoke credentials":"Needs to be authenticated as an admin to use this command.\n\ndcli t revoke-credentials "}},"/business/members":{"title":"Listing members","data":{"":"Needs team credentials to use this command.","fetching-the-list-of-members#Fetching the list of members":"Listing team members allows you to access many information about them, such as their email, their role, their 2FA status, their security score, etc.\ndcli t members","filtering-the-list-of-members#Filtering the list of members":"You can pipe the output to jq to filter the results:\ndcli t members | jq '.members[] | select(.isTeamCaptain == true)'","members-interface#Members interface":"Property\tType\tDescription\tmembers\tArray of object\tArray of team members\tmembers.userId\tnumber | undefined\tThe user identifier of the user\tmembers.login\tstring\tUser login (usually email)\tmembers.status\tstring\tMember status\tmembers.joinedDateUnix\tnumber | null\tThe join date of member in Unix time\tmembers.lastUpdateDateUnix\tnumber | null\tLast updated date of member in Unix time\tmembers.isBillingAdmin\tboolean\tTrue if user is a billing admin, false otherwise\tmembers.isTeamCaptain\tboolean\tTrue if user is a team captain, false otherwise\tmembers.isGroupManager\tboolean\tTrue if user is a group manager, false otherwise\tmembers.email\tstring | undefined\tThe user's account email\tmembers.isAccountCreated\tboolean | undefined\tIf user account is created\tmembers.invitedDateUnix\tnumber\tDate user was invited\tmembers.token\tobject\tThe user's invite token\tmembers.token.userId\tnumber | undefined\tUser identifier associated with the token\tmembers.token.teamId\tnumber | undefined\tTeam identifier associated with the token\tmembers.token.token\tstring | undefined\tValue of the invite token\tmembers.token.isFresh\tboolean | undefined\tTrue if token is not used, false otherwise\tmembers.token.inviteUserId\tnumber | undefined\tThe user identifier of the inviter\tmembers.revokedDateUnix\tnumber | null\tWhen user's account was revoked in Unix time\tmembers.language\tstring | undefined\tUser's preferred language\tmembers.nbrPasswords\tnumber | null\tNumber of passwords stored by user\tmembers.reused\tnumber | null\tNumber of reused passwords\tmembers.reusedDistinct\tnumber | null\tNumber of distinct reused passwords\tmembers.weakPasswords\tnumber | null\tNumber of weak passwords\tmembers.compromisedPasswords\tnumber | null\tNumber of compromised passwords\tmembers.averagePasswordStrength\tnumber | null\tAverage password strength score\tmembers.passwordStrength0_19Count\tnumber | null\tNumber of passwords between 0 to 19 characters\tmembers.passwordStrength20_39Count\tnumber | null\tNumber of passwords between 20 to 39 characters\tmembers.passwordStrength40_59Count\tnumber | null\tNumber of passwords between 40 to 59 characters\tmembers.passwordStrength60_79Count\tnumber | null\tNumber of passwords between 60 to 79 characters\tmembers.passwordStrength80_100Count\tnumber | null\tNumber of passwords between 80 to 100 characters\tmembers.safePasswords\tnumber | null\tNumber of passwords considered safe\tmembers.name\tstring | null\tUser's name\tmembers.securityIndex\tnumber | null\tSecurity index\tmembers.twoFAInformation\tobject\t2FA information for the user\tmembers.twoFAInformation.type\t'sso' | 'email_token' | 'totp_device_registration' | 'totp_login' | undefined\t2FA type\tmembers.twoFAInformation.phone\tstring | null\tPhone number for 2FA\tmembers.twoFAInformation.lastUpdateDateUnix\tnumber | null\tLast updated date of 2FA in Unix time\tmembers.hasPublicKey\tboolean\tTrue if user has a public key\tbillingAdmins\tArray of string\tArray of emails of billing admins\tpage\tnumber\tCurrent page of results\tpages\tnumber\tTotal pages of results"}},"/business/reports":{"title":"Reports","data":{"":"You can get reports on your team about the number of seats provisioned, used and pending. You can also get reports on the aggregated password health history of your team.","fetch-reports#Fetch reports":"The following commands take in input the number of days to look back for the password health history. The default is 0 day.\ndcli t report 30","generate-graphics-from-reports#Generate graphics from reports":"One way to consume password health history reports is to generate graphics from them.\n\nThe following Python script example will generate a graphic from the report.\nimport matplotlib.pyplot as plt\nimport numpy as np\n\n\ndef format_month(month: str):\nmatch month:\ncase \"01\":\nreturn \"Jan\"\ncase \"02\":\nreturn \"Feb\"\ncase \"03\":\nreturn \"Mar\"\ncase \"04\":\nreturn \"Apr\"\ncase \"05\":\nreturn \"May\"\ncase \"06\":\nreturn \"Jun\"\ncase \"07\":\nreturn \"Jui\"\ncase \"08\":\nreturn \"Aug\"\ncase \"09\":\nreturn \"Sep\"\ncase \"10\":\nreturn \"Oct\"\ncase \"11\":\nreturn \"Nov\"\ncase \"12\":\nreturn \"Dec\"\n\n\ndef format_x_label(label: str):\nyear, month = label.split(\"-\")\nreturn f\"{format_month(month)} {year}\"\n\n\ndef generate_graph(file_path: str, data):\ndates = []\nvalues = []\nfor value in data:\ndates.append(np.datetime64(value[\"date\"]))\nvalues.append(value[\"securityIndex\"])\n\n# create two subplots with the shared x and y axes\nfig, (ax) = plt.subplots(figsize=(10, 5))\n\nax.plot(dates, values, lw=2, color=\"#4e828f\")\nax.grid(True)\n\nax.set_ylabel(\"Security score\")\nlabels = ax.get_xticklabels()\nfor label in labels:\nlabel._text = format_x_label(label._text)\nax.set_xticklabels(labels)\n\nax.set_ylim(min(values) - 10, 100)\n\nfig.suptitle(\"Evolution of the team security score\")\nfig.autofmt_xdate()\n\nplt.savefig(file_path)\nplt.close()\nreturn file_path"}},"/":{"title":"Documentation","data":{"":"Dashlane CLI is a command line interface for Dashlane. It allows you to interact with your Dashlane account, and to manage your passwords and personal data.Dashlane CLI also allows you to access team admin related features such as accessing your team's member list, Dark Web Insights reports and activity logs.This documentation is separated into two parts:"}},"/install":{"title":"Install","data":{"":"The Dashlane CLI can be installed in multiple ways. You can either install it using Homebrew on macOS and Linux, manually with Yarn or download the packaged executables for Windows, macOS and Linux on x64 architectures.\n\nYou can install the Dashlane CLI using Homebrew, a package manager for macOS and Linux.To install Homebrew, run the following command in your terminal:\n/bin/bash -c \"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)\"\nThen you need to run the following command:\nbrew install dashlane/tap/dashlane-cli\nThe CLI is now installed on your machine, it will be updated automatically when a new version is released.\n\nThis method is available on every environment that supports Node.js and Yarn.First you need to download or git clone this repository and run the following commands in the root directory of the repository.Install the dependencies:\nyarn\nIn order to build:\nyarn run build\nIn order to link:\nyarn link\nMake sure to pull the latest changes and rebuild the project to get the latest version of the CLI.\n\nHead to the releases page and download the latest version of the CLI for your platform (Windows, macOS or Linux).You may need to mark the binary as executable (on macOS and Linux):\nchmod +x dcli-macos-x64\nYou can now try to run the CLI from the current directory in a terminal (Shell, PowerShell, etc.):\n./dcli-macos-x64\nMove the executable binary to the bin folder of your choice, for instance:\n# On macOS:\nmv dcli-macos-x64 /usr/local/bin/dcli\n\n# On Linux:\nmv dcli-linux-x64 /usr/local/bin/dcli\n\n# On Windows:\nmove dcli-win-x64.exe C:\\Windows\\System32\\dcli.exe\nOn macOS, you may also need to allow the binary to run in your security settings.\nTo do so, go to System Preferences > Security & Privacy > General and click on \"Allow Anyway\" next to the message \"dcli-macos was blocked from use because it is not from an identified developer\".You will need to get the latest version of the CLI manually by downloading the latest release and replacing the binary in your bin folder.","whats-next#What's next?":"Authenticate to your personal account\nGetting Started with Business Commands"}},"/logout":{"title":"Logout","data":{"":"If you want to start fresh with the CLI or use another account, you can logout and reset the local data by running the following command:\ndcli logout\n\nThis does not perform an account reset, it only resets the local data on the device.\nA confirmation will be asked, then the local database containing your encrypted data will be wiped and any entry related to the CLI will be removed from the OS keychain."}},"/personal/authentication":{"title":"Authentication","data":{"":"To start with launch a first manual sync:\ndcli sync\nAuthenticating to your personal vault requires your email.\nYou will be then asked to validate a second factor to register the CLI to your account.\nSSO authentication is not supported yet.","supported-2fa-methods#Supported 2FA methods":"Email code validation (default)\nTOTP code validation (via an authenticator app)\nDashlane Authenticator push notification\nDUO push notification\n\nBy completing the device registration process, you'll be now asked to enter your Master Password.","options#Options":"By default your Master Password will be saved locally in the OS keychain so you don't have to enter it every time.\nYou can disable this behavior with the following command:\ndcli configure save-master-password false"}},"/personal/devices":{"title":"Managing your devices","data":{"":"","list-your-devices#List your devices":"dcli devices list\nYou'll get a list of all your devices, with their ID, name, and platform.\nf6110572 Chrome - Linux server_standalone other\ne96c8942 Firefox - Ubuntu server_standalone other\n9d7fc86f Chrome - Mac OS server_standalone other\n61e815b5 Dashlane CLI server_standalone current\nYou can also request the result in JSON format:\ndcli devices list --json","remove-devices-from-your-account#Remove devices from your account":"Devices that are removed from your account will need to re-authenticate to Dashlane again.\nThis is useful if you want to remove a device that you no longer use, or you don't have access to anymore.","remove-specific-devices#Remove specific devices":"dcli devices remove ","remove-all-devices-except-the-current-one#Remove all devices except the current one":"dcli devices remove --other","remove-all-devices-including-current-cli-device#Remove all devices including current CLI device":"dcli devices remove --all\n\nIf you remove the current CLI device, you will need to do a dcli logout in order to re-authenticate."}},"/personal":{"title":"Get started with Personal Commands","data":{"":"Accessing your personal vault allows you to view your passwords, secure notes and OTP codes."}},"/personal/vault":{"title":"Accessing your Vault","data":{"":"For now accessing your vault is read only.","get-a-password#Get a password":"dcli p mywebsite\n# will return any entry for which either the url or the title matches mywebsite\n\ndcli p id=xxxxxx\n# will return any entry for which the id matches xxxxxx\n\ndcli p url=someurl title=mytitle\n# will return any entry for which the url matches someurl, or the title matches mytitle\n\ndcli p url,title=mywebsite\n# will return any entry for which either the url or the title matches mywebsite\nNote: You can select a different output for passwords among clipboard, password, json. The JSON option outputs all the matching credentials.","generate-an-otp-code#Generate an OTP code":"dcli otp [filters]","get-a-secure-note#Get a secure note":"dcli note [titleFilter]","options#Options":"By default an automatic synchronization is performed once per hour.\nYou can change this behavior with the following command:\ndcli configure disable-auto-sync true","use-cases#Use cases":"","use-ssh-keys-from-your-vault#Use SSH Keys from your vault":"This use case shows you how to use Dashlane to store your SSH keys and use them to connect to your servers.\nThis could be useful if you want to share SSH keys with your team.Let's say you have generated a new SSH key pair and you want to store it in Dashlane.\n# this is an example, use the parameters you want\nssh-keygen -t rsa -b 4096 -C \"Dashlane SSH demo key\"\nCopy the private key to your clipboard and store it in a new secure note (named SSH_DEMO_KEY in our example) in Dashlane via the extension.\nIt is important to include the headers of the key (-----BEGIN PRIVATE KEY----- and -----END PRIVATE KEY-----) in the secure note.Now, make sure your CLI is synchronized:\ndcli sync\nOnce done, you can retrieve the private key from your vault and inject it in your SSH agent:\ndcli n SSH_DEMO_KEY | ssh-add -"}},"/troubleshooting":{"title":"Troubleshooting","data":{"":"Here are a few common issues and how to fix them.","mismatching-signatures#Mismatching signatures":"If you are using the CLI in multiple environments, and particularly in an IDE like WebStorm, they may use different\nOS keychain environments so the local keys may not match: the reason why signatures are invalid.To detect this problem you can, on Linux, install secret-tool: sudo apt install libsecret-tools, execute\nsecret-tool search service dashlane-cli on every environment and check if the secrets match.If they don't, you can fix the error by manually editing what is stored in the OS keychain using this command:\nsecret-tool store --label \"dashlane-cli@\" service dashlane-cli account in the\nfailing environment with the secret from the healthy environment.","requesterror-unable-to-verify-the-first-certificate#RequestError: unable to verify the first certificate":"In NodeJS the list of certificate authorities is hardcoded, read more here: nodejs/node#4175.\nYou can use an environment variable to add custom certs (see documentation):\n\n\nexport NODE_EXTRA_CA_CERTS=\"/path/to/cert.pem\"\n\n\n\n$Env:NODE_EXTRA_CA_CERTS=\"C:\\certs\\root.crt\"\n\n\n\nset NODE_EXTRA_CA_CERTS=\"C:\\certs\\root.crt\"\n\n\nSee the issue #46."}}}
\ No newline at end of file
diff --git a/_next/static/bkdUXkrxHNLR0Zl86bd3v/_buildManifest.js b/_next/static/kUhWTVqe0ThBv5UwmDqFm/_buildManifest.js
similarity index 100%
rename from _next/static/bkdUXkrxHNLR0Zl86bd3v/_buildManifest.js
rename to _next/static/kUhWTVqe0ThBv5UwmDqFm/_buildManifest.js
diff --git a/_next/static/bkdUXkrxHNLR0Zl86bd3v/_ssgManifest.js b/_next/static/kUhWTVqe0ThBv5UwmDqFm/_ssgManifest.js
similarity index 100%
rename from _next/static/bkdUXkrxHNLR0Zl86bd3v/_ssgManifest.js
rename to _next/static/kUhWTVqe0ThBv5UwmDqFm/_ssgManifest.js
diff --git a/business.html b/business.html
index d60938d1..7a3fb9b7 100644
--- a/business.html
+++ b/business.html
@@ -9,7 +9,7 @@
.dark {
--nextra-primary-hue: 204deg;
}
-
Commands related to business use a different authentication than your personal vault.
Commands are calling a server API to perform actions and retrieve data. The first step is to login with the personal account (follow this guide) of a team admin and to generate a set of credentials.
Generate credentials
@@ -22,4 +22,4 @@
Make sure you save them in a safe place (use a secure note for instance 😉).
Revoke credentials
💡
Needs to be authenticated as an admin to use this command.