Most developers write Windows Phone applications for their own gratification and their own wallets. While most of the time I would put myself in the same camp, I am also a consultant. This means that I have corporate clients who want corporate solutions. I recently got a request for a system rebuild that includes a Windows Phone component. This brought up the questions of what are the important aspects to consider when building for this situation.
Let’s break it down in to the points that are important to a company using a mobile application. The company want to make sure that their proprietary software is safe from use by unauthorized users. They also want to make sure that the data is secure on the device.
The first point is a challenge. There is no such thing as true private distribution in the Windows Phone ecosystem at this time. What is available is the ability to specify you application for targeted distribution. Even with targeted distribution you can’t ensure that only individuals within your organization will be able to load you application. Because of this I am taking two additional steps. The first is to register the phone’s DeviceUniqueId within your system. Add a system sign-in and that should cover access to your application.
The second half of the problem is securing the data on the phone. This is where the ProtectedData API within the System.Security.Cryptography namespace comes in. It allows you to encrypt your data before pushing it to isolated storage on the device.
With the announcement of Windows Phone 8 coming this fall, many of these points will have different solutions. Private signing and distribution of applications will be available. We will also have native access to BitLocker. When you combine these capabilities enterprise application development for Windows Phone will be much simpler. Until then work with the above suggestions to develop your enterprise solutions.