The Salesforce1 platform encompasses all things Salesforce, including the new mobile app (formerly the Force.com platform), as well as the standard Salesforce sales, service and marketing clouds. It enables customers to use all of the standard objects they purchase and has the capabilities for building custom solutions. When developing mobile applications for standard or custom objects that talk to the Salesforce1 API, you must understand your application and data’s architecture and security.
Salesforce1 uses the Force.com platform with all of the mobile app security, database/application logic, storage and user management provided by their hosted app servers. The Salesforce1 or a custom mobile application resides on the user’s mobile device. If users have access to standard objects in Salesforce1 on their desktop, then by default they will have access through the Salesforce1 mobile application. Access does not need to be granted by an administrator.
For custom applications, access to the API must be enabled by an administrator to allow outside applications to authenticate with the Salesforce1 platform. Users will only have access to the data and objects they have permission to access.
Authentication can be done through OAuth2.0 or federated authentication using SAML-based Single Sign-On. For each attempt to authenticate a device utilizing OAuth with the user’s account, tokens are exchanged, which creates a session. Once this happens, the ID and password don’t need to be stored locally. On the first attempt to authenticate the device, the platform uses an access code sent to the user.
The Salesforce1 mobile app uses AES-256 encryption and a SQLite database, which is actually double-encrypted (with Salesforce’s and the device’s encryption). Files and attachments are also encrypted on the device file system, and only file previews are stored unencrypted (temporarily), until they are flushedSSL is utilized for all the over-the-air communication, so all locally stored data is encrypted.
The Salesforce1 application also requires users to have passcode locks on their devices – and to set them up if they do not, providing another level of security if a user is inactive during Salesforce1 platform access. After 10 failed passcode attempts, the app will also wipe all locally stored data. If a device is lost or stolen, an administrator can either completely disable a user or delete the user’s OAuth token to wipe the app, forcing them to re-authenticate and repair their device to gain access. With custom applications accessing the Salesforce1 platform API using SSO and a federated authentication, many of the security features and data user access can be controlled.
Interested in mobile apps for your business? Download our e-Book for mobile app success.