monorepo for Authier password manager Includes:
- Astro marketing and landing site (
landing-page) - web extension
- native Kotlin Android app (
android-app) - backend
If you are looking for the download links to use on your devices, use the official download page: https://www.authier.pm/download
Android: Install with Obtainium to receive updates directly from signed GitHub Releases. See Android installation.
Save website passkeys in Authier and sync them between Brave, Firefox and Edge. See passkey setup, compatibility and rollout.
To build the browser extension follow these commands with a current LTS node version:
curl -fsSL https://get.pnpm.io/install.sh | sh -
pnpm install
cd web-extension
cp .env.example .env
pnpm prodBuildThe Android app uses the versioned HTTP/JSON API, generated from shared Zod/oRPC contracts. GraphQL remains available for existing clients.
pnpm android:api # generate OpenAPI and the Kotlin Retrofit client
pnpm android:api:check # check both generated artifacts for drift
pnpm android:build # build the debug APK (JDK 17 + Android SDK 35)
pnpm android:test # WebCrypto vectors and native JVM testsSee Android setup, the API contract and rollout notes, and the encryption protocol. The Kotlin generator is pinned and checksum-verified; generated models handle challenge variants, nullable values, and arbitrary JSON error data. CI builds the APK and checks the generated contract. API changes require deploying the backend and its pending migration before the new app can connect to a production account.
Existing GraphQL generation:
pnpm gbs #backend
pnpm gfs # frontend/extension/mobileor both at once
pnpm schemaspnpm i in the root, pnpm workspaces should install all deps even in subfolders.
keep in mind that a single package can be in multiple subfolders, so if you update it in one place, make sure to update it everywhere
Refer to the subproject readmes for client-specific setup. For the new web vault, use vault-web/README.md.
Authier is a non profit organization. If we ever see any profit from this project, it will be divided at the end each month proportionally according to the latest numbers in contrib-locs.json.
If you contribute to Authier, your PR gets merged and from next month you will be eligible for a small portion of the profit. For now this happens manually. We cannot open source our stripe dashboard, but we will expose publicly our stripe balance if there are more than 4 contributors. ATM it's just 2 contributors.
For now we're running it manually every week. It needs to run in node 16, does not run in other node versions, see this issue: nodegit/nodegit#1980 TODO run contrib-locs with github CRON.