{selected.name}
-Select an entry, or create a new one.
-- Mocha needs a Supabase project to store your vault. -
-Go to app.supabase.com and create a free project.
-In Storage, create a bucket named vaults (private).
In Project Settings → API, copy the Project URL and anon key.
-Paste the values you just copied.
-
- Credentials are stored locally on your machine. You can also set them
- in a .env file at the project root.
-
Select an entry, or create a new one.
-- Choose a folder for {moveEntry.name}. Type a new - name to create a folder, or leave empty to remove it from its - folder. -
- setMoveFolder(e.target.value)} - onKeyDown={(e) => { - if (e.key === "Enter") { - e.preventDefault(); - handleMove(); - } - }} - /> -- Mocha imports unencrypted Bitwarden JSON exports - . In Bitwarden, go to Tools → Export vault and choose the{" "} - .json format (not .json (Encrypted) — encrypted - exports are rejected). -
-
- The file must contain an items array. It should look
- like this:
-
{`{
- "encrypted": false,
- "items": [
- {
- "type": 1,
- "name": "Example site",
- "notes": "Optional note",
- "login": {
- "username": "you@example.com",
- "password": "secret",
- "uris": [{ "uri": "https://example.com" }]
- }
- }
- ]
-}`}
-
- Only login items ("type": 1) are imported — cards,
- identities and secure notes are skipped. Bitwarden folders are
- imported as Mocha folders. Imported entries are added to your
- existing vault.
-
Mocha needs a Supabase project to store your vault.
+Go to app.supabase.com and create a free project.
+In Storage, create a bucket named vaults (private).
In Project Settings → API, copy the Project URL and anon key.
+Paste the values you just copied.
+Credentials are stored locally on your machine. You can also set them in a .env file at the project root.
Your personal suite of privacy tools. Select an app to get started.
+{app.desc}
+ + ))} +Select an entry, or create a new one.
+Choose a folder for {moveEntry.name}. Type a new name to create a folder, or leave empty to remove it from its folder.
+ setMoveFolder(e.target.value)} onKeyDown={(e) => { if (e.key === "Enter") { e.preventDefault(); handleMove(); } }} /> +Mocha imports unencrypted Bitwarden JSON exports. In Bitwarden, go to Tools → Export vault and choose the .json format (not .json (Encrypted) — encrypted exports are rejected).
+The file must contain an items array. It should look like this:
{`{\n "encrypted": false,\n "items": [\n {\n "type": 1,\n "name": "Example site",\n "notes": "Optional note",\n "login": {\n "username": "you@example.com",\n "password": "secret",\n "uris": [{ "uri": "https://example.com" }]\n }\n }\n ]\n}`}
+ Only login items ("type": 1) are imported — cards, identities and secure notes are skipped. Bitwarden folders are imported as Mocha folders. Imported entries are added to your existing vault.
Loading…
No accounts yet. Add an account to generate TOTP codes.
+Paste the base32-encoded secret key shown when setting up 2FA.
+Loading…
No subscriptions yet. Add one to start tracking.
+x SupabaseForked from cortado
-A minimal password manager hand-made using Tauri, Rust, React + Supabase - Your passwords stay on your machine, synced to your own cloud -
-A personal suite of privacy tools — password manager, authenticator, subscriptions.
+Built with Tauri, Rust, React + Supabase
+