--- title: "SecureStorage" slug: "170-manage-securestorage" updated: 2025-12-09T17:33:16Z published: 2025-12-09T18:02:06Z canonical: "docs.developer.comcast.com/170-manage-securestorage" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.developer.comcast.com/llms.txt > Use this file to discover all available pages before exploring further. # SecureStorage **SecureStorage Module 1.7.0 | Manage SDK** ## Usage To use the SecureStorage module, you can import it into your project from the Firebolt SDK: ``` import { SecureStorage } from '@firebolt-js/manage-sdk' ``` ## Overview A module for storing and retrieving secure data owned by the app ## Methods ### clearForApp Clears all the secure data values for a specific app ``` function clearForApp(appId: string, scope: StorageScope): Promise ``` Parameters: | Param | Type | Required | Description | | --- | --- | --- | --- | | `appId` | `string` | true | appId for which values are removed | | `scope` | [`StorageScope`](/docs/170-manage-securestorage#storagescope) | true | The scope of the key/value values: `'device' \| 'account'` | Promise resolution: Capabilities: | Role | Capability | | --- | --- | | manages | xrn:firebolt:capability:storage:secure | #### Examples Clears all the secure data values for appId foo JavaScript: ``` import { SecureStorage } from '@firebolt-js/manage-sdk' let success = await SecureStorage.clearForApp('foo', 'account') console.log(success) ``` Value of `success`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "SecureStorage.clearForApp", "params": { "appId": "foo", "scope": "account" } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` --- ### removeForApp Removes single data value for a specific app. ``` function removeForApp( appId: string, scope: StorageScope, key: string, ): Promise ``` Parameters: | Param | Type | Required | Description | | --- | --- | --- | --- | | `appId` | `string` | true | appId for which values are removed | | `scope` | [`StorageScope`](/docs/170-manage-securestorage#storagescope) | true | The scope of the key/value values: `'device' \| 'account'` | | `key` | `string` | true | Key to remove | Promise resolution: Capabilities: | Role | Capability | | --- | --- | | manages | xrn:firebolt:capability:storage:secure | #### Examples Removes authRefreshToken for appId foo JavaScript: ``` import { SecureStorage } from '@firebolt-js/manage-sdk' let success = await SecureStorage.removeForApp( 'foo', 'account', 'authRefreshToken', ) console.log(success) ``` Value of `success`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "SecureStorage.removeForApp", "params": { "appId": "foo", "scope": "account", "key": "authRefreshToken" } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` --- ### setForApp Set or update a secure data value for a specific app. ``` function setForApp( appId: string, scope: StorageScope, key: string, value: string, options: StorageOptions, ): Promise ``` Parameters: | Param | Type | Required | Description | | --- | --- | --- | --- | | `appId` | `string` | true | appId for which value is being set | | `scope` | [`StorageScope`](/docs/170-manage-securestorage#storagescope) | true | The scope of the data key values: `'device' \| 'account'` | | `key` | `string` | true | Key to set | | `value` | `string` | true | Value to set | | `options` | [`StorageOptions`](/docs/170-manage-securestorage#storageoptions) | false | Optional parameters to set | Promise resolution: Capabilities: | Role | Capability | | --- | --- | | manages | xrn:firebolt:capability:storage:secure | #### Examples Set a refresh token with name authRefreshToken with optional parameter for appId foo JavaScript: ``` import { SecureStorage } from '@firebolt-js/manage-sdk' let success = await SecureStorage.setForApp( 'foo', 'device', 'authRefreshToken', 'VGhpcyBub3QgYSByZWFsIHRva2VuLgo=', { ttl: 600, }, ) console.log(success) ``` Value of `success`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "SecureStorage.setForApp", "params": { "appId": "foo", "scope": "device", "key": "authRefreshToken", "value": "VGhpcyBub3QgYSByZWFsIHRva2VuLgo=", "options": { "ttl": 600 } } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` Set a refresh token with name authRefreshToken without optional parameter for appId foo JavaScript: ``` import { SecureStorage } from '@firebolt-js/manage-sdk' let success = await SecureStorage.setForApp( 'foo', 'account', 'authRefreshToken', 'VGhpcyBub3QgYSByZWFsIHRva2VuLgo=', ) console.log(success) ``` Value of `success`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "SecureStorage.setForApp", "params": { "appId": "foo", "scope": "account", "key": "authRefreshToken", "value": "VGhpcyBub3QgYSByZWFsIHRva2VuLgo=" } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` --- ## Types ### StorageScope The scope of the data ``` StorageScope: { DEVICE: 'device', ACCOUNT: 'account', }, ``` --- ### StorageOptions ``` type StorageOptions = { ttl: number // Seconds from set time before the data expires and is removed } ``` ---