diff --git a/core/README.md b/core/README.md index 1c1716ee5..be68b0553 100644 --- a/core/README.md +++ b/core/README.md @@ -13,6 +13,8 @@ This folder contains core modules that are used by multiple applications in the Currently implements: - **merge** - Merges two SQLite vault databases using Last-Write-Wins (LWW) strategy - **credential_matcher** - Cross-platform credential filtering for autofill +- **password_generator** - Password and passphrase (Diceware) generation +- **identity_generator** - Random identity (alias persona) generation with per-language name dictionaries See [rust/README.md](rust/README.md) for detailed documentation. @@ -31,12 +33,3 @@ Vault database schema and SQL utilities for: - Mobile apps (React Native) - Web client (Blazor) -## typescript/ (Legacy) - -Legacy TypeScript implementations that may be migrated to Rust in the future: - -### typescript/identity-generator - -TypeScript identity generator used by: -- Browser extension (React and custom TypeScript) -- Mobile apps (React Native) diff --git a/core/rust/README.md b/core/rust/README.md index 12288a384..87e7e14b0 100644 --- a/core/rust/README.md +++ b/core/rust/README.md @@ -51,6 +51,14 @@ Permanently deletes items in trash older than retention period (default: 30 days ### credential_matcher Priority-based credential filtering for autofill with anti-phishing protection. +### password_generator +Password and passphrase (Diceware) generation with embedded per-language wordlists. + +### identity_generator +Random identity (alias persona) generation: names from embedded per-language dictionaries +(decade-based for de/it/ro), birth date, email prefix and username. See +`src/identity_generator/dictionaries/README.md` for the dictionary format. + ## Building ```bash @@ -363,6 +371,12 @@ pub fn my_function() -> VaultResult { | `src/credential_matcher/mod.rs` | Autofill filtering algorithm | | `src/credential_matcher/domain.rs` | URL/domain extraction utilities | | `src/credential_matcher/stop_words.rs` | Text filtering for service name matching | +| `src/password_generator/mod.rs` | Password/passphrase generation | +| `src/password_generator/wordlists/` | Embedded Diceware wordlists | +| `src/identity_generator/mod.rs` | Identity (alias persona) generation | +| `src/identity_generator/username_email.rs` | Username and email prefix derivation | +| `src/identity_generator/dictionaries/` | Embedded per-language name dictionaries | +| `src/rng.rs` | Shared RNG helpers (seeding, unbiased sampling) | | `src/wasm.rs` | WASM bindings (browser) | | `src/uniffi_api.rs` | UniFFI bindings (iOS/Android) | | `src/ffi.rs` | C FFI bindings (.NET) | diff --git a/core/rust/src/identity_generator/dictionaries/README.md b/core/rust/src/identity_generator/dictionaries/README.md index 12f55ee7b..4a679184d 100644 --- a/core/rust/src/identity_generator/dictionaries/README.md +++ b/core/rust/src/identity_generator/dictionaries/README.md @@ -18,7 +18,7 @@ Languages with flat lists have three files: /lastnames.txt ``` -Languages with decade-based first names (currently `de`, `it` and `ro`) split the first +Languages with decade-based first names split the first names per birth decade so generated first names match names that were popular around the generated birth year: