Skip to content
Graphophone

What's in the binary

Third-party licenses

Graphophone is proprietary software built on a small, conservative set of open-source libraries. Below is every direct dependency we ship, by codebase, with its license. The full license texts ship inside the app, under Settings → Open-source licenses.

Rust core (the encrypted vault)

Compiled into a cdylib per platform; called from Flutter via flutter_rust_bridge.

  • argon2
    Passphrase KDF (memory-hard).
    Version: 0.5 License: MIT OR Apache-2.0
  • chacha20poly1305
    AEAD for entries, backups, entitlement.
    Version: 0.10 License: Apache-2.0 OR MIT
  • hkdf
    Subkey derivation from the master key.
    Version: 0.12 License: MIT OR Apache-2.0
  • sha2
    Hash inside HKDF.
    Version: 0.10 License: MIT OR Apache-2.0
  • blake3
    Content-addressed attachment hashing.
    Version: 1.5 License: CC0-1.0 OR Apache-2.0
  • zeroize
    Zero-on-drop for keys and secrets.
    Version: 1.8 License: Apache-2.0 OR MIT
  • secrecy
    Newtype wrappers that refuse to print themselves.
    Version: 0.10 License: Apache-2.0 OR MIT
  • subtle
    Constant-time equality.
    Version: 2.6 License: BSD-3-Clause
  • ed25519-dalek
    Lifetime-Pass redemption-code signatures.
    Version: 2 License: BSD-3-Clause
  • x25519-dalek
    Key agreement for the recovery-share envelopes.
    Version: 2.0 License: BSD-3-Clause
  • getrandom
    OS entropy source.
    Version: 0.2 / 0.3 License: MIT OR Apache-2.0
  • rand_core
    RNG traits the dalek crates take.
    Version: 0.6 / 0.9 License: MIT OR Apache-2.0
  • base32
    Compact QK1-... receipt encoding.
    Version: 0.5 License: MIT
  • serde
    Universal serialisation.
    Version: 1 License: MIT OR Apache-2.0
  • serde_json
    JSON for cloud LLM providers + receipts.
    Version: 1 License: MIT OR Apache-2.0
  • ciborium
    CBOR for on-disk envelopes.
    Version: 0.2 License: Apache-2.0
  • serde_bytes
    Compact byte-string encoding inside those envelopes.
    Version: 0.11 License: MIT OR Apache-2.0
  • rusqlite
    Vault DB storing per-entry ciphertext. Built with bundled SQLCipher, so the database file is whole-encrypted too — see the vendored C table below.
    Version: 0.32 License: MIT
  • tokio
    Async runtime for the LLM router + providers.
    Version: 1 License: MIT
  • futures
    Stream combinators for token streaming.
    Version: 0.3 License: MIT OR Apache-2.0
  • async-trait
    Async methods on the provider traits.
    Version: 0.1 License: MIT OR Apache-2.0
  • parking_lot
    Locks around the vault and router state.
    Version: 0.12 License: MIT OR Apache-2.0
  • reqwest
    Cloud LLM HTTP transport (rustls only).
    Version: 0.12 License: Apache-2.0 OR MIT
  • uuid
    Entry IDs (UUIDv7).
    Version: 1 License: Apache-2.0 OR MIT
  • time
    RFC 3339 timestamps.
    Version: 0.3 License: MIT OR Apache-2.0
  • thiserror
    Derive macro for typed errors.
    Version: 2 License: MIT OR Apache-2.0
  • tracing
    Structured logs (opt-in).
    Version: 0.1 License: MIT
  • flutter_rust_bridge
    Dart ↔ Rust bridge.
    Version: 2.12.0 License: MIT
  • candle-core
    Pure-Rust tensor engine — runs the on-device chat model.
    Version: 0.9 License: MIT OR Apache-2.0
  • candle-nn
    Neural-network layers for the above.
    Version: 0.9 License: MIT OR Apache-2.0
  • candle-transformers
    Qwen and Whisper model implementations.
    Version: 0.9 License: MIT OR Apache-2.0
  • tokenizers
    Text ↔ token conversion for both model families.
    Version: 0.21 License: Apache-2.0
  • hound
    WAV decoding for the microphone audio Whisper transcribes.
    Version: 3.5 License: Apache-2.0

Vendored C in the same binary

These are compiled from bundled source into the native library rather than linked from the system, and they are not Cargo packages — so they appear in no crate list, including the one above. Each is licensed separately from the Rust crate that carries it. The full notices ship inside the app, under Settings → Licenses.

  • SQLCipher
    Whole-database encryption for the vault, layered under the per-entry sealing. Copyright Zetetic LLC.
    Version: bundled via libsqlite3-sys 0.30 License: BSD-3-Clause
  • OpenSSL
    The cryptographic primitives SQLCipher uses. Reaches the binary through a build dependency, so it appears in no normal dependency listing.
    Version: 3.6.3, via openssl-src License: Apache-2.0
  • Oniguruma
    Regex engine inside the tokenizer used by on-device inference. Copyright K. Kosako.
    Version: bundled via onig_sys 69.9 License: BSD-2-Clause
  • sais-lite
    Suffix-array construction inside the tokenizer. Copyright Yuta Mori; its notice lives in the source file, not a licence file.
    Version: bundled via esaxx-rs 0.1 License: MIT
  • Dart SDK (dart_api_dl.c)
    The C shim the Rust core uses to talk to the Dart VM. Copyright the Dart project authors.
    Version: via dart-sys 4.1 and flutter_rust_bridge 2.12 License: BSD-3-Clause

Flutter app (the UI)

  • flutter_riverpod
    App-wide reactive state.
    Version: 2.5+ License: MIT
  • go_router
    Declarative routing.
    Version: 14+ License: BSD-3-Clause
  • flutter_secure_storage
    Platform secure storage for the recovery code.
    Version: 9+ License: BSD-3-Clause
  • local_auth
    Biometric unlock on iOS / Android / macOS.
    Version: 2+ License: BSD-3-Clause
  • package_info_plus
    App name + version display.
    Version: 8+ License: BSD-3-Clause
  • path_provider
    Resolves the app-support directory.
    Version: 2+ License: BSD-3-Clause
  • intl
    Locale-aware date formatting.
    Version: 0.19+ License: BSD-3-Clause
  • logging
    Structured app logs (debug-only).
    Version: 1+ License: BSD-3-Clause
  • meta
    Annotations like @immutable and @visibleForTesting.
    Version: 1.16 License: BSD-3-Clause
  • collection
    Equality helpers and list utilities.
    Version: 1.19 License: BSD-3-Clause
  • flutter_rust_bridge
    Dart side of the FFI bridge.
    Version: 2.12.0 License: MIT
  • dynamic_color
    Material You palette from the system wallpaper.
    Version: 1.8 License: Apache-2.0
  • in_app_purchase
    Depth plans through the platform store.
    Version: 3.2 License: BSD-3-Clause
  • in_app_purchase_android
    Play Billing specifics (plan changes, acknowledgement).
    Version: 0.4 License: BSD-3-Clause
  • in_app_review
    The OS review prompt, shown at most once.
    Version: 2.0 License: MIT
  • record
    Microphone capture for voice journaling.
    Version: 6.2 License: BSD-3-Clause
  • flutter_tts
    Spoken replies through the platform voice.
    Version: 4.2 License: MIT
  • flutter_local_notifications
    Local reminders. No push service is involved.
    Version: 22.0 License: BSD-3-Clause
  • timezone
    Schedules those reminders in your own timezone.
    Version: 0.11 License: BSD-2-Clause
  • flutter_timezone
    Reads that timezone from the OS.
    Version: 5.1 License: Apache-2.0
  • share_plus
    The system share sheet for exports.
    Version: 10.1 License: BSD-3-Clause
  • file_picker
    Choosing a file to import or a place to export.
    Version: 11.0 License: MIT
  • home_widget
    The home-screen widget and share-extension drop box.
    Version: 0.7 License: BSD-3-Clause
  • app_links
    Deep links into a conversation or entry.
    Version: 7.0 License: Apache-2.0
  • device_info_plus
    Device RAM, to pick a model tier that will actually run.
    Version: 12.4 License: BSD-3-Clause
  • crypto
    Checksums for downloaded model files.
    Version: 3.0 License: BSD-3-Clause
  • cupertino_icons
    iOS-style glyphs.
    Version: 1.0 License: MIT
  • freezed_annotation
    Annotations for generated immutable models.
    Version: 2.4 License: MIT
  • Material Icons / Cupertino Icons fonts
    The icon fonts every Flutter build embeds.
    Version: bundled License: Apache-2.0

This site

  • astro
    Site generator. Zero runtime JS by default.
    Version: 5.18+ License: MIT
  • @astrojs/sitemap
    sitemap.xml + sitemap-index.xml.
    Version: 3.7+ License: MIT
  • @tailwindcss/vite
    Utility-first CSS pipeline.
    Version: 4.1+ License: MIT
  • tailwindcss
    Utility CSS engine.
    Version: 4.1+ License: MIT
  • typescript
    Type-checks .astro / .ts files.
    Version: 5.9+ License: Apache-2.0

Downloadable AI models

Not shipped inside the app binary (too large for store base-size limits). Downloaded from Hugging Face on first use, into the app's private data dir. The license is the model author's.

  • Qwen 2.5 1.5B Instruct (Q4_K_M)
    The default free tier on 4 GB+ phones. Downloads on first use.
    Size: 1.5B License: Apache-2.0
  • Qwen 2.5 0.5B Instruct (Q4_K_M)
    Compact fallback for the most memory-constrained phones. Downloads on first use.
    Size: 0.5B License: Apache-2.0
  • Qwen 3 4B Instruct 2507 (Q4_K_M)
    Graphophone Depth tier, recommended on 8 GB+ phones and computers. Downloads on first use.
    Size: 4B License: Apache-2.0
  • Qwen 2.5 7B Instruct (Q4_K_M)
    Optional heaviest Graphophone Depth tier, recommended only on 16 GB+ desktops. Downloads on demand.
    Size: 7B License: Apache-2.0
  • all-MiniLM-L6-v2
    On-device sentence-embedding model for semantic search and ask-your-journal. Downloads on demand.
    Size: ~91 MB License: Apache-2.0
  • Whisper tiny.en
    On-device speech-to-text for voice journaling. Downloads on demand; the audio never leaves the device.
    Size: ~150 MB License: Apache-2.0

Our own code

Graphophone itself is closed-source, proprietary software. The libraries above are used under their own licenses, which are listed here and shipped in the app.

Your data outlives us

AI apps shut down. When they do, they can strand your most personal writing on a server you can't reach. Graphophone is built so that can't happen to you:

  • Your journal lives on your device as an encrypted vault you alone can open — not in an account on our servers.
  • One-button Markdown export writes every entry to a plain, Obsidian-compatible folder you can read in any text editor, with or without us.
  • The app runs fully offline by default. There is no server of ours in the loop, so there is nothing we could switch off that would take your journal with it.