Okay, I have a rails backend server which is pretty much just a database server.
The database contains information about different types of a substance, and that substance's confidential inherent percentage makeup.
Admins on the app can create PATCH requests to update records over time, and users of the app on login sync their local REALM database with the server in case any admins have added/deleted/modified any records. The realm database on the app is created and encrypted with a key that is stored in keychain on the first use of the app.
Also on first use, the app will sync completely with the server, retrieving all of the sensitive substance records and storing in encrypted local REALM database.
I am going to encrypt transmission from the outside with ssl, and implement ssl pinning to inhibit MITM attacks.
But what can I do to prevent the public from ever finding out the makeup of these confidential substances?
The only reason the data is stored locally is for offline use. Otherwise I would have the users query the server with the percentage makeups they needed, and the server return with the names of the suitable options.