The data stored is public-key-encrypted (buzzwords: ECIES, Secp256k1, AES256+CTR), and the decryption private keys (per app/user) are available only to the very last and isolated layers (e.g. in particular, right before the search snippet is sent to your browser, or right before the text is tokenized and converted into an inverted index which erases the information about the actual words location in the text). The engineers can’t see the users' data.
App access- and refresh tokens (which we obviously need to send API requests to the apps you connect) are stored the similar way. They’re only decrypted in a separate layer right before requests are sent to remote cloud apps' APIs.
To compliment our architecture, I should mention we also also have strict company policy around general IT security and any type of customer data access. Security is an evergreen problem here.
Would you guys be open to providing a self-hosted solution for large clients?
In the near future, we will be offering deployment to an isolated instance. It would be operated by us, but we would be able to provide infrastructure access.
A step after that would be to offer VPC deployment where the updates are applied by the customer and we wouldn't have access to the infrastructure.