Skip to main content

Secure Storage

Secure Storage

Encrypted key-value storage for sensitive data

Tags: keychain encrypted storage credentials tokens

View Demo

The useSecureStorage composable provides access to encrypted storage for sensitive data like tokens, credentials, and user preferences. On iOS, it uses the Keychain; on Android, it uses EncryptedSharedPreferences.

Import​

<script>
  import { useSecureStorage } from '@classic-homes/native/svelte';
</script>
// React
import { useSecureStorage } from '@classic-homes/native/react';

Basic Usage​

<script lang="ts">
  import { useSecureStorage } from '@classic-homes/native/svelte';

  const storage = useSecureStorage();

  async function saveToken(token: string) {
    await storage.set('auth_token', token);
  }

  async function loadToken() {
    const token = await storage.get('auth_token');
    console.log('Token:', token);
  }
</script>

<button onclick={() => saveToken('my-secret-token')}>Save Token</button>
<button onclick={() => loadToken()}>Load Token</button>

API Reference​

Property Type Description
isLoading boolean Whether a storage operation is in progress
error Error | null Current error if any
get (key: string) => Promise<string | null> Get a value from storage
set (key: string, value: string) => Promise<void> Set a value in storage
remove (key: string) => Promise<void> Remove a value from storage
clear () => Promise<void> Clear all stored values
keys () => Promise<string[]> Get all stored keys

Accessibility​

  • Works with screen readers and assistive technologies
  • Provides loading and error states for accessible status updates
  • Keyboard accessible controls
  • Biometrics - Authenticate users with Face ID, Touch ID, or fingerprint
On this page