I am developing a desktop application that will need to collect data (from the user) and store it locally in a secure fashion. It will need to synchronize this data with a central database when an internet connection is available. The application is WPF and I would like to take advantage of the new data-binding features of WPF. I really want this application to be lightweight, and thus not having formal business objects, and just binding directly to the XML file. My issue with this however is security. I could see encrypting the XML files, is that a realistic option. Another reason I wanted to use XML is for interfacing with other applications (on the desktop), which for this type of application, happens a lot.
On the flip side, there is SQL Server Compact, but to use it, I would most likely want business objects to represent tables, and to interface with other applications I would need to spit the data out to XML anyways. Security would be easy, just add a password to the database.
What do you guys think? Is there something I'm not taking into consideration, have I given enough information about my problem domain?