- 09 Jan 2025
- 1 Minute à lire
- SombreLumière
- PDF
Use cases and key concepts
- Mis à jour le 09 Jan 2025
- 1 Minute à lire
- SombreLumière
- PDF
The Secure Local Storage APIs suits a number of use-cases for developers and app owners.
Tokens
Sensitive data (social security number, etc)
JSON files
API keys
etc
The data stored with the Secure Local Storage is stored locally on the device as an encrypted key-value-store. The Secure Local Storage key-value store has the following functional features:
put
get
delete
The exclusion of a list function is a design choice in Secure Local Storage.
The Storage's stores data as key-value pairs. The key uniquely identifies the value. You can request the value for a key or you can delete a key-value pair for a key.
The key-value data stored in the Secure Local Storage is encrypted by App Shielding. The encryption key is generated by App Shielding on the device. To generate the encryption key, App Shielding also uses the customer specified element (see also Customer token configuration) that was specified in the configuration of the Shielding Tool when shielding the app. Shielding the same app with a different "customer specified element" configuration value, e.g., on an app update, makes any previously stored data inaccessible by the app.
The anti-cloning mechanism implemented within Secure Local Storage ensures that data created for the application on one end-user device cannot be reused on another.
The cryptographic methods will be updated over time. Newer versions of App Shielding will support reading data stored with older versions, but may make the data unreadable by older versions. The release notes of each version of OneSpan App Shielding will provide details on such changes. Updating the OS or the app will not affect the stored data.
If data is corrupt, the APIs reports it as not available. There is no way to distinguish between incorrect decryption key and corrupted data.
If running out-of-disk space when overwriting data, the old data is lost, and the new data is corrupted.
Interfaces are designed only for "small" pieces of data that can be held comfortably in memory