{"id":48911906,"url":"https://github.com/icd360s-e-v/mail","last_synced_at":"2026-05-16T11:08:45.642Z","repository":{"id":350930540,"uuid":"1201512115","full_name":"ICD360S-e-V/mail","owner":"ICD360S-e-V","description":"Secure, end-to-end encrypted email client for desktop and mobile — Flutter, OpenPGP, mTLS, ClamAV, zero local storage","archived":false,"fork":false,"pushed_at":"2026-04-19T12:05:58.000Z","size":27738,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-19T12:32:32.804Z","etag":null,"topics":["clamav","cross-platform","dart","email-client","end-to-end-encryption","fluent-ui","flutter","imap","mtls","openpgp","pgp-mime","privacy","security","smtp","zero-knowledge"],"latest_commit_sha":null,"homepage":"https://icd360s.de","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ICD360S-e-V.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-04T19:23:41.000Z","updated_at":"2026-04-19T12:06:02.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ICD360S-e-V/mail","commit_stats":null,"previous_names":["icd360s-e-v/mail"],"tags_count":174,"template":false,"template_full_name":null,"purl":"pkg:github/ICD360S-e-V/mail","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ICD360S-e-V%2Fmail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ICD360S-e-V%2Fmail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ICD360S-e-V%2Fmail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ICD360S-e-V%2Fmail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ICD360S-e-V","download_url":"https://codeload.github.com/ICD360S-e-V/mail/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ICD360S-e-V%2Fmail/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32159962,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T17:06:48.269Z","status":"ssl_error","status_checked_at":"2026-04-22T17:06:19.037Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clamav","cross-platform","dart","email-client","end-to-end-encryption","fluent-ui","flutter","imap","mtls","openpgp","pgp-mime","privacy","security","smtp","zero-knowledge"],"created_at":"2026-04-17T00:06:00.049Z","updated_at":"2026-04-29T23:05:18.370Z","avatar_url":"https://github.com/ICD360S-e-V.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/logo.png\" width=\"120\" alt=\"ICD360S Mail\"\u003e\n\n  # ICD360S Mail\n\n  **Secure, end-to-end encrypted email for desktop and mobile**\n\n  Your emails are encrypted so only you and your recipient can read them.\n\n  \u003cbr/\u003e\n\n  [![Release](https://img.shields.io/github/v/release/ICD360S-e-V/mail?style=for-the-badge\u0026logo=github\u0026color=0078D4)](https://github.com/ICD360S-e-V/mail/releases/latest)\n  [![Build](https://img.shields.io/github/actions/workflow/status/ICD360S-e-V/mail/build-all-platforms.yml?style=for-the-badge\u0026label=build\u0026color=107C10)](https://github.com/ICD360S-e-V/mail/actions)\n  [![License](https://img.shields.io/badge/AGPL--3.0-3F51B5?style=for-the-badge\u0026logo=gnu\u0026logoColor=white)](LICENSE)\n  [![REUSE](https://img.shields.io/badge/REUSE-compliant-4CAF50?style=for-the-badge)](REUSE.toml)\n\n  \u003cbr/\u003e\n\n  \u003cimg src=\"https://img.shields.io/badge/E2E_Encrypted-00C853?style=for-the-badge\u0026logoColor=white\" alt=\"E2E\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Zero_Knowledge-FF6D00?style=for-the-badge\u0026logoColor=white\" alt=\"Zero Knowledge\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Zero_Telemetry-D50000?style=for-the-badge\u0026logoColor=white\" alt=\"Zero Telemetry\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Self--Hosted-1565C0?style=for-the-badge\u0026logoColor=white\" alt=\"Self-Hosted\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/WCAG_2.1_AA-4CAF50?style=for-the-badge\u0026logoColor=white\" alt=\"WCAG\"\u003e\n\n  \u003cbr/\u003e\u003cbr/\u003e\n\n  [![Flutter](https://img.shields.io/badge/Flutter-02569B?style=flat-square\u0026logo=flutter\u0026logoColor=white)](https://flutter.dev)\n  [![OpenPGP](https://img.shields.io/badge/OpenPGP_RFC_9580-333333?style=flat-square\u0026logo=gnuprivacyguard\u0026logoColor=white)](https://www.rfc-editor.org/rfc/rfc9580)\n  [![mTLS](https://img.shields.io/badge/Mutual_TLS-006064?style=flat-square\u0026logoColor=white)]()\n  [![DANE](https://img.shields.io/badge/DANE+DNSSEC-4527A0?style=flat-square\u0026logoColor=white)]()\n  [![WKD](https://img.shields.io/badge/WKD+Autocrypt-1B5E20?style=flat-square\u0026logoColor=white)]()\n\n\u003c/div\u003e\n\n---\n\n\u003e [!IMPORTANT]\n\u003e **Your emails are never stored on your device.** They are fetched live over mutually authenticated TLS and displayed in memory only. No forensic artifact remains after the app closes.\n\n---\n\n## How It Works\n\n```mermaid\ngraph LR\n    A[\"Your Device\"] --\u003e|\"mTLS + E2EE\"| B[\"mail.icd360s.de\"]\n    B --\u003e|\"PGP Encrypted\"| C[\"Recipient\"]\n    B --\u003e|\"DANE + DNSSEC\"| D[\"DNS\"]\n    style A fill:#1565C0,stroke:#0D47A1,color:#fff\n    style B fill:#2E7D32,stroke:#1B5E20,color:#fff\n    style C fill:#1565C0,stroke:#0D47A1,color:#fff\n    style D fill:#4527A0,stroke:#311B92,color:#fff\n```\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n### :eye: What the server sees\n- Sender address\n- Recipient address\n- Subject line\n- Date and time\n- Message size\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n### :lock: What's encrypted (E2EE)\n- **Message body**\n- **Attachments**\n- **Attachment names \u0026 types**\n- **Inner MIME structure**\n- **Everything inside the payload**\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## Features\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd valign=\"top\" width=\"50%\"\u003e\n\n### :lock: Encryption\n- **OpenPGP E2EE** — PGP/MIME (RFC 3156)\n- **Native Go engine** — 27 MB in \u003c 1 sec\n- **TOFU key pinning** — warns on key change\n- **Zero-access storage** — admin can't read mail\n- **WKD** — auto key discovery for Thunderbird/ProtonMail\n- **Autocrypt** — key exchange in every email\n- **Password-protected mail** — AES-256-GCM for external recipients\n\n\u003c/td\u003e\n\u003ctd valign=\"top\" width=\"50%\"\u003e\n\n### :shield: Authentication\n- **Mutual TLS** — per-user client certificates\n- **Device approval** — admin-controlled enrollment\n- **Remote revocation** — instant wipe on revoke\n- **PIN unlock** — randomized keypad layout\n- **DANE + DNSSEC** — verified transport\n- **ARC signing** — auth preserved on forward\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd valign=\"top\" width=\"50%\"\u003e\n\n### :see_no_evil: Privacy\n- **RAM-only cache** — zero disk, wiped on lock\n- **Self-hosted DoH** — no Google, no Cloudflare\n- **Header stripping** — IP/hostname removed from outgoing\n- **PII-safe logging** — auto-redaction of sensitive data\n- **No telemetry** — zero analytics, zero tracking\n\n\u003c/td\u003e\n\u003ctd valign=\"top\" width=\"50%\"\u003e\n\n### :bar_chart: Security Monitoring\n- **10 health checks** every 30 minutes\n- SPF, DKIM, DMARC, MTA-STS, TLS-RPT\n- CAA, DNSSEC, DANE (TLSA)\n- IPv4/IPv6 blacklist (43 providers)\n- **Recipient security** in compose — E2EE / DANE / TLS / Plaintext\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n---\n\n## Cryptography\n\n\u003e [!NOTE]\n\u003e All cryptographic operations use modern, audited standards. No legacy algorithms.\n\n| Component | Standard |\n|:---|:---|\n| :key: Signing | Ed25519 (EdDSA) |\n| :closed_lock_with_key: Encryption | X25519 / ECDH (Curve25519) |\n| :envelope: Messages | OpenPGP (RFC 9580, PGP/MIME RFC 3156) |\n| :bank: Vault | AES-256-GCM + Argon2id (64 MiB / 3 iters / 4 threads) |\n| :satellite: Transport | Mutual TLS + DANE (TLSA 3 1 1) + DNSSEC |\n| :mag: Key discovery | WKD + Autocrypt Level 1 |\n\n---\n\n## Download\n\n\u003e [!TIP]\n\u003e All downloads are served over HTTPS with cryptographically signed version verification.\n\n### Desktop\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"200\"\u003e\n\u003cbr/\u003e\u003ca href=\"https://mail.icd360s.de/downloads/mail/windows/icd360s-mail-setup.exe\"\u003e\u003cimg src=\"https://img.shields.io/badge/Windows-0078D4?style=for-the-badge\u0026logo=windows\u0026logoColor=white\" alt=\"Windows\"/\u003e\u003c/a\u003e\u003cbr/\u003e\u003cbr/\u003e\n\u003cimg src=\"https://api.qrserver.com/v1/create-qr-code/?size=120x120\u0026data=https://mail.icd360s.de/downloads/mail/windows/icd360s-mail-setup.exe\" width=\"120\" alt=\"QR\"/\u003e\u003cbr/\u003e\u003cbr/\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"200\"\u003e\n\u003cbr/\u003e\u003ca href=\"https://mail.icd360s.de/downloads/mail/macos/icd360s-mail.dmg\"\u003e\u003cimg src=\"https://img.shields.io/badge/macOS-000000?style=for-the-badge\u0026logo=apple\u0026logoColor=white\" alt=\"macOS\"/\u003e\u003c/a\u003e\u003cbr/\u003e\u003cbr/\u003e\n\u003cimg src=\"https://api.qrserver.com/v1/create-qr-code/?size=120x120\u0026data=https://mail.icd360s.de/downloads/mail/macos/icd360s-mail.dmg\" width=\"120\" alt=\"QR\"/\u003e\u003cbr/\u003e\u003cbr/\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"200\"\u003e\n\u003cbr/\u003e\u003ca href=\"https://mail.icd360s.de/downloads/mail/linux/icd360s-mail.AppImage\"\u003e\u003cimg src=\"https://img.shields.io/badge/Linux-FCC624?style=for-the-badge\u0026logo=linux\u0026logoColor=black\" alt=\"Linux\"/\u003e\u003c/a\u003e\u003cbr/\u003e\u003cbr/\u003e\n\u003cimg src=\"https://api.qrserver.com/v1/create-qr-code/?size=120x120\u0026data=https://mail.icd360s.de/downloads/mail/linux/icd360s-mail.AppImage\" width=\"120\" alt=\"QR\"/\u003e\u003cbr/\u003e\u003cbr/\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ckbd\u003eLinux packages: DEB, RPM, tar.gz\u003c/kbd\u003e\u003c/summary\u003e\n\n| Format | Download |\n|:---|:---|\n| DEB (Ubuntu/Debian) | [icd360s-mail.deb](https://mail.icd360s.de/downloads/mail/linux/icd360s-mail.deb) |\n| RPM (Fedora/RHEL) | [icd360s-mail.rpm](https://mail.icd360s.de/downloads/mail/linux/icd360s-mail.rpm) |\n| tar.gz | [icd360s-mail-linux.tar.gz](https://mail.icd360s.de/downloads/mail/linux/icd360s-mail-linux.tar.gz) |\n\n\u003c/details\u003e\n\n### Mobile\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"250\"\u003e\n\u003cbr/\u003e\u003ca href=\"https://mail.icd360s.de/downloads/mail/android/universal/app-arm64-v8a-universal-release.apk\"\u003e\u003cimg src=\"https://img.shields.io/badge/Android_(ARM64)-3DDC84?style=for-the-badge\u0026logo=android\u0026logoColor=white\" alt=\"Android\"/\u003e\u003c/a\u003e\u003cbr/\u003e\u003cbr/\u003e\n\u003cimg src=\"https://api.qrserver.com/v1/create-qr-code/?size=120x120\u0026data=https://mail.icd360s.de/downloads/mail/android/universal/app-arm64-v8a-universal-release.apk\" width=\"120\" alt=\"QR\"/\u003e\u003cbr/\u003e\u003cbr/\u003e\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"250\"\u003e\n\u003cbr/\u003e\u003ca href=\"https://mail.icd360s.de/downloads/mail/ios/icd360s-mail.ipa\"\u003e\u003cimg src=\"https://img.shields.io/badge/iOS-000000?style=for-the-badge\u0026logo=apple\u0026logoColor=white\" alt=\"iOS\"/\u003e\u003c/a\u003e\u003cbr/\u003e\u003cbr/\u003e\n\u003cimg src=\"https://api.qrserver.com/v1/create-qr-code/?size=120x120\u0026data=https://mail.icd360s.de/downloads/mail/ios/icd360s-mail.ipa\" width=\"120\" alt=\"QR\"/\u003e\u003cbr/\u003e\u003cbr/\u003e\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ckbd\u003eAndroid flavors: F-Droid, Samsung, Huawei, Google Play\u003c/kbd\u003e\u003c/summary\u003e\n\n| Flavor | ARM64 | ARMv7 | x86_64 |\n|:---|:---|:---|:---|\n| Universal | [Download](https://mail.icd360s.de/downloads/mail/android/universal/app-arm64-v8a-universal-release.apk) | [Download](https://mail.icd360s.de/downloads/mail/android/universal/app-armeabi-v7a-universal-release.apk) | [Download](https://mail.icd360s.de/downloads/mail/android/universal/app-x86_64-universal-release.apk) |\n| F-Droid | [Download](https://mail.icd360s.de/downloads/mail/android/fdroid/app-arm64-v8a-fdroid-release.apk) | [Download](https://mail.icd360s.de/downloads/mail/android/fdroid/app-armeabi-v7a-fdroid-release.apk) | [Download](https://mail.icd360s.de/downloads/mail/android/fdroid/app-x86_64-fdroid-release.apk) |\n| Samsung | [Download](https://mail.icd360s.de/downloads/mail/android/samsung/app-arm64-v8a-samsung-release.apk) | [Download](https://mail.icd360s.de/downloads/mail/android/samsung/app-armeabi-v7a-samsung-release.apk) | [Download](https://mail.icd360s.de/downloads/mail/android/samsung/app-x86_64-samsung-release.apk) |\n| Huawei | [Download](https://mail.icd360s.de/downloads/mail/android/huawei/app-arm64-v8a-huawei-release.apk) | [Download](https://mail.icd360s.de/downloads/mail/android/huawei/app-armeabi-v7a-huawei-release.apk) | [Download](https://mail.icd360s.de/downloads/mail/android/huawei/app-x86_64-huawei-release.apk) |\n| Google Play | [Download](https://mail.icd360s.de/downloads/mail/android/googleplay/app-arm64-v8a-googleplay-release.apk) | [Download](https://mail.icd360s.de/downloads/mail/android/googleplay/app-armeabi-v7a-googleplay-release.apk) | [Download](https://mail.icd360s.de/downloads/mail/android/googleplay/app-x86_64-googleplay-release.apk) |\n\n\u003c/details\u003e\n\n---\n\n## Building from Source\n\n```bash\ngit clone https://github.com/ICD360S-e-V/mail.git\ncd mail \u0026\u0026 flutter pub get\nflutter run -d macos    # or: windows, linux\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ckbd\u003ePlatform requirements\u003c/kbd\u003e\u003c/summary\u003e\n\n| Platform | Requirements |\n|:---|:---|\n| All | Flutter 3.41+, Dart 3.6+ |\n| Android | Java 17, Android SDK |\n| iOS/macOS | Xcode 15+ |\n| Linux | `libgtk-3-dev`, `libsecret-1-dev`, `libjsoncpp-dev` |\n| Windows | Visual Studio 2022 with C++ workload |\n\n\u003c/details\u003e\n\n---\n\n## About ICD360S e.V.\n\n[ICD360S e.V.](https://icd360s.de) is a registered German nonprofit (*eingetragener Verein*). Every active member receives a free, secure `@icd360s.de` email account with E2E encryption and cross-platform access.\n\n\u003e [!CAUTION]\n\u003e The live service at `mail.icd360s.de` is available **exclusively to members**. This repository contains the open-source code — the operational service is private.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n[:scroll: Security Policy](SECURITY.md) · [:wheelchair: Accessibility](ACCESSIBILITY.md) · [:handshake: Contributing](CONTRIBUTING.md) · [:page_facing_up: License](LICENSE)\n\n\u003cbr/\u003e\n\n**[ICD360S e.V.](https://icd360s.de)** · Amtsgericht Memmingen, VR 201335\n\n[kontakt@icd360s.de](mailto:kontakt@icd360s.de) · [Impressum](https://icd360s.de/impressum/) · [Datenschutz](https://icd360s.de/datenschutz/)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficd360s-e-v%2Fmail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficd360s-e-v%2Fmail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficd360s-e-v%2Fmail/lists"}