Encrypted key-value storage for sensitive data
Tags: keychain encrypted storage credentials tokens
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
Related Features
- Biometrics - Authenticate users with Face ID, Touch ID, or fingerprint