Каждый экран входа в веб-приложение — это по сути приложение говорит вам: «Чтобы получить доступ к ТВОИМ данным в МОЕЙ базе, докажи, кто ты». Автор проекта ayb считает такой подход ерундой и предлагает другой путь: не аутентифицироваться перед приложением, а авторизовать его для работы с базой данных, которую контролируете вы.
Главный принцип — «авторизуй, а не аутентифицируй». Вместо того чтобы вводить пароль, вы даёте приложению разрешение подключиться к вашей персональной базе. В демонстрации используется Todos — список задач без единого экрана логина. Он запускает OAuth2-поток через ayb, запрашивая токен для запросов к вашей базе. Для разработчиков автор открыл библиотеку ayb.js, позволяющую встроить такой механизм меньше чем за час.
Вторая идея — создать базу должно быть так же просто, как документ в Google Drive. В интерфейсе ayb вы выбираете существующую базу или создаёте новую, просто указав имя. Никакой настройки бэкапов — снапшоты и резервные копии формируются автоматически. Данные хранятся в скучных, хорошо известных форматах SQLite и DuckDB, и скоро появятся endpoint'ы для экспорта и импорта, чтобы легко унести свои данные к другому хостеру.
Третье правило: приложение должно хранить как можно меньше вне пользовательской базы. Todos — это статический HTML, CSS и JavaScript. Серверная часть не хранит состояние, а все задачи лежат в вашей базе. Хотите больше приватности — скачайте index.html и за-хостите сами. Доступ приложению можно отозвать в любой момент.
Автор честно признаёт, что пока вы всё равно доверяете кому-то — либо разработчику приложения, либо хостеру базы. Но разделение приложения и хранилища даёт реальный выбор. ayb открыт, его можно хостить самому или выбрать любой другой хостинг. Это не замена одной централизации на другую, а шанс решить, где живут ваши данные, один раз для всех приложений.
Модель идеальна для личных данных, но с коллаборацией сложнее. ayb позволяет расшаривать базу, но владелец остаётся. Автор пока не построил механизмы синхронизации нескольких персональных баз при совместной работе. С социальными данными ещё запутаннее: проекты вроде ActivityPub/Mastodon и AT Protocol/Bluesky дают выбор хранилища, но для показа общей ленты всё равно нужен агрегатор, который часто тянет за собой централизацию.
В перспективе автор хочет добавить базовую поддержку коллаборации, изучить связку с local-first сообществом, где локальная база на SQLite/DuckDB синхронизируется с удалённой, и помочь разработчикам создавать приложения, оставляющие пользователям контроль над данными. Главная мечта — заменить как можно больше экранов входа на экраны авторизации базы данных.