From 9fbe673694fd3798e4fb5ce8550efc62d3e84295 Mon Sep 17 00:00:00 2001 From: Mikescops Date: Mon, 31 Jul 2023 16:31:01 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20Dashlane?= =?UTF-8?q?/dashlane-cli@e463b51b0f2ba2492b710a77caba91624330ec1b=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 2 +- _next/static/chunks/nextra-data-en-US.json | 2 +- .../_buildManifest.js | 0 .../_ssgManifest.js | 0 business.html | 4 ++-- business/audit-logs.html | 4 ++-- business/members.html | 4 ++-- business/reports.html | 4 ++-- index.html | 4 ++-- install.html | 4 ++-- logout.html | 4 ++-- personal.html | 4 ++-- personal/authentication.html | 4 ++-- personal/devices.html | 4 ++-- personal/vault.html | 4 ++-- troubleshooting.html | 4 ++-- 16 files changed, 26 insertions(+), 26 deletions(-) rename _next/static/{bkdUXkrxHNLR0Zl86bd3v => kUhWTVqe0ThBv5UwmDqFm}/_buildManifest.js (100%) rename _next/static/{bkdUXkrxHNLR0Zl86bd3v => kUhWTVqe0ThBv5UwmDqFm}/_ssgManifest.js (100%) diff --git a/404.html b/404.html index 68ee471a..655ea070 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -404: This page could not be found

404

This page could not be found.

\ 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; } -
Business
Get Started

Get started with Business Commands

+
Business
Get Started

Get started with Business Commands

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.
-
dcli t revoke-credentials <DASHLANE_TEAM_ACCESS_KEY>

Apache $2023 © Dashlane, Inc.
\ No newline at end of file +
dcli t revoke-credentials <DASHLANE_TEAM_ACCESS_KEY>

Apache $2023 © Dashlane, Inc.
\ No newline at end of file diff --git a/business/audit-logs.html b/business/audit-logs.html index 60c21f80..037840c9 100644 --- a/business/audit-logs.html +++ b/business/audit-logs.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
Business
Audit Logs

Audit logs

+

Make sure to replace /path/to/script.sh with the actual path to the script. The 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.


Apache $2023 © Dashlane, Inc.
\ No newline at end of file +

Configure your SIEM agent to watch the logs.json file changes.


Apache $2023 © Dashlane, Inc.
\ No newline at end of file diff --git a/business/members.html b/business/members.html index 330f7094..122bb77a 100644 --- a/business/members.html +++ b/business/members.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
Business
Members

Listing members

+
Business
Members

Listing members

💡
Needs team credentials to use this command.

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.

@@ -18,4 +18,4 @@

You can pipe the output to jq to filter the results:

dcli t members | jq '.members[] | select(.isTeamCaptain == true)'

Members interface

-
PropertyTypeDescription
membersArray of objectArray of team members
members.userIdnumber | undefinedThe user identifier of the user
members.loginstringUser login (usually email)
members.statusstringMember status
members.joinedDateUnixnumber | nullThe join date of member in Unix time
members.lastUpdateDateUnixnumber | nullLast updated date of member in Unix time
members.isBillingAdminbooleanTrue if user is a billing admin, false otherwise
members.isTeamCaptainbooleanTrue if user is a team captain, false otherwise
members.isGroupManagerbooleanTrue if user is a group manager, false otherwise
members.emailstring | undefinedThe user's account email
members.isAccountCreatedboolean | undefinedIf user account is created
members.invitedDateUnixnumberDate user was invited
members.tokenobjectThe user's invite token
members.token.userIdnumber | undefinedUser identifier associated with the token
members.token.teamIdnumber | undefinedTeam identifier associated with the token
members.token.tokenstring | undefinedValue of the invite token
members.token.isFreshboolean | undefinedTrue if token is not used, false otherwise
members.token.inviteUserIdnumber | undefinedThe user identifier of the inviter
members.revokedDateUnixnumber | nullWhen user's account was revoked in Unix time
members.languagestring | undefinedUser's preferred language
members.nbrPasswordsnumber | nullNumber of passwords stored by user
members.reusednumber | nullNumber of reused passwords
members.reusedDistinctnumber | nullNumber of distinct reused passwords
members.weakPasswordsnumber | nullNumber of weak passwords
members.compromisedPasswordsnumber | nullNumber of compromised passwords
members.averagePasswordStrengthnumber | nullAverage password strength score
members.passwordStrength0_19Countnumber | nullNumber of passwords between 0 to 19 characters
members.passwordStrength20_39Countnumber | nullNumber of passwords between 20 to 39 characters
members.passwordStrength40_59Countnumber | nullNumber of passwords between 40 to 59 characters
members.passwordStrength60_79Countnumber | nullNumber of passwords between 60 to 79 characters
members.passwordStrength80_100Countnumber | nullNumber of passwords between 80 to 100 characters
members.safePasswordsnumber | nullNumber of passwords considered safe
members.namestring | nullUser's name
members.securityIndexnumber | nullSecurity index
members.twoFAInformationobject2FA information for the user
members.twoFAInformation.type'sso' | 'email_token' | 'totp_device_registration' | 'totp_login' | undefined2FA type
members.twoFAInformation.phonestring | nullPhone number for 2FA
members.twoFAInformation.lastUpdateDateUnixnumber | nullLast updated date of 2FA in Unix time
members.hasPublicKeybooleanTrue if user has a public key
billingAdminsArray of stringArray of emails of billing admins
pagenumberCurrent page of results
pagesnumberTotal pages of results

Apache $2023 © Dashlane, Inc.
\ No newline at end of file +
PropertyTypeDescription
membersArray of objectArray of team members
members.userIdnumber | undefinedThe user identifier of the user
members.loginstringUser login (usually email)
members.statusstringMember status
members.joinedDateUnixnumber | nullThe join date of member in Unix time
members.lastUpdateDateUnixnumber | nullLast updated date of member in Unix time
members.isBillingAdminbooleanTrue if user is a billing admin, false otherwise
members.isTeamCaptainbooleanTrue if user is a team captain, false otherwise
members.isGroupManagerbooleanTrue if user is a group manager, false otherwise
members.emailstring | undefinedThe user's account email
members.isAccountCreatedboolean | undefinedIf user account is created
members.invitedDateUnixnumberDate user was invited
members.tokenobjectThe user's invite token
members.token.userIdnumber | undefinedUser identifier associated with the token
members.token.teamIdnumber | undefinedTeam identifier associated with the token
members.token.tokenstring | undefinedValue of the invite token
members.token.isFreshboolean | undefinedTrue if token is not used, false otherwise
members.token.inviteUserIdnumber | undefinedThe user identifier of the inviter
members.revokedDateUnixnumber | nullWhen user's account was revoked in Unix time
members.languagestring | undefinedUser's preferred language
members.nbrPasswordsnumber | nullNumber of passwords stored by user
members.reusednumber | nullNumber of reused passwords
members.reusedDistinctnumber | nullNumber of distinct reused passwords
members.weakPasswordsnumber | nullNumber of weak passwords
members.compromisedPasswordsnumber | nullNumber of compromised passwords
members.averagePasswordStrengthnumber | nullAverage password strength score
members.passwordStrength0_19Countnumber | nullNumber of passwords between 0 to 19 characters
members.passwordStrength20_39Countnumber | nullNumber of passwords between 20 to 39 characters
members.passwordStrength40_59Countnumber | nullNumber of passwords between 40 to 59 characters
members.passwordStrength60_79Countnumber | nullNumber of passwords between 60 to 79 characters
members.passwordStrength80_100Countnumber | nullNumber of passwords between 80 to 100 characters
members.safePasswordsnumber | nullNumber of passwords considered safe
members.namestring | nullUser's name
members.securityIndexnumber | nullSecurity index
members.twoFAInformationobject2FA information for the user
members.twoFAInformation.type'sso' | 'email_token' | 'totp_device_registration' | 'totp_login' | undefined2FA type
members.twoFAInformation.phonestring | nullPhone number for 2FA
members.twoFAInformation.lastUpdateDateUnixnumber | nullLast updated date of 2FA in Unix time
members.hasPublicKeybooleanTrue if user has a public key
billingAdminsArray of stringArray of emails of billing admins
pagenumberCurrent page of results
pagesnumberTotal pages of results

Apache $2023 © Dashlane, Inc.
\ No newline at end of file diff --git a/business/reports.html b/business/reports.html index 0f9f9c01..2820c6cc 100644 --- a/business/reports.html +++ b/business/reports.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
Business
Reports

Reports

+
Business
Reports

Reports

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

The following commands take in input the number of days to look back for the password health history. The default is 0 day.

@@ -81,4 +81,4 @@

plt.savefig(file_path) plt.close() - return file_path


Apache $2023 © Dashlane, Inc.
\ No newline at end of file + return file_path

Apache $2023 © Dashlane, Inc.
\ No newline at end of file diff --git a/index.html b/index.html index c8e71a3e..256f7b04 100644 --- a/index.html +++ b/index.html @@ -9,9 +9,9 @@ .dark { --nextra-primary-hue: 204deg; } -
Introduction

Documentation

+
Introduction

Documentation

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:

-

Apache $2023 © Dashlane, Inc.
\ No newline at end of file +

Apache $2023 © Dashlane, Inc.
\ No newline at end of file diff --git a/install.html b/install.html index 239a2efd..f91df8cc 100644 --- a/install.html +++ b/install.html @@ -9,11 +9,11 @@ .dark { --nextra-primary-hue: 204deg; } -
Install

Install

+
Install

Install

The Dashlane CLI can be installed in multiple ways. You can either install it using Homebrew (opens in a new tab) on macOS and Linux, manually with Yarn (opens in a new tab) or download the packaged executables for Windows, macOS and Linux on x64 architectures.

You can install the Dashlane CLI using Homebrew (opens in a new tab), a package manager for macOS and Linux.

To install Homebrew, run the following command in your terminal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Then you need to run the following command:

brew install dashlane/tap/dashlane-cli

The CLI is now installed on your machine, it will be updated automatically when a new version is released.

What's next?


Apache $2023 © Dashlane, Inc.
\ No newline at end of file +

Apache $2023 © Dashlane, Inc.
\ No newline at end of file diff --git a/logout.html b/logout.html index 911e8411..d56fef11 100644 --- a/logout.html +++ b/logout.html @@ -9,8 +9,8 @@ .dark { --nextra-primary-hue: 204deg; } -
Logout

Logout

+
Logout

Logout

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:

dcli logout
ℹ️

This does not perform an account reset, it only resets the local data on the device.

-

A 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.


Apache $2023 © Dashlane, Inc.
\ No newline at end of file +

A 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.


Apache $2023 © Dashlane, Inc.
\ No newline at end of file diff --git a/personal.html b/personal.html index d4601416..d1f1488e 100644 --- a/personal.html +++ b/personal.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
Personal
Get Started

Get started with Personal Commands

+

Apache $2023 © Dashlane, Inc.
\ No newline at end of file +

Apache $2023 © Dashlane, Inc.
\ No newline at end of file diff --git a/personal/authentication.html b/personal/authentication.html index a8939f4b..114b64d0 100644 --- a/personal/authentication.html +++ b/personal/authentication.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
Personal
Authentication

Authentication

+
Personal
Authentication

Authentication

To start with launch a first manual sync:

dcli sync

Authenticating to your personal vault requires your email. @@ -26,4 +26,4 @@

Options

By default your Master Password will be saved locally in the OS keychain so you don't have to enter it every time. You can disable this behavior with the following command:

-
dcli configure save-master-password false

Apache $2023 © Dashlane, Inc.
\ No newline at end of file +
dcli configure save-master-password false

Apache $2023 © Dashlane, Inc.
\ No newline at end of file diff --git a/personal/devices.html b/personal/devices.html index b7bbefce..443d581f 100644 --- a/personal/devices.html +++ b/personal/devices.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
Personal
Managing your Devices

Managing your devices

+

Remove all devices including current CLI device

dcli devices remove --all
-
ℹ️

If you remove the current CLI device, you will need to do a dcli logout in order to re-authenticate.


Apache $2023 © Dashlane, Inc.
\ No newline at end of file +
ℹ️

If you remove the current CLI device, you will need to do a dcli logout in order to re-authenticate.


Apache $2023 © Dashlane, Inc.
\ No newline at end of file diff --git a/personal/vault.html b/personal/vault.html index 218cf737..c2b54817 100644 --- a/personal/vault.html +++ b/personal/vault.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
Personal
Accessing your Vault

Accessing your Vault

+
Personal
Accessing your Vault

Accessing your Vault

ℹ️

For now accessing your vault is read only.

Get a password

dcli p mywebsite
@@ -44,4 +44,4 @@ 

Now, make sure your CLI is synchronized:

dcli sync

Once done, you can retrieve the private key from your vault and inject it in your SSH agent:

-
dcli n SSH_DEMO_KEY | ssh-add -


Apache $2023 © Dashlane, Inc.
\ No newline at end of file +
dcli n SSH_DEMO_KEY | ssh-add -

Apache $2023 © Dashlane, Inc.
\ No newline at end of file diff --git a/troubleshooting.html b/troubleshooting.html index a17cd646..1a2387cd 100644 --- a/troubleshooting.html +++ b/troubleshooting.html @@ -9,7 +9,7 @@ .dark { --nextra-primary-hue: 204deg; } -
Troubleshooting

Troubleshooting

+
Troubleshooting

Troubleshooting

Here are a few common issues and how to fix them.

Mismatching signatures

If you are using the CLI in multiple environments, and particularly in an IDE like WebStorm, they may use different @@ -23,4 +23,4 @@

In NodeJS the list of certificate authorities is hardcoded, read more here: nodejs/node#4175 (opens in a new tab). You can use an environment variable to add custom certs (see documentation (opens in a new tab)):

export NODE_EXTRA_CA_CERTS="/path/to/cert.pem"
-

See the issue #46 (opens in a new tab).


Apache $2023 © Dashlane, Inc.
\ No newline at end of file +

See the issue #46 (opens in a new tab).


Apache $2023 © Dashlane, Inc.
\ No newline at end of file