CONTEXT LABby ALFRIC
Подписка

ЖурналПриватностьПочему я выбрал local-first для Alfric

Приватность

Почему я выбрал local-first для Alfric

Облако было бы проще. Быстрее в разработке, дешевле в поддержке, привычнее для пользователя. Я всё равно выбрал local-first. Это статья про то, почему я принял неудобное решение и что оно значит для человека, который доверяет Alfric свою жизнь.

◷ 8 мин чтения 8 августа 2026 г.
Почему я выбрал local-first для Alfric

Сначала честно: облако было бы проще

Когда строишь продукт в одиночку, любое решение проверяется одним вопросом — сколько это стоит сил. И по этому счёту облако выигрывает у local-first вчистую.

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

Local-first отбирает у разработчика ровно это удобство. Данные на чужом устройстве, в зашифрованном виде, и я к ним не имею доступа. Каждая из перечисленных задач становится в разы сложнее. Так что давайте сразу договоримся: я не выбирал local-first потому, что так легче. Я выбрал его вопреки тому, что так тяжелее.

Что Alfric на самом деле держит в руках

Чтобы понять, почему я всё-таки пошёл этим путём, надо посмотреть, с чем именно работает продукт.

Alfric слушает ваши созвоны. Он сохраняет записи и расшифровки, вытаскивает из них решения, задачи, договорённости, помнит, кто есть кто в вашей жизни. Это не рабочие таблички и не публичные заметки. Это ваш разговор с врачом. Обсуждение зарплаты с руководителем. Ссора с партнёром по бизнесу. Планы, которыми вы пока не готовы делиться ни с кем.

Теперь представьте, что всё это лежит на чьём-то сервере. Пусть даже на моём, пусть я хороший человек и обещаю не смотреть. Вопрос доверия так не работает. Если технически я могу прочитать вашу жизнь — значит, её могут прочитать: по ошибке в коде, по запросу, по взлому, по смене владельца компании через пять лет. Обещание «мы не смотрим» стоит ровно столько, сколько стоит компания, которая его дала.

Я не хочу, чтобы доверие ко мне держалось на моём честном слове. Я хочу, чтобы оно держалось на устройстве продукта. Это и есть настоящая причина, по которой всё остальное неважно.

Что значит local-first на практике

Лозунгами легко бросаться, поэтому вот конкретика — что стоит за словами.

Записи и расшифровки живут на вашем компьютере. Не на моём сервере с копией у вас, а именно наоборот: оригинал у вас, и без вашего устройства его нигде нет. Alfric открывается и работает, даже когда интернета нет вообще, — потому что данные не «где-то там», а прямо здесь.

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

Ключ у пользователя — значит, у пользователя. Тут нет звёздочки мелким шрифтом. Ключ не хранится у меня «на всякий случай для восстановления». Я физически не могу расшифровать ваши данные. Это сознательное самоограничение: я отрезал себе доступ, чтобы никто не смог получить его через меня.

Вот и весь манифест, если убрать красивые слова: оригинал — у вас, канал — зашифрован, ключ — ваш, доступа у меня — нет.

Что это даёт

Теперь — ради чего всё это. Польза здесь не абстрактная «приватность вообще», а несколько очень конкретных вещей.

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

Продукт не может предать вас задним числом. Компании меняют политику. Их покупают. У них случаются утечки. Когда данных нет у компании, все эти сценарии вас не касаются. Нельзя слить то, чего у тебя нет. Ваша приватность не зависит от того, останусь ли я порядочным и цела ли моя инфраструктура.

Это работает вне зависимости от связи и от меня. Нет интернета — Alfric работает. Мои серверы легли — ваши данные на месте. Я закрою проект через год (надеюсь, что нет) — ваш архив останется у вас, а не исчезнет вместе с моим биллингом. Ваши данные не в заложниках у моего аптайма.

Чего это стоит

Я обещал честно — значит, и про цену тоже. У local-first есть реальная плата, и глупо делать вид, что её нет.

Ключ у вас — ответственность тоже у вас. Раз я не храню ключ, я не могу восстановить вам доступ, если вы его потеряете. Забыли, потеряли, не сделали резервную копию — и данные останутся зашифрованными навсегда, в том числе для меня. Свобода от чужого доступа и невозможность восстановления через поддержку — это две стороны одной монеты. Поэтому в Alfric я вкладываю силы в понятное резервное копирование ключа, но снять с вас эту ответственность целиком не могу физически — иначе это уже не local-first.

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

Я почти слеп к тому, как вы пользуетесь продуктом. Обычный SaaS смотрит на данные пользователей и улучшает продукт по ним. Я так не могу и не хочу. Значит, обратную связь я получаю только тогда, когда вы сами мне её даёте. Это медленнее. Но это честная цена за то, что ваша жизнь — не мой датасет.

Почему я всё равно так решил

Если свести всё к одному, выбор был такой: сделать себе удобно — или сделать так, чтобы вам было безопасно доверить продукту важное. Совместить не получалось: настоящий доступ у меня либо есть, либо нет, среднего не бывает.

Я выбрал вторую сторону, потому что понял простую вещь. Персональная память — это не фича, которую оценивают по количеству кнопок. Это про доверие, а доверие либо тотальное, либо его нет. Продукт, которому можно рассказать только безопасное, не стоит того, чтобы его строить. А чтобы можно было рассказать всё, я должен был отрезать себе возможность это «всё» прочитать.

Local-first дороже мне в разработке и в поддержке. Но он дешевле вам — вы платите за него не своей приватностью. И это единственный размен, на который я в этом продукте готов пойти без колебаний.

Что с этим делать вам

Практический вывод простой и он шире, чем один Alfric. Когда в следующий раз будете выбирать инструмент, которому собираетесь доверить что-то личное, задайте ему один вопрос: где физически лежат мои данные и у кого ключ. Если ответ — «на наших серверах, доступ есть у нас» — вы доверяете не продукту, а обещанию компании. Если ответ — «на вашем устройстве, ключ у вас» — вы доверяете устройству продукта, а не чьему-то слову.

Я построил Alfric так, чтобы на этот вопрос был правильный ответ. Не потому что так проще — а потому что иначе нет смысла просить вас доверить ему свою жизнь.

Частые вопросы

Что значит local-first простыми словами?

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

Если данные на моём компьютере, как работает синхронизация с телефоном?

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

Почему не сделать проще — хранить всё в облаке?

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

А если я потеряю ключ — вы восстановите доступ?

Нет, и это честная цена local-first. Раз ключ только у вас, я физически не могу расшифровать ваши данные и не могу восстановить доступ через поддержку. Поэтому в Alfric я делаю понятное резервное копирование ключа, но снять с вас эту ответственность полностью не могу — иначе это уже не local-first.

Что local-first даёт мне на практике?

Три вещи. Первое — можно доверить продукту самое личное, потому что оно не утечёт. Второе — продукт не может предать вас задним числом: нельзя слить данные, которых у компании нет. Третье — всё работает без интернета и не зависит от того, живы ли мои серверы; ваш архив всегда остаётся у вас.

Context / Weekly

Одна идея, одно исследование, одно наблюдение и один инструмент — раз в неделю. О памяти, внимании и будущем работы. 5 минут чтения.

Эту проблему мы не только исследуем

Alfric сохраняет контекст встреч, задач и договорённостей и возвращает его тогда, когда он нужен. Записи остаются на вашем компьютере.

Узнать об Alfric →