We know it’s really important that you can easily get your data out of Kinde when you need to. It’s equally important that your data - especially password data - is safe and cannot be easily accessed.
Important note: For security reasons, only team members who are Owners can export data.
You can download most of your Kinde data in a few steps, but if the export includes user passwords, this triggers an owner approval process to ensure that only authorized people can access them. See the fairly long but secure process outlined below.
Big disclaimer of course: Once you have downloaded your data, you are entirely responsible for protecting it.
There are a number of checks and validations done to enable password export. Unfortunately there is no way to avoid this being long and somewhat notification-heavy, as the aim is to prevent unauthorized access to passwords and other data.
Here’s how it works:
An owner initiates a data export (including passwords) in Kinde. See above.
All Kinde owners are notified by email of the export request (including any additional owners). They then have 24 hours to review it and ensure that it is a legitimate request. Note that this email is still sent if there is only one owner.
If the request seems suspect, any owner can reject it immediately:
Select Review in the email to open the request in Kinde.
Select Reject in the far column of the data export table. This ends the export process.
If the request is fine to approve, the notified owners have to wait 24 hours from the initial request for a new email which will allow them to approve the request in Kinde.
The request can be approved by whichever notified owner responds first:
Select View in the email.
Select Approve in the right column of the data export table.
Enter a one-time code to verify your identity and complete the approval.
Approval triggers an email to the original requestor, who receives instructions on how to download the data. To download:
In the email, select Download. This opens Kinde.
Select the Download button in the export area. A confirmation window opens.
Enter the one-time verification code sent to your email and select Next. The data starts to be prepared.
After the data is generated, a window appears showing an encrypted .dat file for download, as well as a Key and an Initialization Vector for decrypting the file.
Copy the Key and the Initialization Vector somewhere you can access it again later.
Download the file. Note that this is the only opportunity to download. To get the file again, you need to request the data export again.
An email is sent to the owner, advising them you have downloaded the data.
Next, decrypt the downloaded file (see below).
We know this is a long process, especially since you are likely both the requestor and the owner, but we have made password security a top priority.
To decrypt the .dat file, you need to run a decryption command. You can use a tool like OpenSSL or a native command prompt.
Open a command prompt window.
Paste the following command. openssl aes-256-ctr -d -e -in /path/to/kinde_export.dat -out /path/to/kinde_export.zip -nosalt -p -K YOUR_ENCRYPTION_KEY -iv YOUR_ENCRYPTION_IV
Replace YOUR_ENCRYPTION_KEY with the Key you copied above.
Replace YOUR_ENCRYPTION_IV with the Initialization Vector you copied above.
Replace the -in path with the .dat file location (e.g. -in ~/Downloads/kinde_export.dat ), and update the -out path to where you would like the decrypted zip file to be generated (e.g. -out ~/Desktop/kinde_export.zip )
Example of how the command might look:
Press Enter. The file decrypted kinde_export.zip file should appear in the specified -out location.
At any time, the person who made the export request can cancel it by going to the Business Information page in Kinde and selecting Cancel request. This ends both the export and approval process.
As above, when passwords are exported, they appear as a hashed password, a hashing algorithm (e.g. bcrypt), and other hashing configuration details (e.g. salt and salt location). With this data you can authenticate against these credentials in another system using the same algorithm. Plain text passwords are never stored by Kinde for security purposes.
Kinde provides all your data in standard JSON files in a simple format. You will need to refer to the documentation of your new provider to establish what format the data needs to be in for importing.
Once your user data is exported and downloaded, it becomes your business’s responsibility to protect.
When we export the file containing passwords, it is encrypted using AES-256-CTR. The file can only be decrypted if you have the unique Key and Initialization Vector (IV) provided during download.
The encryption of the export file is designed to keep passwords secure during export, but once downloaded and decrypted, they become vulnerable.