Перейти к содержимому
Все записи

Преимущество local-first приложений в приватности

Самые приватные данные — те, которые вы вообще не собираете. Local-first — это не просто выбор архитектуры, а самая простая политика конфиденциальности, какая только бывает.

MFKAPPS 3 мин чтения

Каждая политика конфиденциальности, которую вы когда-либо пробегали глазами, — это список обещаний по поводу данных, которые компания уже собрала. «Мы серьёзно относимся к вашей приватности». «Мы делимся только с доверенными партнёрами». «Мы можем хранить данные, если это необходимо».

Есть куда более короткая версия: вообще их не собирать.

В этом и заключается вся идея local-first программного обеспечения, и это фундамент, на котором построено каждое приложение MFKAPPS. Ваши данные живут на вашем устройстве. Не на моих серверах, потому что нет серверов, которые хранили бы ваши данные. Самый приватный байт — тот, что ни разу не покинул ваш телефон.

Что на самом деле означает local-first

Local-first означает, что источник истины — ваше устройство, а не облачная база данных. Приложение сначала читает и пишет локально, полностью работает офлайн и остаётся быстрым, потому что не ждёт похода по сети ради каждой мелочи.

В Granyn каждая записанная вами трата хранится на вашем устройстве. В Hydrame — каждый стакан воды тоже. Никакого аккаунта заводить не нужно, нет сервера синхронизации, что тихо зеркалит ваши привычки, нет аналитического конвейера, который восстанавливает ваш месяц из тысячи мелких событий.

Это не функция, которую я прикручиваю в конце. Это решение, принятое на первой же строке, потому что оно меняет всё, что идёт дальше.

Приватность по архитектуре, а не по обещанию

Вот различие, которое имеет значение. Облачное приложение обещает защищать ваши данные. Local-first приложение структурно неспособно злоупотребить данными, которых у него нет.

Подумайте о вопросах, на которые вынуждена отвечать типичная политика конфиденциальности:

  • Где хранятся мои данные и как долго?
  • Кто внутри компании имеет к ним доступ?
  • Какие третьи стороны их получают?
  • Что с ними станет, если компанию продадут или взломают?

Для local-first приложения большинство из них сводятся к одному ответу: они на вашем устройстве. Нет внутреннего доступа, потому что нет внутренней копии. Нет ничего значимого, что могла бы утечь при взломе сервера. Если я завтра закрою студию, ваши данные останутся ровно там, где были всегда, — у вас.

Нельзя потерять то, чем ты никогда не владел.

Честные компромиссы

Я не стану притворяться, что local-first достаётся бесплатно. Это не так, и я предпочитаю говорить о его цене прямо.

  • Синхронизация сложнее. Перемещать данные между вашими собственными устройствами без центрального сервера — это настоящая инженерная работа. Когда я её добавлю, всё будет сделано аккуратно — в идеале со сквозным шифрованием, чтобы даже синхронизация не означала передачу ваших данных мне.
  • Резервные копии — на вас (пока что). Я опираюсь на собственные системы резервного копирования платформы и предлагаю экспорт, чтобы вы никогда не оказались в западне. Ваши данные принадлежат вам, в формате, который вы можете унести в другое место.
  • Некоторым функциям нужен сервер. И это нормально — когда какой-то функции он действительно понадобится, я прямо скажу об этом и соберу необходимый минимум, не больше.

Честность о компромиссах — часть уговора. Спокойные инструменты не вправе отмахиваться от трудных мест.

«Но ты же используешь Firebase и рекламу?»

Справедливый вопрос. Некоторые стандартные мобильные сервисы — отчёты о сбоях, базовая обезличенная аналитика, изредка реклама — могут обрабатывать ограниченные данные, и я точно указываю, какие именно, в политике конфиденциальности. Черта, которой я держусь, проста: содержимое, которое вы создаёте, остаётся локальным. Ваши траты, ваши записи, ваши настройки никогда не загружаются ко мне. Вспомогательные сервисы видят в лучшем случае обезличенные, агрегированные сигналы — и никогда сами персональные данные.

Почему это стоит усилий

Строить так медленнее и порой неудобно. Я всё равно так делаю, потому что приватность, которой приходится доверять, хрупка, а приватность, встроенная в архитектуру, долговечна. Одна вечно зависит от моего хорошего поведения. Другая не зависит от меня вовсе.

Это та приватность, которую я хотел бы от приложений на собственном телефоне. Поэтому именно такую я и создаю.

// По теме

Ещё из журнала

MFKAPPS 5 мин чтения

Шифрование базы данных Room в 2026: SQLCipher, Keystore и миграция без потери данных

Практическое руководство по шифрованию базы данных Room/SQLite в состоянии покоя на Android с помощью SQLCipher — управление ключами через Keystore, разовая миграция и реальная цена по производительности.

#android #engineering #privacy
MFKAPPS 4 мин чтения

Резервное копирование локальных данных в Android в 2026 году: экспорт через SAF, Auto Backup и восстановление, которому можно доверять

Как local-first приложения для Android резервируют данные пользователя без сервера: экспорт/импорт через SAF, Auto Backup for App Data и восстановление, которое проверяет данные перед перезаписью.

#android #engineering #privacy
MFKAPPS 5 мин чтения

Биометрическая аутентификация в Android в 2026 году: BiometricPrompt, Keystore и блокировка local-first приложения

Практическое руководство по androidx.biometric в Android — BiometricPrompt, ключи на основе CryptoObject, резервный вариант с учётными данными устройства и ошибки, из-за которых проверка отпечатка не защищает ничего.

#android #engineering #kotlin