chroma-core / chroma

the AI-native open-source embedding database
https://www.trychroma.com/
Apache License 2.0
14.54k stars 1.21k forks source link

How does chroma encrypt the content of "chroma.sqlite3" ? #2683

Open ACBBZ opened 3 weeks ago

ACBBZ commented 3 weeks ago

How does chroma encrypt "chroma.sqlite3"? I don't want to see the contents of the document saved in plaintext in the database. I am running Chroma in client/server mode. I can modify the contents of the database in the server, but the query result also change. How can I modify the contents of the database in client? 1724124589815

tazarov commented 3 weeks ago

@ACBBZ, Chroma does not support encryption of the sqlite3 file. This is main due to the feature not being part of the default sqlite3 distribution.

Encrypting the SQLite3 file is possible; however, it is not something Chroma supports out of the box. There are two alternatives:

It is also important to note that adding encryption will reduce performance by 5-15% and, last but not least, require a code change in the core library.

Let me know if the above answers your question. Also, let me know if encryption is important to you in a way that prevents you from using Chroma if such a feature is not supported.