Нативно масштабируется.Безопасен в самой основе.
Нативный почтовый клиент FOLD создан для тех, кто относится к своей почте всерьёз: инженеров, исследователей, журналистов, системных администраторов. Собственный движок IMAP, встроенные S/MIME и OpenPGP, никакой телеметрии. Безопасность здесь не завершающий штрих, а обязательное условие проектирования.
- Зависимости
- 0
- сторонних пакетов в движке и интерфейсе, 103 000 строк на Swift
Загнутый уголок: у утверждения есть источник, он указан внизу ячейки. Все источники
Что работает сегодня
TestFlight · macOS и iOS · по состоянию на 2026-09- Единые «Входящие» для всех учётных записейобщая папка входящих
- Дельта-синхронизация и pushCONDSTORE QRESYNC IDLE
- Отправка с отменойот 0 до 30 с исходящие
- Зашифрованная почтаS/MIME OpenPGP
- Проверка отправителя на устройствеDKIM DMARC BIMI
- Режим Fortressдля каждой учётной записи Argon2id
- Четыре языка интерфейсаанглийский немецкий японский арабский
- Правила для каждого нового письмафильтры в синтаксисе поиска
500 000 писем. Время замерено.
Движок хранения данных, проверенный бенчмарком на синтетическом почтовом ящике в полмиллиона писем.
- 58 мс
- полнотекстовый поиск по 500 000 писем
- 0,7 мс
- чтение 50 заголовков писем из SQLite
- 9 мс
- открытие хранилища, первый снимок индекса
- 67 с
- на запись 500 000 писем в хранилище
FoldBench, релизная сборка, Apple M1 Ultra, macOS 27, медиана пяти прогонов. Это замеры движка хранения данных. Холодный запуск приложения, время кадра и расход памяти заданы ниже как бюджет и пока не измеряются.
Почта нужна для работы, а не для рекламы.
Многие почтовые клиенты пропускают вашу почту через облако производителя, тянут за собой пол-интернета в виде зависимостей и называют баннеры продуктивностью. FOLD идёт другим путём: меньше кода, меньше поверхности атаки, меньше допущений.
Только нужное
Ответ открывается с полем «Кому». Поля «Копия» и «Скрытая копия» появляются, когда вы их запросите. Всё, что есть на экране, должно заслужить своё место.
Клавиатура прежде всего
На Mac сочетание ⌘K ведёт к созданию письма, ответу, перемещению, к любой папке и любой учётной записи. Поиск понимает операторы вроде from:, is:unread, before:6m и /regex/.
Происхождение, которое можно проверить
FOLD проверяет подписи DKIM на вашем устройстве и сопоставляет их с DMARC. Вы видите, действительно ли письмо пришло с домена, который в нём указан, а не то, что об этом утверждает сервер.
RFC 6376 8463 7489
Архив, по которому всегда можно искать
Поиск по всем учётным записям, в том числе без сети, по теме, отправителю и получателю. Разговоры собираются в цепочки по Message-ID и References, поэтому не распадаются ни между учётными записями, ни с годами.
цепочки по JWZ SQLite FTS5
Как устроен FOLD.
Четыре стилизованных вида, нарисованных по работающей сборке. Настоящие снимки экрана появятся вместе с релизом.
Три колонки
Почтовый ящик, список писем, содержимое письма. На Mac всё рассчитано на клавиатуру и трекпад, на iPad те же три колонки в системном разделённом представлении.
Палитра команд
Создание письма, ответ, перемещение, смена учётной записи и переход к любой папке через ⌘K. Операторы поиска, например from:, is:unread и /regex/, прямо в поле ввода.
Инспектор заголовков и безопасности
Исходные заголовки, а для каждой подписи DKIM её домен, селектор и алгоритм. На Mac окно активности показывает шаги синхронизации и журнал SMTP-сеанса; всё это хранится только в оперативной памяти.
Просмотр разговоров
Цепочки строятся по алгоритму JWZ из References и In-Reply-To, дубликаты между учётными записями убираются по Message-ID, а читается всё как история, сложенная стопкой. Один переключатель в настройках.
Один синтаксис везде.
Поле поиска, палитра команд, правила фильтрации и командная строка используют один парсер. Правило состоит из сохранённого поиска и действия.
from:[email protected] is:unread after:2026-01-01 -is:flagged
subject:"deploy failed" /timeout|5\d\d/
size:>10M before:6m is:unread$ foldmail search 'from:[email protected] is:unread' --quiet \
| xargs foldmail flag --add '\Seen'
$ echo $?
0Скажите, что ищете
from:, to:, cc:, subject:, is:unread, is:flagged, label:, size:>10M, before: и after: с датами или 30d, 6m, 1y. AND, OR, скобки, фразы в кавычках и минус, чтобы исключить статус, например -is:read. По-немецки тоже: von:, betreff:, ist:ungelesen.
По всем учётным записям
SQLite FTS5 по темам, отправителям и получателям, сразу по всем учётным записям и без сети. /regex/ сужает результаты по теме и отправителю. Тексты писем в локальный индекс пока не входят; на iPhone и iPad FOLD может дополнительно запросить сервер.
Фильтры в том же синтаксисе
Пометить как прочитанное или непрочитанное, поставить флажок, переместить в папку. Правила срабатывают для каждого нового письма на Mac и iPhone, а предпросмотр заранее показывает, чего коснётся набор правил. Пересылка и автоответы пока недоступны.
foldmail
Подкоманды в стиле git: search, read, flag, delete, compose, outbox, filter. --json для машин, --quiet для вывода только ID, коды выхода от 0 до 4. Сегодня работает во внутренних сборках, в поставку приложения пока не входит.
Быстрые команды, Siri и Spotlight через App Intents, а также интерактивные виджеты. Общий слой действий, на котором они строятся, уже готов.
Собственный движок на Swift.
IMAP и SMTP написаны на Swift поверх потоков Foundation от Apple. Никакой почтовой библиотеки на C, никаких мостов, никаких SDK посередине.
Введите свой адрес
FOLD опрашивает сразу четыре источника: собственный кэш, одиннадцать встроенных профилей провайдеров, записи DNS SRV и файл autoconfig вашего домена. Центральная база данных Mozilla не запрашивается, поэтому ваш домен остаётся между вами и вашим провайдером. Пока вы не добавите учётную запись, FOLD не связывается ни с одним почтовым сервером.
OAuth там, где это важно
Google через OAuth 2 с PKCE в системном браузере: в приложении нет секрета клиента, токены обновляются сами. Вход через Microsoft подготовлен и ждёт регистрации клиента; до тех пор работают пароли приложений.
Псевдонимы: ответ с правильного адреса
Несколько учётных записей, у каждой несколько псевдонимов, и у каждого своё имя и своя подпись. Ответ уходит с того адреса, на который было отправлено письмо.
Только изменения
После первого прохода FOLD запоминает HIGHESTMODSEQ сервера и загружает только новые письма, изменённые флаги и удаления. Серверы без этого расширения получают чистую полную синхронизацию.
RFC 7162 CONDSTORE QRESYNC
В реальном времени через IDLE
Сервер сам сообщает о новой почте; FOLD обновляет сеанс каждые 25 минут. Серверы без IDLE опрашиваются.
RFC 2177
Рассчитан на большие объёмы
Каждое соединение и каждый уровень хранения работают в собственном акторе Swift. Один движок синхронизации обслуживает все учётные записи, по четыре соединения на каждую, и одно из них всегда остаётся свободным для того, что вы делаете прямо сейчас.
Уже работает в TestFlight.
Первая публичная версия выйдет в ближайшее время: для Mac в виде подписанной и нотаризованной прямой загрузки с этого сайта.
Пять уровней. Ни один не работает в одиночку.
У каждого уровня своя задача и свои тесты. Если один уступит, следующий выдержит.
- Безопасность в первую очередь, а не в последнюю.
- Проверяемость важнее удобства.
- Эшелонированная защита.
- Минимальная поверхность атаки.
- L1
TLS
Строгая проверка сертификата и имени хоста без возможности обхода. STARTTLS обязателен: если переход на TLS не удался или данные пришли раньше него, соединение разрывается. Незашифрованные IMAP и SMTP отклоняются.
- L2
Вход
OAuth 2 с PKCE, где провайдер это поддерживает. В SMTP SCRAM-SHA-256 идёт раньше CRAM-MD5 и PLAIN, а PLAIN используется только внутри TLS.
- L3
Песочница
App Sandbox и Hardened Runtime. Права: исходящие сетевые соединения, выбранные вами файлы, одна группа Связки ключей, контейнер iCloud для необязательной синхронизации. Никакого обхода проверки библиотек.
- L4
Связка ключей
Пароли и токены остаются в Связке ключей и привязаны к этому разблокированному устройству. По умолчанию ничего не синхронизируется; синхронизация паролей через Связку ключей iCloud включается отдельно и только с вашего согласия.
- L5
Отображение
JavaScript в HTML-письмах отключён. Удалённый контент ждёт вашего разрешения, нажатие на ссылку сначала показывает, куда она ведёт на самом деле, у сохранённых вложений стоит флаг карантина. У парсера MIME жёсткие ограничения на глубину вложенности, число частей и размер заголовков.
Режим Fortress
Шифрование поверх FileVault. Argon2id (64 МиБ, 3 прохода) превращает вашу парольную фразу в 256-битный ключ, который существует только в оперативной памяти. Каждая учётная запись получает собственный подключ HKDF, а AES-256-GCM запечатывает базу заголовков и кэш писем. После периода бездействия сейф запирается, а ключ стирается.
Проверено, а не заявлено: S/MIME и OpenPGP взаимодействуют с настоящими GnuPG и OpenSSL, DKIM совпадает байт в байт с тестовым вектором RFC 8463, набор регрессионных тестов воспроизводит исторические CVE почтовых клиентов, а пять целей фаззинга укрепляют парсеры.
S/MIME и OpenPGP. Оба встроены.
Подпись, шифрование и расшифровка на Mac и на iPhone, проверенные на настоящих GnuPG и OpenSSL.
Сертификаты: собраны и проверены
Импортируйте своё удостоверение .p12 и сертификаты получателей или позвольте FOLD собрать их из подписанных писем. Действительная подпись, сертификат которой не соответствует отправителю, помечается как недоверенная. На iPhone всё это тоже работает; там сертификаты получателей берутся из подписанных писем, ручной импорт появится позже.
Современное ядро, наследие под контролем
Подписи Ed25519, ключи шифрования Curve25519 и AES-256, всегда с проверкой целостности против EFAIL. RSA-ключи ваших собеседников продолжают работать. CAST5, IDEA, Blowfish, 3DES, а также подписи MD5 и SHA-1 отклоняются.
Создать или импортировать
Создавайте ключи Ed25519 и Curve25519 в FOLD или импортируйте своё хранилище ключей GnuPG. Закрытые ключи хранятся под защитой парольной фразы в сейфе Связки ключей, привязанном к этому устройству.
Видно прямо при вводе
Плашки получателей ещё во время ввода показывают, кто может получать зашифрованные письма. Подпись и шифрование: два переключателя, и ничего больше.
Проверено на вашем устройстве.
FOLD сам пересчитывает DKIM: хеш тела, ключ из DNS, канонизацию, подпись. Заголовок Authentication-Results от сервера не принимается на веру.
Вычисляется на вашем устройстве
Ed25519 байт в байт по эталонному вектору RFC 8463, RSA по тестовому письму, подписанному openssl. Ключи короче 1024 бит отклоняются. Запрос к DNS выполняется при загрузке текста письма.
Выравнивание по отправителю
FOLD сопоставляет собственный результат DKIM и результат SPF из заголовка сервера с видимым адресом в поле «От». Только такое сопоставление превращает подпись в доказательство.
RFC 7489
Молчит, если всё в порядке
Если всё сходится, вы ничего не видите. Пробел в проверке или подозрение на подделку отмечаются ненавязчиво, а инспектор перечисляет каждую подпись с доменом, селектором и алгоритмом. Для списков рассылки подсказка приглушена, чтобы она не теряла вес.
Проверенные логотипы брендов
Логотип отправителя появляется, только если DMARC пройден с принудительной политикой, а цепочка сертификата товарного знака ведёт к одному из встроенных корневых сертификатов BIMI. Логотип берётся из самого сертификата и очищается перед отрисовкой.
BIMI VMC встроенные корни
Фреймворки Apple. Swift 6. Собственный движок.
Нативное приложение на том, что уже есть в операционной системе. Никакого кроссплатформенного слоя, никакого веб-представления, наряженного под приложение.
Стек
- Язык
- Языковой режим Swift 6, строгая проверка параллелизма, ExistentialAny.
- Интерфейс
- В первую очередь SwiftUI. AppKit и UIKit только там, где SwiftUI не хватает.
- Сеть
- Собственный движок IMAP и SMTP на потоках Foundation, STARTTLS на действующем соединении. Никаких библиотек на C.
- Хранение
- SQLite без ORM: хранилище заголовков (WAL), кэш писем с адресацией по содержимому, полнотекстовый индекс (FTS5).
- Криптография
- CryptoKit, Security и CommonCrypto. Где у Apple нет нужного примитива, FOLD реализует его сам и проверяет по эталонным векторам: Argon2id, BLAKE2b, AES-OCB.
- Параллелизм
- 55 акторов Swift. Каждое соединение и каждый уровень хранения изолированы.
- Зависимости
- Движок и интерфейс: только системные фреймворки Apple. Механизм обновления прямой загрузки (Sparkle) находится исключительно в оболочке приложения.
Бюджет
Проектные цели- Холодный запуск
- ≤ 300 мс
- От нажатия до первой видимой строки списка
- Кадр при прокрутке
- ≤ 8 мс
- Жёсткий предел 16 мс, в том числе при 500 000 писем
- Поиск
- ≤ 50 / 200 мс
- Заголовки / полный текст
- Память
- 80 / 150 / 250 МБ
- Рабочий набор iPhone / iPad / Mac
Проектные цели из спецификации производительности. То, что измеряется уже сегодня, показано выше.
Текст каждого письма адресуется по его хешу
Кэш писем хранит каждый текст под его SHA-256. Одинаковое содержимое попадает на диск один раз, а текст, изменённый задним числом, не проходит проверку в момент загрузки. Кроме того, FOLD проверяет каждое полученное письмо на размер и полноту MIME-структуры и предлагает заново загрузить неполное, вместо того чтобы выдавать его за целое.
SHA-256 проверка при каждой загрузке
Какие RFC FOLD реализует, а какие пока нет
Все стандарты, по которым оценивают почтовый клиент, с их статусом в коде и причиной каждого пробела.
Все стандарты- Реализовано
- 58
- Частично
- 8
- Пока нет
- 10
- Сознательно нет
- 6
Короткие вопросы, короткие ответы.
Можно ли попробовать FOLD?
Скоро. Первая публичная версия для Mac вот-вот выйдет в виде подписанной прямой загрузки; iPhone и iPad последуют через App Store. На странице загрузки можно оставить свой адрес, и мы один раз сообщим вам, когда она выйдет.
Какие платформы поддерживаются?
macOS 13 Ventura и новее, iOS и iPadOS 18 и новее. Оба приложения используют один и тот же движок и уже сегодня работают в TestFlight. По некоторым функциям Mac впереди: перетаскивание, редактор смарт-папок, VIP-отправители и отображение квоты.
На каких языках говорит FOLD?
Интерфейс доступен на английском, немецком, японском и арабском языках, на Mac, iPhone и iPad. На iPhone и iPad язык можно выбрать прямо в приложении, независимо от языка системы.
Почему без сторонних библиотек?
Потому что каждая зависимость означает поверхность атаки. CryptoKit, Security, SQLite и Foundation покрывают всё, что нужно движку. Кто читает на Swift, может прочитать весь код, и никому не приходится доверять чужим результатам сборки. Единственное исключение составляет механизм обновления прямой загрузки.
Как насчёт OpenPGP и S/MIME?
S/MIME с удостоверениями .p12 и сертификатами получателей, RSA и AES; AES-GCM, который предусматривает S/MIME 4.0, пока не поддерживается. OpenPGP с подписями Ed25519, шифрованием Curve25519 и AES-256 с проверкой целостности, плюс RSA для существующих ключей, проверено на настоящем gpg; ключи версии 6 пока не поддерживаются. Взломанные варианты исключены намеренно: MD5, подписи SHA-1, CAST5, IDEA, 3DES и всё без проверки целостности.
Открыт ли исходный код FOLD?
Нет, код проприетарный, его выпускает Datargo GmbH. Его не принимают на веру, а проверяют: более 3000 автоматизированных тестов, проверки совместимости с Dovecot, gpg и openssl, а также внутренний аудит с позиции атакующего в июне 2026 года (65 находок, ни одной критической, все отслеживаются). Внешний тест на проникновение запланирован до публичного релиза.
Сколько будет стоить FOLD?
Цены пока не определены. Две вещи уже решены: функции безопасности никогда не станут платным дополнением, и модели на основе рекламы не будет.
Что происходит с моими данными?
Они остаются на вашем устройстве. FOLD обращается к вашим почтовым серверам, к DNS, при настройке к файлу autoconfig вашего домена, к Google для входа через OAuth и, ради логотипов BIMI, к серверу сертификатов отправителя, после того как DMARC пройден. Синхронизация через iCloud включается по желанию. Никакой телеметрии, никакого сборщика отчётов о сбоях.
Почта всерьёз.
На Mac, iPhone и iPad.
FOLD для Mac поставляется в виде подписанной и нотаризованной прямой загрузки с этого сайта. Версия для iPhone и iPad работает в TestFlight и выйдет через App Store.
К загрузке