> For the complete documentation index, see [llms.txt](https://doc.sysdevmobile.com/kalipso/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.sysdevmobile.com/kalipso/documentation/project/properties/data-security.md).

# Data Security

<figure><img src="https://1614058754-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ5vDGuBZwhJDeu5Rq7Wt%2Fuploads%2Fgit-blob-ccb381e8ed97390d91aeca095b06759060eef401%2Fproject_properties_others_5.png?alt=media" alt=""><figcaption></figcaption></figure>

* **Encrypt Database with password randomly generated on device** - As the name implies, the database is encrypted with a password generated randomly on the device. This can be done in three ways:
  * *No* - It will not encrypt this way.
  * *Yes For CurrentProject* - Yes, but only for the current project.
  * *Yes For Current Project And Linked Project* - Yes, for the current project and [Linked Projects](/kalipso/documentation/project/properties/linked-projects.md).
* **Password** - Password to encrypt your Local Database file. All the Offline and Local Tables used in your Project are stored in a single SQLite file. That file, by default, can be accessed with appropriate software. If you want to prevent the access to that file, define a password to encrypt it. If you don't define this property, your Database will be open. This field is ignored when **Encrypt Database with password randomly generated on device** is set to one of the *Yes* options.
* **Encrypt Database passwords with device's user keystore** - Encrypts the database password with the user's KeyStore on the device. This option is only effective if used with a Random Password, or with a dynamic password defined with [SetProjectParameter](/kalipso/documentation/actions/group-others/set-project-param.md).
* **Encrypt Profile's passwords with device's user keystore** - Encrypts database and communication profiles passwords with the user's KeyStore on the device. This option is only effective with passwords defined using [SetCommProfileParameter](/kalipso/documentation/actions/group-communications/set-comm.-profile-parameter.md) or [SetDBProfileParameter](/kalipso/documentation/actions/group-database/set-db-profile-parameter.md).

{% hint style="warning" %}
Using devices KeyStore to save the passwords, greatly increases the security of these passwords, but it also means that it can only be decrypted on the same device, by the same App on the same user account.

For example, on Windows, if you copy the entire application folder from one PC to another, these values cannot be decrypted. For the local database it means it will not be possible to access that database, for profiles, it means those values cannot be read, and so they need to be redefined with [SetCommProfileParameter](/kalipso/documentation/actions/group-communications/set-comm.-profile-parameter.md) or [SetDBProfileParameter](/kalipso/documentation/actions/group-database/set-db-profile-parameter.md).
{% endhint %}
