--- title: "SecureStorage" slug: "170-core-securestorage" updated: 2025-12-09T17:13:04Z published: 2025-12-09T18:02:06Z canonical: "docs.developer.comcast.com/170-core-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 | Core SDK** ## Usage To use the SecureStorage module, you can import it into your project from the Firebolt SDK: ``` import { SecureStorage } from '@firebolt-js/sdk' ``` ## Overview A module for storing and retrieving secure data owned by the app ## Methods ### clear Clears all the secure data values ``` function clear(scope: StorageScope): Promise ``` Parameters: | Param | Type | Required | Description | | --- | --- | --- | --- | | `scope` | [`StorageScope`](/docs/170-core-securestorage#storagescope) | true | The scope of the key/value values: `'device' \| 'account'` | Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:storage:secure | #### Examples Clears all the data values of storage JavaScript: ``` import { SecureStorage } from '@firebolt-js/sdk' let success = await SecureStorage.clear('account') console.log(success) ``` Value of `success`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "SecureStorage.clear", "params": { "scope": "account" } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` --- ### get Get stored value by key ``` function get(scope: StorageScope, key: string): Promise ``` Parameters: | Param | Type | Required | Description | | --- | --- | --- | --- | | `scope` | [`StorageScope`](/docs/170-core-securestorage#storagescope) | true | The scope of the key/value values: `'device' \| 'account'` | | `key` | `string` | true | Key to get | Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:storage:secure | #### Examples Successfully retrieve a refresh token with key authRefreshToken JavaScript: ``` import { SecureStorage } from '@firebolt-js/sdk' let value = await SecureStorage.get('device', 'authRefreshToken') console.log(value) ``` Value of `value`: ``` 'VGhpcyBub3QgYSByZWFsIHRva2VuLgo=' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "SecureStorage.get", "params": { "scope": "device", "key": "authRefreshToken" } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": "VGhpcyBub3QgYSByZWFsIHRva2VuLgo=" } ``` Attempt to retrieve a key with no value set JavaScript: ``` import { SecureStorage } from '@firebolt-js/sdk' let value = await SecureStorage.get('account', 'authRefreshToken') console.log(value) ``` Value of `value`: ``` 'VGhpcyBub3QgYSByZWFsIHRva2VuLgo=' ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "SecureStorage.get", "params": { "scope": "account", "key": "authRefreshToken" } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` --- ### remove Remove a secure data value ``` function remove(scope: StorageScope, key: string): Promise ``` Parameters: | Param | Type | Required | Description | | --- | --- | --- | --- | | `scope` | [`StorageScope`](/docs/170-core-securestorage#storagescope) | true | The scope of the data key values: `'device' \| 'account'` | | `key` | `string` | true | Key to remove | Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:storage:secure | #### Examples Remove the value with key authRefreshToken for device JavaScript: ``` import { SecureStorage } from '@firebolt-js/sdk' let success = await SecureStorage.remove('device', 'authRefreshToken') console.log(success) ``` Value of `success`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "SecureStorage.remove", "params": { "scope": "device", "key": "authRefreshToken" } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` Remove the value with key authRefreshToken for account JavaScript: ``` import { SecureStorage } from '@firebolt-js/sdk' let success = await SecureStorage.remove('account', 'authRefreshToken') console.log(success) ``` Value of `success`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "SecureStorage.remove", "params": { "scope": "account", "key": "authRefreshToken" } } ``` Response: ``` { "jsonrpc": "2.0", "id": 1, "result": null } ``` --- ### set Set or update a secure data value ``` function set( scope: StorageScope, key: string, value: string, options: StorageOptions, ): Promise ``` Parameters: | Param | Type | Required | Description | | --- | --- | --- | --- | | `scope` | [`StorageScope`](/docs/170-core-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-core-securestorage#storageoptions) | false | Optional parameters to set | Promise resolution: Capabilities: | Role | Capability | | --- | --- | | uses | xrn:firebolt:capability:storage:secure | #### Examples Set a refresh token with name authRefreshToken with optional paramter JavaScript: ``` import { SecureStorage } from '@firebolt-js/sdk' let success = await SecureStorage.set( 'device', 'authRefreshToken', 'VGhpcyBub3QgYSByZWFsIHRva2VuLgo=', { ttl: 600 }, ) console.log(success) ``` Value of `success`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "SecureStorage.set", "params": { "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 JavaScript: ``` import { SecureStorage } from '@firebolt-js/sdk' let success = await SecureStorage.set( 'account', 'authRefreshToken', 'VGhpcyBub3QgYSByZWFsIHRva2VuLgo=', ) console.log(success) ``` Value of `success`: ``` null ``` **JSON-RPC:** Request: ``` { "jsonrpc": "2.0", "id": 1, "method": "SecureStorage.set", "params": { "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 } ``` ---