Let me implement a RoR application that stores sensitive information inside a database that's located by an untrusted 3rd party. Essential functionality includes:

1) Database contents encoded
2) Secure user session support within Peaceful paradigm
3) Database located by 3rd party inexpensively.
4) Secrets accustomed to decrypt DB contents for client and server are safe from examination by 3rd party hosting company admin.

I'd use SSL for encoded server-client communication. Can One implement an answer that keeps even me from having the ability to view saved user data, except for data elements essential to begin a Peaceful user session? Can code that resides around the 3rd party server be protected or obfuscated?

Like a developer, it is possible to design implementation that enables me to honestly assure customers that they're the only real ones who are able to decrypt and examine their data? I have got the sensation the answer here's "no," however i thought I would request others before acknowledging defeat.

Please discuss best practice (or perhaps your method) using RoR and Peaceful architecture.


For (1), have a look at this SO question

For (2), you should use Devise or AuthLogic

For (3), Heroku (hosting that is shared) and Webbynode (should you prefer your vhost -- you need to setup security yourself) are relatively inexpensively.

For (4), searching at StrongBox, I believe one method to have great results is always to not keep user secret inside your database (possibly request for this when user logs in and store it in user session, but I'm not sure in the event that's possible.)