Преимущество local-first приложений в приватности
Самые приватные данные — те, которые вы вообще не собираете. Local-first — это не просто выбор архитектуры, а самая простая политика конфиденциальности, какая только бывает.
Каждая политика конфиденциальности, которую вы когда-либо пробегали глазами, — это список обещаний по поводу данных, которые компания уже собрала. «Мы серьёзно относимся к вашей приватности». «Мы делимся только с доверенными партнёрами». «Мы можем хранить данные, если это необходимо».
Есть куда более короткая версия: вообще их не собирать.
В этом и заключается вся идея local-first программного обеспечения, и это фундамент, на котором построено каждое приложение MFKAPPS. Ваши данные живут на вашем устройстве. Не на моих серверах, потому что нет серверов, которые хранили бы ваши данные. Самый приватный байт — тот, что ни разу не покинул ваш телефон.
Что на самом деле означает local-first
Local-first означает, что источник истины — ваше устройство, а не облачная база данных. Приложение сначала читает и пишет локально, полностью работает офлайн и остаётся быстрым, потому что не ждёт похода по сети ради каждой мелочи.
В Granyn каждая записанная вами трата хранится на вашем устройстве. В Hydrame — каждый стакан воды тоже. Никакого аккаунта заводить не нужно, нет сервера синхронизации, что тихо зеркалит ваши привычки, нет аналитического конвейера, который восстанавливает ваш месяц из тысячи мелких событий.
Это не функция, которую я прикручиваю в конце. Это решение, принятое на первой же строке, потому что оно меняет всё, что идёт дальше.
Приватность по архитектуре, а не по обещанию
Вот различие, которое имеет значение. Облачное приложение обещает защищать ваши данные. Local-first приложение структурно неспособно злоупотребить данными, которых у него нет.
Подумайте о вопросах, на которые вынуждена отвечать типичная политика конфиденциальности:
- Где хранятся мои данные и как долго?
- Кто внутри компании имеет к ним доступ?
- Какие третьи стороны их получают?
- Что с ними станет, если компанию продадут или взломают?
Для local-first приложения большинство из них сводятся к одному ответу: они на вашем устройстве. Нет внутреннего доступа, потому что нет внутренней копии. Нет ничего значимого, что могла бы утечь при взломе сервера. Если я завтра закрою студию, ваши данные останутся ровно там, где были всегда, — у вас.
Нельзя потерять то, чем ты никогда не владел.
Честные компромиссы
Я не стану притворяться, что local-first достаётся бесплатно. Это не так, и я предпочитаю говорить о его цене прямо.
- Синхронизация сложнее. Перемещать данные между вашими собственными устройствами без центрального сервера — это настоящая инженерная работа. Когда я её добавлю, всё будет сделано аккуратно — в идеале со сквозным шифрованием, чтобы даже синхронизация не означала передачу ваших данных мне.
- Резервные копии — на вас (пока что). Я опираюсь на собственные системы резервного копирования платформы и предлагаю экспорт, чтобы вы никогда не оказались в западне. Ваши данные принадлежат вам, в формате, который вы можете унести в другое место.
- Некоторым функциям нужен сервер. И это нормально — когда какой-то функции он действительно понадобится, я прямо скажу об этом и соберу необходимый минимум, не больше.
Честность о компромиссах — часть уговора. Спокойные инструменты не вправе отмахиваться от трудных мест.
«Но ты же используешь Firebase и рекламу?»
Справедливый вопрос. Некоторые стандартные мобильные сервисы — отчёты о сбоях, базовая обезличенная аналитика, изредка реклама — могут обрабатывать ограниченные данные, и я точно указываю, какие именно, в политике конфиденциальности. Черта, которой я держусь, проста: содержимое, которое вы создаёте, остаётся локальным. Ваши траты, ваши записи, ваши настройки никогда не загружаются ко мне. Вспомогательные сервисы видят в лучшем случае обезличенные, агрегированные сигналы — и никогда сами персональные данные.
Почему это стоит усилий
Строить так медленнее и порой неудобно. Я всё равно так делаю, потому что приватность, которой приходится доверять, хрупка, а приватность, встроенная в архитектуру, долговечна. Одна вечно зависит от моего хорошего поведения. Другая не зависит от меня вовсе.
Это та приватность, которую я хотел бы от приложений на собственном телефоне. Поэтому именно такую я и создаю.
// По теме
Ещё из журнала
Разработка Granyn: трекер бюджета без входа в банк, всего на трёх таблицах
Как Granyn отслеживает расходы в разных валютах и распознаёт повторяющиеся счета, не подключая ни одного банковского аккаунта — схема Room под капотом и компромиссы, которые она навязывает.
Как я делал Stocky: предсказать, что заканчивается на вашей кухне — прямо на устройстве
Как Stocky превращает скан штрихкода и немного истории использования в список покупок, который появляется прежде, чем у вас что-то закончится — и вся математика, и все данные остаются на вашем телефоне.
OCR с приоритетом приватности на Android: как Subly читает счета без облака
Практическое руководство 2026 года по OCR на устройстве под Android с ML Kit Text Recognition — настройка, код и приёмы извлечения полей, которые держат данные пользователей вне ваших серверов.