commit c48dd1b4890a748a3588785dae1f32ac29a0e53a Author: Eugen Kaparulin Date: Wed Apr 15 13:16:50 2026 +0300 Initial public repo: README, LICENSE, and logo Sets up the Korax public Gitea presence with a comprehensive README targeting both end users and technical audiences, PolyForm Noncommercial license for the mailcore open-source engine, and the project logo. Co-Authored-By: Claude Sonnet 4.6 diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..3a83578 --- /dev/null +++ b/LICENSE @@ -0,0 +1,120 @@ +PolyForm Noncommercial License 1.0.0 + +Scope: This license applies to the mailcore/ directory of the Korax project. +All other parts of the Korax project remain proprietary. +© Eugen Kaparulin. All rights reserved. + +--- + +# PolyForm Noncommercial License 1.0.0 + + + +## Acceptance + +In order to get any license under these terms, you must agree +to them as both strict obligations and conditions to all +your licenses. + +## Copyright License + +The licensor grants you a copyright license for the software +to do everything you might do with the software that would +otherwise infringe the licensor's copyright in it for any +permitted purpose, other than distributing the software or +making changes or new works based on the software. + +## Noncommercial Purposes + +Any noncommercial purpose is a permitted purpose. + +## Personal Uses + +Personal use for research, experiment, and testing for +the benefit of public knowledge, personal study, private +entertainment, hobby projects, amateur pursuits, or religious +observance, without any anticipated commercial application, +is use for a permitted purpose. + +## Noncommercial Organizations + +Use by any charitable organization, educational institution, +public research organization, public safety or health +organization, environmental protection organization, +or government institution is use for a permitted purpose +regardless of the source of funding or obligations resulting +from the funding. + +## Fair Use + +You may have "fair use" rights for the software under the +law. These terms do not limit them. + +## No Other Rights + +These terms do not allow you to sublicense or transfer any of +your licenses to anyone else, or prevent the licensor from +granting licenses to anyone else. These terms do not imply +any other licenses. + +## Patent License + +The licensor grants you a patent license for the software that +covers patent claims the licensor can license, or will be able +to license, that you would infringe by using the software. + +## Noncommercial Purposes + +Any noncommercial purpose is a permitted purpose. + +## No Other Rights + +These terms do not allow you to sublicense or transfer any of +your licenses to anyone else, or prevent the licensor from +granting licenses to anyone else. These terms do not imply +any other licenses. + +## Violations + +The first time you are notified in writing that you have +violated any of these terms, or done anything with the software +not covered by your licenses, your licenses can nonetheless +continue if you come into full compliance within 32 days after +receiving notice. Otherwise, all your licenses end permanently. + +## No Liability + +***As far as the law allows, the software comes as is, without +any warranty or condition, and the licensor will not be liable +to you for any damages arising out of these terms or the use +or nature of the software, under any kind of legal claim.*** + +## Definitions + +The **licensor** is the individual or entity offering these +terms, and the **software** is the software the licensor makes +available under these terms. + +**You** refers to the individual or entity agreeing to these +terms. + +**Your company** is any legal entity, sole proprietorship, +or other kind of organization that you work for, plus all +its affiliates. + +**Affiliates** means the other organizations than a parent +organization in any way controlling, controlled by, or under +common control with that organization. + +**Control** means ownership of substantially all the assets of +an entity, or the power to direct its management and legal +affairs. + +**Your licenses** are all the licenses granted to you for the +software under these terms. + +**Use** means anything you do with the software requiring one +of your licenses. + +**Trademark** means trademarks, service marks, and similar +rights. diff --git a/README.md b/README.md new file mode 100644 index 0000000..093418e --- /dev/null +++ b/README.md @@ -0,0 +1,135 @@ +
+ Korax + + # Korax + + **PGP-First Email. Private by Default.** + + [![License: PolyForm Noncommercial](https://img.shields.io/badge/license-PolyForm%20Noncommercial-blue)](LICENSE) + [![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20Android%20%7C%20iOS-lightgrey)]() + [![Status](https://img.shields.io/badge/status-Beta-orange)]() + +
+ +--- + +Korax is an email client built around a single principle: **encryption should be the default, not the exception.** + +Most clients bolt PGP on as an afterthought — a plugin, a hidden setting, a third-party extension. Korax is designed from the ground up so that signing, encryption, and key management are a seamless part of your everyday workflow. Your mail stays between you and the people you write to. + +--- + +## Features + +- **PGP encryption and signing — native, not a plugin.** Compose encrypted mail as naturally as plain text. +- **TOFU trust model.** "Trust On First Use" with visual indicators: see at a glance whether a contact's key is known, trusted, or changed. +- **No tracking pixels.** Remote images are blocked by default. Autoload only for contacts whose public key you have saved. +- **Local-first.** All messages cached in SQLite on your device. Instant load, works offline, nothing sent to any cloud. +- **Multi-language.** English, German, Spanish, Finnish, Russian, Swedish. +- **Linux: always free, always fully unlocked.** No paywall, no nag screens. Honor system. + +--- + +## Download + +### Linux (AppImage) + +The Linux release is a self-contained AppImage — no installation required. + +1. Download `Korax-x86_64.AppImage` from the [Releases](../../releases) page. +2. Make it executable: + ```bash + chmod +x Korax-x86_64.AppImage + ``` +3. Run: + ```bash + ./Korax-x86_64.AppImage + ``` + +### macOS · Android · iOS + +Coming soon. + +--- + +## Free vs Pro + +| Feature | Free | Pro | +|---|:---:|:---:| +| Send & receive email | ✓ | ✓ | +| IMAP accounts | Max 3 | Unlimited | +| Basic PGP encryption / decryption | ✓ | ✓ | +| Import PGP identity | ✓ (max 1) | ✓ (unlimited) | +| Generate PGP keypair | — | ✓ | +| Keyserver auto-lookup (WKD) | — | ✓ | +| Custom themes / swipe actions | — | ✓ | +| **Linux** | **Always Pro** | **Always Pro** | + +Pro is a one-time purchase. All Pro features are free during the current beta period. + +--- + +## Under the Hood + +### Architecture + +``` +Flutter UI (Dart) + │ +flutter_rust_bridge (FFI) + │ + mailcore (Rust) + ├── IMAP client + ├── SMTP client + ├── SQLite storage + ├── MIME parser + └── DNS SRV discovery +``` + +The UI layer never blocks: all network and crypto operations run in Rust, communicated to Dart via an FFI bridge with zero copy overhead. + +| Layer | Technology | +|---|---| +| UI | Flutter / Dart | +| Core engine | Rust (`mailcore`) | +| FFI bridge | flutter_rust_bridge | +| Cryptography | sequoia-openpgp | +| Local storage | SQLite | +| State management | Riverpod | + +--- + +### mailcore — Open Source Engine + +`mailcore` is the Rust library at the heart of Korax. It handles everything below the UI: + +- **IMAP client** — RFC 3501 compliant, UIDVALIDITY-aware, uses `BODY.PEEK[]` to preserve `\Seen` flag integrity +- **SMTP client** — RFC 5321 with STARTTLS and SMTPS +- **SQLite storage layer** — local message cache, folder state, account credentials +- **MIME parser** — RFC 2045/2046 multipart handling +- **DNS SRV auto-discovery** — resolves `_imaps._tcp` and `_submission._tcp` before falling back to defaults; same mechanism used by Thunderbird, Evolution, and others + +The source is published here for transparency and community audit. It is licensed under the [PolyForm Noncommercial License 1.0.0](LICENSE) — free to read, study, and use for noncommercial purposes. Commercial use requires a separate agreement. + +**What stays proprietary:** + +The PGP/Sequoia integration, advanced privacy features, and the Flutter UI (`korax/`) are not published. A second Rust library — `mailmore` — will eventually hold additional proprietary engine capabilities. + +--- + +## Security + +**Reporting vulnerabilities:** Do not open a public issue. Contact the maintainer directly at the address shown in the application's About screen. + +**Key storage:** Private keys are never written to SQLite or disk in plaintext. On every platform, they are stored in the OS secure enclave (iOS Keychain, macOS Keychain, Android Keystore). + +--- + +## About + +Created by **Eugen Kaparulin**. +Official binaries distributed by **K-Ops Oy**. + +© Eugen Kaparulin. All rights reserved. +`mailcore` is published under the [PolyForm Noncommercial License 1.0.0](LICENSE). +All other parts of Korax are proprietary. diff --git a/images/korax.png b/images/korax.png new file mode 100644 index 0000000..1ee25f7 Binary files /dev/null and b/images/korax.png differ