Platform Comparison

Every operator-visible difference between Vaulthalla on Linux and on macOS - install, services, paths, database, keys, filesystem, HTTPS and CLI.

Platform Comparison

Vaulthalla is one code base: vault formats, encryption, the database schema, RBAC, sharing, sync, cost controls, the S3 gateway, the web console and the CLI's commands behave the same on both platforms. This page lists where they differ. Everything not listed here is shared.

Support

LinuxmacOS
Architectureamd64arm64 (Apple Silicon)
Operating systemUbuntu 24.04 LTS (tested)macOS 14 Sonoma or later
Installapt.vaulthalla.shvaulthalla-<version>-arm64.pkg, or the Homebrew cask vaulthalla/tap/vaulthalla
Package signingSigned APT repositoryNot signed by Apple yet (manual approval in Finder)
Upgradesapt upgradeInstall the newer package, or brew upgrade --cask vaulthalla
Removalapt remove / apt purgeuninstall.sh / uninstall.sh --purge

Services

LinuxmacOS
Managersystemdlaunchd (LaunchDaemons, system domain)
Daemonvaulthalla.servicesh.vaulthalla.server
Web consolevaulthalla-web.servicesh.vaulthalla.web
Databasedistribution postgresql (or remote)sh.vaulthalla.postgres (bundled)
HTTPS proxydistribution nginxsh.vaulthalla.caddy (bundled)
Software TPMvaulthalla-swtpm.service when no hardware TPMnone
Service accountvaulthalla_vaulthalla (hidden, uid 450–499, alias vaulthalla)
Logsjournald (journalctl -u vaulthalla)/Library/Logs/Vaulthalla/*.log

Paths

LinuxmacOS
Configuration/etc/vaulthalla/config.yaml/Library/Application Support/Vaulthalla/config.yaml
State, vault data, sealed secrets/var/lib/vaulthalla/Library/Application Support/Vaulthalla/state
CLI socket/run/vaulthalla/cli.sock/Library/Application Support/Vaulthalla/run/cli.sock
Mount/mnt/vaulthallanone
Programs/usr/bin, /usr/lib/vaulthalla, /usr/share/vaulthalla/usr/local/bin, /usr/local/lib/vaulthalla, /usr/local/libexec/vaulthalla, /usr/local/share/vaulthalla

Full maps: Runtime Paths.

Database

LinuxmacOS
ServerDistribution PostgreSQL 16 (11 or newer works), or a remote serverBundled PostgreSQL 16
Addresslocal socket / localhost:5432, or remote127.0.0.1:36971
SetupPackage postinst, vh setup db, vh setup remote-dbPackage postinstall (vaulthalla-provision)
Remote databasevh setup remote-dbNot automated

Keys And Encryption

LinuxmacOS
Vault dataAES-256-GCMAES-256-GCM
Master key protectionTPM2: hardware, or the managed software TPMfile backend: 0600 files in the 0700 state directory, protected by permissions and FileVault
Reported asthe TPM backendsecrets backend: file (development: no hardware binding)

A Secure Enclave or keychain backend for macOS is planned and not shipped. See Encryption.

Filesystem

LinuxmacOS
MountFUSE at /mnt/vaulthalla, multiuserNone (mount.mode effectively disabled)
File access without a mountweb console, vh fs, S3 gatewayweb console, vh fs, S3 gateway
HTTP upload stagingthrough the mounta private directory under the state root

See Filesystem Access.

HTTPS

LinuxmacOS
Commandsudo vh setup nginxsudo vh setup caddy
Internal namesHTTP onlyVaulthalla CA (name-constrained)
Public names--certbot or --certbot-dns-cloudflareLet's Encrypt, or --dns-cloudflare
Own certificatenot automated--cert / --key

See HTTPS And Reverse Proxies.

CLI Access

LinuxmacOS
Groupvaulthalla_vaulthalla
Enroll a usersudo usermod -aG vaulthalla <user>sudo dseditgroup -o edit -a <user> -t user _vaulthalla
Admin bindingvh setup assign-admin (or the first CLI user at UID 1000+)The installing user, at install time
Lifecycle commandssetup db, setup remote-db, setup nginx, teardown db, teardown nginxsetup caddy, teardown caddy

Previews

The optional converter packages vaulthalla-preview-cad (STEP models) and vaulthalla-preview-media (video and audio probing, poster frames, transcodes) are Debian packages and exist only on Linux. On macOS, previews that need them show that the converter isn't installed; images, PDFs, text and browser-playable media preview as usual.