# Stack — Shared

Common code shared across SilverLABS Stack components:

- **Account SDK** — SilverLABS account-number issuance, auth, session management
- **Crypto primitives** — vetted wrappers for Argon2id, AES-GCM, ChaCha20-Poly1305, X25519, Ed25519
- **Branding tokens** — fonts, logos, colours, design tokens
- **Update client** — common update-check + signature-verify code reused by all Stack apps

To be populated as each Stack component reaches a point where shared code makes sense (typically v1 → v1.1 transition).

## Language / runtime choice

Default to **Rust** for shared crypto and account SDK code, with bindings/bridges per platform language:
- Kotlin / Java for Android
- Swift / Obj-C for Apple platforms
- C# for Windows native integration where required
- TypeScript bindings for browser extensions / web UI

Rust gives memory safety, performance, and a single source of truth for the security-critical parts.
