I am evaluating best database solution for a sizeable application. My basic requirements include:

  • Data should be encrypted at disk level
  • Mobile support
  • Scalable
  • Enterprise support

I realized Couchbase Server solution would be sufficient for my requirements. I've tested some of the above with Couchbase Server and got stuck on how data encryption on Couchbase Server is applied.

I could find only few high level documentation related to this topic. Including below official documentations

They say there are 4 possible third party encryption tools that can be used:

  • Linux Unified Key Setup (LUKS)
  • Vormetric
  • Gemalto
  • Protegrity

But they are not explaining on how to use or configure the above tools.

Question 01

What would be the best recommended encryption tool out of above?

Question 02

Is there any documentation(with samples) on how to setup encryption on Couchbase Server?

closed as too broad by mustaccio, Md Haidar Ali Khan, Colin 't Hart, Max Vernon, Philᵀᴹ Aug 1 '18 at 7:31

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.


See also the Field Level Encryption feature in Couchbase Server 5.5 Enterprise Edition (released last week). From the docs there, you can select the platform you use. Note this is not part of Couchbase Mobile (which as of this writing has encryption planned for the 2.1 Couchbase Lite release), but can obviously be used with mobile apps if crypto at the app server works for you. There's also a specification for how the fields are handled if you wanted to handle it elsewhere.

  • Field Level Encryption is a good feature for us when we need some selected fields to be encrypted.But in my case i need all data to be encrypted within the database.Do you have any suggestions on that as well ? – Nuwan Attanayake Jul 31 '18 at 4:22
  • I don't have a general suggestion, but in specific cases it may make sense to put all of the data in one field that is encrypted. The implementation anticipates that actually, since there is a similar cost per field. Since it's JSON, you could have one field called "secret" and stick it all in that hierarchy. There may be some other constraints, of course. See the docs! – Matt Ingenthron Aug 1 '18 at 5:15
  • that is a fair option.Thank you for this.I prefer to keep my data structure as it is since most of the application elements already being developed.But still this would be better solution since i am out of options now. – Nuwan Attanayake Aug 1 '18 at 9:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.