I'm developing an "offline" application for a local government that will be used to collect sensitive information. The application will sync back up to the mothership periodically, but it will generally be used offline.
It'll be running on Windows, written in .NET/WPF. I'll need a small "local" database, so I'm looking at SQLite. I could run something like SQL Express on the PC also, if it gave me worthwhile benefits, but that's a lot of extra setup vs. SQLite.
Looking for input, thoughts, or best-practices on a couple of concerns:
- Authenticating users to determine who's using the application. I already do this in the "connected" version, but I'm hesitant to store an entire copy of my users table locally.
- Securing the database to prevent access to or tampering of data should the PC (laptop) be stolen.
Can anybody point me in the right direction?
Thanks! Tim