Minimum macOS 15.0; universal SwiftUI application.
B-Safe 2.2 Technical Details
Vault format, cryptography, license boundaries, privacy data, update chain and current operational limits for B-Safe 2.2 build 4.
The main application opens only the active v11 vault format.
Content and hidden descriptors use authenticated encryption.
64/128/256 MiB memory, 3 iterations and parallelism 2.
EdDSA-signed appcast data.
Runtime and application boundaries
B-Safe 2.2 build 4 requires macOS 15.0 or later and includes both arm64 and x86_64 architectures. It uses SwiftUI/AppKit, App Sandbox, hardened runtime, user-selected read/write access and app-scoped security bookmarks.
The app focuses on .bs vaults and is not a general ZIP/RAR opener. Finder owns the .bs document association and the Services menu exposes a Seal with B-Safe workflow.
Vault format and cryptographic structure
The active container uses the BSAR magic value and format version v11. Unsupported legacy formats are not silently opened. The header stores format, encryption flag, salt, Argon2id parameters, hidden-section descriptor and preview-catalog length.
Content is sealed with AES-256-GCM using a 32-byte encryption key. A separate integrity key produces HMAC-SHA512. Random salts and cryptographic bytes are generated through SecRandomCopyBytes.
Argon2id and keyfile parameters
Argon2id produces 96 bytes: the first 32 bytes become the encryption key and the remaining 64 bytes become the HMAC key. Standard, high and maximum modes use 64, 128 and 256 MiB memory; each uses 3 iterations and parallelism 2.
Header-supplied Argon2id values are validated before use against 32-256 MiB memory, 2-8 iterations and maximum parallelism 8. Keyfiles are SHA-512 hashed in 1 MiB chunks and appended to the password secret.
Hidden sections, header and manifest validation
The hidden-section descriptor is protected with AES-GCM using a key derived from its separate password. Reusing the main vault password for the hidden section is rejected.
Before opening a vault, the app validates header lengths, Argon2id parameters, catalog size, payload bounds and overflow conditions. Path traversal, absolute paths, Windows separators, excessive path depth and suspicious manifest entries are rejected.
Filesystem, extraction and operational limits
Vault limits are 25,000 files, 4 GiB per file and 32 GiB total. Preview data and preview catalogs are each limited to 16 MiB. Text indexing uses 1 MiB per file, up to 2,000 files and 64 MiB total.
Large-file paths use streaming I/O. Paths are limited to 240 characters and 20 directory levels. Secure deletion does not follow symlinks and removes only the selected path for hardlinked data.
Free and Pro feature boundary
Free includes password-protected vault creation/opening, secure notes, expiration, batch vaults, carrier images, history, persistent Recovery Center, health checks, comparison and export.
Pro unlocks hidden-section creation, keyfiles, Touch ID/auto-lock, metadata cleanup and controlled secure preview. Access to existing hidden-section/keyfile/Touch ID vaults remains available after license loss to avoid locking users out of their data.
Licensing, telemetry and network validation
Pro license responses are verified with Ed25519-signed tokens. HTTPS connections validate configured SHA-256 certificate pins; device matching uses a persistent device UUID and a one-way hardware fingerprint.
Usage data is off by default. If enabled, the app sends a persistent random installation identifier, event type, app/build version, macOS version, language preference and license tier. This is pseudonymous, not fully anonymous; file/vault names, paths, content, license keys, device UUIDs and hardware fingerprints are not sent.
Metadata scope
Balanced and maximum metadata protection support JPG/JPEG/PNG/HEIC/TIFF, PDF, MOV/MP4/M4V and DOCX/XLSX/PPTX. XMP/AAE/THM sidecars are evaluated with related media files.
Maximum mode may reprocess images and prioritizes privacy over compatibility. Files that cannot be sanitized can stop the operation instead of being silently included.
Update and beta release status
The app checks updates with Sparkle 2.9.3. Appcast data includes version, build, minimum system version, artifact length and an EdDSA signature.
As of June 15, 2026, the hosted 2.2 DMG is ad-hoc signed and has no Developer ID signature or notarization/stapling ticket. It should be treated as a beta/closed-test artifact; the public release chain is not complete.