Files
bare/docs/philosophy.md
ClaudeandClaude Fable 5 3d814112a9 Заложить репозиторий: философия, архитектура, модель угроз, ADR
Документы фиксируют принятые проектные решения Bare:
клиент без фреймворков и сборки, Go-сервер одним бинарём,
E2EE на WebCrypto, сервер-реле без истории, локальная история
с экспортом/импортом, Web Push + VAPID. Кода нет — сначала документы.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SW4ZXtKn5NjX8NH3Lhm2ND
2026-08-20 09:17:37 +00:00

2.2 KiB

Философия

Bare — максимально простой веб-чат. Utility, а не платформа. Название буквальное: голый, без лишнего, ничего не спрятано за слоями абстракций.

Принципы

1. Bare = голый web

HTML, CSS, vanilla JS, нативные браузерные API. Ноль npm-зависимостей на клиенте. Никакой сборки — ES-модули как есть.

2. Сервер — реле, а не архив

Сервер никогда не является местом, где живёт история. Он передаёт и забывает.

3. История живёт только на устройстве

Зашёл с другого места — там только новые сообщения. Перенос истории — явный ручной экспорт/импорт.

4. Забыл пароль — значит забыл

Восстановления нет, и это не политика, а криптография: пароль — материал ключа.

5. Оператор не может читать сообщения

E2EE по умолчанию. У админа с полным доступом к серверу — только шифротекст.

6. Аудируемость через простоту

Клиент — несколько читаемых файлов без сборки. Любой может проверить глазами, что код делает.

7. Простота важнее функций

Каждая фича должна оправдать своё существование. По умолчанию — нет.

Non-goals

Это не «пока не успели», а осознанные решения не делать:

  • Облачная синхронизация истории между устройствами.
  • «Удалить у всех» после доставки.
  • Серверный поиск — поиск только локальный.
  • Файлы, медиа, голос, реакции, треды (v1).
  • Forward secrecy (v1).
  • Федерация.