Skip to content

Repository files navigation

Nyrex 🚀

License: CC BY-NC-SA 4.0 Rust Flutter

The Swiss Army knife for your digital life.
A personal productivity platform built with Flutter and Rust. Local-first, E2E Encrypted, and designed for absolute data sovereignty.


🏗️ Architecture: The Nyrex Pillar

Nyrex is designed as a Local-first application. Your device is the absolute source of truth. The backend exists strictly as a high-performance Sync & Search target.

🛡️ Security by Design (SOTA)

We don't settle for "good enough". Nyrex implements state-of-the-art cryptographic primitives:

  • Identity & Auth: EdDSA (Ed25519) asymmetric signing for JWTs. No shared secrets for verification.
  • Password Hashing: Argon2id (OWASP recommended) for session verification.
  • Token Integrity: BLAKE3 for high-performance and secure entry fingerprinting.
  • Data Vault: AES-256-GCM encryption (Local-only keys). Your data syncs as opaque ciphertext; the backend sees nothing.

📁 Monorepo Structure

services/ (The Cloud Layer)

  • api/: Axum-based entry point. Identity management and sync routing.
  • sync/: (In Progress) The Event Log and CRDT conflict resolution engine.
  • search/: Meilisearch bridge for high-speed full-text search.

crates/ (Shared Logic)

  • core/: Shared Domain Models, Errors, and Traits (The "Brain").
  • crypto/: Reusable cryptographic pipelines (AES-GCM, KDF).
  • store/: PostgreSQL engine using sqlx with offline-ready prepared queries.

apps/ (The Client)

  • flutter/: Universal UI for Mobile and Desktop.

🛠️ Quick Start

1. Backend Environment

Copy the example environment file and fill in your secrets:

cp .env.example .env

Note: For EdDSA, you need an Ed25519 key pair in Base64 format. See .env.example for details.

2. Infrastructure (Docker)

Launch the database and required services:

cd infra/docker
docker compose up -d

3. Run the API

cd services/api
cargo run

📜 Principles

  1. Offline-First: Data must load instantly from local SQLite. No loading spinners for local data.
  2. Modular: Every feature is a pluggable module.
  3. Rust-Powered: Heavy lifting and security are handled by type-safe, memory-safe Rust code.

⚖️ License

Licensed under CC BY-NC-SA 4.0. See LICENSE for details.

Note

Licensing Transparency: As the sole author, I reserve the right to change the license for future versions or commercialize specific modules. Existing versions remain under their original license. This ensures Nyrex can evolve while protecting early contributions and data sovereignty.

About

A personal, local-first toolkit built with Flutter & Rust. Modular, encrypted, and fully self-owned. Not a SaaS—your data, your rules.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages