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 <noreply@anthropic.com>
This commit is contained in:
Eugen Kaparulin
2026-04-15 13:16:50 +03:00
commit c48dd1b489
3 changed files with 255 additions and 0 deletions

135
README.md Normal file
View File

@@ -0,0 +1,135 @@
<div align="center">
<img src="images/korax.png" alt="Korax" width="160"/>
# 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)]()
</div>
---
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.