Browser & device compatibility
Live checks for the capabilities the Glassbreak web client needs
Glassbreak runs almost entirely in your browser. Encryption, key derivation, signing, and post-quantum operations all happen on your device — which means your browser has to support the cryptographic primitives we depend on. This page lists the requirements and runs a live check against the browser you are using right now.
Requirements
- Secure context (HTTPS) — required by the WebCrypto API. The Glassbreak site enforces this; if you reach this page over HTTP the checks below will all fail.
- WebCrypto SubtleCrypto — used for AES-256-GCM encryption, RSA-OAEP wrapping of shares, and key import/export.
- JavaScript randomness (
crypto.getRandomValues) — every salt, IV, and nonce we generate comes from this CSPRNG. - BigInt support — used by the post-quantum libraries for modular arithmetic.
- Async / await + ES2020 features — Promise, optional chaining, nullish coalescing.
- WebAuthn / FIDO2 — for passwordless and MFA enrolment. Not strictly required if you use TOTP, but strongly recommended.
- Local storage + IndexedDB — for storing your encrypted private keys locally between sessions.
- Fetch API — for talking to the API.
Browser version floors
We support browsers shipped within the last 24 months that continue to receive security updates. Specifically:
- Chrome / Chromium / Edge: version 124+ (released April 2024) for hybrid post-quantum TLS support.
- Firefox: version 132+ (released October 2024).
- Safari: version 17+ (iOS 17, macOS Sonoma).
- Opera / Vivaldi / Brave: tracking Chromium 124+.
Older browsers may still load the site but features that depend on missing APIs will be disabled. The checker below tells you what works in your current browser.
Live compatibility check
The checks below run when this page loads. None of the results are sent to Glassbreak — everything runs locally in your browser.
- Secure context (HTTPS)WebCrypto requires a secure origin.
- Cryptographic randomnesscrypto.getRandomValues for salts, IVs, nonces.
- WebCrypto SubtleCryptoBrowser-native crypto.subtle interface.
- AES-256-GCMSymmetric encryption for secret content.
- RSA-OAEP-8192 / SHA-256Classical key wrapping in the hybrid scheme.
- SHA-256 digestBody hashes, fingerprints, nonces.
- BigIntRequired by post-quantum lattice arithmetic.
- ML-KEM-1024 keygen + encapsulatePost-quantum key encapsulation (FIPS 203).
- ML-DSA-65 sign + verify(optional)Post-quantum signatures (FIPS 204).
- IndexedDBPersistent storage for encrypted private keys.
- localStorageSession preferences and short-lived state.
- WebAuthn / platform authenticator(optional)Passwordless and phishing-resistant MFA.
- Fetch APINetwork requests to the Glassbreak API.
- Service Worker(optional)Offline + push notification support.
Checks run entirely in your browser. None of these results are sent to Glassbreak.
If a check fails
- Secure context: failed — you are on HTTP, or in a non-HTTPS iframe. Open the site directly over HTTPS.
- WebCrypto: failed — your browser is too old, or you are using a privacy mode that disables the SubtleCrypto API. Update or switch browsers.
- AES-256-GCM / RSA-OAEP / SHA-256: failed — very old browser. Upgrade.
- WebAuthn: failed — older browser, or your device has no platform authenticator. You can still use TOTP MFA.
- IndexedDB / localStorage: failed — you may be in a private window with storage disabled. Glassbreak requires storage to remember your encrypted keys across sessions; you will have to re-enter your passphrase every time without it.
- ML-KEM-1024 keygen: failed — the post-quantum library could not initialise. Almost always a BigInt or WASM issue on a very old browser. Upgrade.
Mobile native apps
The iOS and Android Glassbreak apps embed the same crypto stack as the web client (via React Native + @noble libraries). The compatibility floor is set by the platforms themselves:
- iOS: iOS 16 or later (Network framework PQ support tracking iOS 18 / iPadOS 18 betas).
- Android: Android 10 (API 29) or later.
Older devices may fail to install from the store rather than failing inside the app.
Help
If your browser passes the checks below but you still see issues, contact support@glassbreak.io. If you believe a check itself is incorrect (e.g. claiming WebAuthn is unsupported when your device DOES have a platform authenticator), please send a report including your browser version and the output of the checks to support@glassbreak.io.