Перейти к содержанию
Me2eM
Документация

Всё, что нужно
чтобы строить на Me2eM

Справочники API всех пакетов, глоссарий, quick start и руководства — от первой seed-фразы до проверенной сессии.

@me2em/core

Ядро протокола

Ядро протокола: корневая Identity, выведенная из seed-фразы, контекстные Handles и stateless подписанные сессии.

Ничто здесь не хранится и не ищется: сервер проверяет сессию одной проверкой подписи, а третья сторона проверяет делегируемый доступ по одному лишь корневому публичному ключу. Аттестационные цепочки несут audiences, scopes и TTL-лимиты, применяемые при проверке — доверие можно делегировать и отозвать, не передавая приватный ключ.

Что вы получаете

  • Выведенная из seed Identity — из 32 байт или 12/24-словной фразы — неизменна навсегда, нигде не хранится.

  • Изолированные Handles — отдельная Ed25519 keypair на контекст; компрометация одного не раскрывает остальные.

  • Аттестационные цепочки — подписанные родителем гранты с audiences, scopes и TTL-лимитами, проверяемые офлайн любой третьей стороной.

  • Stateless-сессии — verifyStateless для бэкенда, verifyAttested для партнёров — с мгновенной ревокацией ветки.

  • Деривации built-in — детерминированные пароли, ключи каналов и X25519 shared secrets, плюс поддержка BIP39 passphrase.

@me2em/crypto

Сквозное шифрование

Криптография протокола для реальной коммуникации: каноничный Signal X3DH, долгоживущие зашифрованные каналы и конверты для офлайн-получателей.

Каналы выводят свежий ключ для каждого сообщения и ротируют эпохи, так что зашифрованное остаётся запечатанным даже если ключ позже утечёт. Pre-keys делают асинхронную доставку рабочей: можно шифровать для того, кто не заходил в сеть днями. В основе — аудированные примитивы: HKDF, X25519, AES-256-GCM — с Argon2id для защиты паролей на периферии.

Что вы получаете

  • Каноничный X3DH — соглашение о ключе Signal с обязательными one-time pre-keys — без zero-fallback, устойчиво к MITM.

  • Каналы с forward secrecy — ключ на сообщение, строго возрастающая защита от replay, ротация эпох в определённых точках.

  • Конверты для офлайн — X3DH-обёрнутые ключи достигают получателей, не заходивших в сеть; каждый конверт self-contained.

  • Argon2id для паролей — именованные профили для интерактивного и чувствительного использования, проверки сложности и HIBP breach lookup.

  • Проверенные примитивы — HKDF против RFC 5869 test vectors, X25519, AES-256-GCM, secure key wipe.

@me2em/react

React SDK

React-биндинги, превращающие протокол в product UI: хуки идентичности, экраны seed-фразы, самообновляющиеся сессии.

Seed-фраза — тот секрет, который пользователь не должен потерять — поэтому её UX часть security-модели. Слова показываются один раз, проверяются order-сеткой, валидируются по слову при импорте. Производные ключи сохраняются как non-extractable CryptoKeys, изолированные на каждую Identity. Headless-слой держит каждый state machine framework-agnostic — будущий @me2em/sdk.

Что вы получаете

  • Identity-хуки — useCreateIdentity, useImportSeed, useHandle, useSubHandle — полный жизненный цикл идентичности.

  • UX seed-фразы, предотвращающий катастрофы — show-once display, одиночное копирование, order-verification grid, per-word валидация при импорте.

  • Сессии, которые обновляются сами — useSession отслеживает expiry и auto-renews на half-life.

  • Encrypted context cache — per-identity IndexedDB isolation с non-extractable persisted CryptoKeys.

  • Headless-слой — framework-agnostic state machines с нулём React-импортов.

Глоссарий

Язык протокола

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

Identity

Корневая криптографическая идентичность, выводимая из seed-фразы. Неизменна навсегда.

Handle

Производный, аттестованный и поименованный ключ, представляющий отдельный контекст идентичности.

SubHandle

Дочерний листовой узел Handle.

Attestation

Подписанная родителем запись, связывающая дочерний ключ с именем и правами (grant).

Session

Stateless-токен авторизации с подписью.

Channel

Долгоживущее E2EE-отношение, выведенное из общего секрета X3DH.

Transient material

Байты ключей, существующие только в RAM в момент использования.

Ephemeral material

Материал с TTL и ротацией (SPK/OTK, ключи кэша, токены сессий).

Практические руководства

Протокол
в работе.

Здесь собраны руководства к действию для сценариев использования. Это примеры кода протокола для различных отраслей. Каждый сценарий превращён в пошаговое практическое руководство. Возьмите их как базу для своих проектов. Изучайте документацию, смотрите на примеры и создавайте.

Новые практические руководства выходят в блоге по мере роста протокола.

Читать практические руководства
Как это работает

От seed до проверенной сессии

Четыре шага — одни и те же в каждом сценарии: от мессенджера до сети зарядных станций.

1

Запишите seed

12 или 24 слова BIP39 на бумаге. Единственный постоянный носитель идентичности — никогда не передаётся, никогда не хранится.

2

Выведите корень

Identity вычисляется локально через HKDF. Handle для каждого контекста — работа, личное, устройства — выводятся из него офлайн.

3

Делегируйте и подписывайте

Аттестационные цепочки выдают ограниченный по правам и времени доступ устройствам, партнёрам и ИИ-агентам. Сессии — stateless подписанные токены.

4

Проверяйте и отзывайте

Любая третья сторона проверяет по одному лишь публичному корневому ключу. Один отозванный jti отключает целую ветку — мгновенно.

Полезно знать

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

Вопросы, которые возникают до первой деривации.

Протокол

Нужно ли где-то регистрироваться?
Нет. Identity выводится из вашей seed-фразы на вашем устройстве. Аккаунта создавать не нужно — и нет базы, которая могла бы утечь.
Что будет, если я потеряю seed-фразу?
Идентичность невосстановима — по дизайну. Seed — единственный постоянный носитель идентичности; ссылки «сбросить» нет, потому что на сервере нечего сбрасывать.
Me2eM — это блокчейн?
Нет. Деривация и проверка — чистая криптография: Ed25519 и HKDF, офлайн, без сети и консенсуса. Сессия проверяется примерно за миллисекунду.
Продакшн-ready?
Пакеты в статусе alpha (core 0.7, crypto 0.1, react 0.1), движение к заморозке API v1.0. Сегодня — нормально для оценки и прототипов; в продакшне фиксируйте версии и ожидайте изменений.

Строить на протоколе

Какой режим проверки выбрать?
verifyStateless — для бэкендов под вашим контролем: они уже держат корневой ключ. verifyAttested — для всех остальных: гранты применяются при проверке, по одному публичному корневому ключу.
Насколько глубока иерархия?
Identity → Handle → SubHandle, где SubHandle — лист (MAX_DEPTH = 2). Устройство само выводит свои SubHandle и дочерние аттестаты — полностью офлайн.
Можно отозвать устройство или ИИ-агента?
Да. Отзыв одного jti аттестации отключает всю ветку — текущие и будущие сессии — у каждого верификатора, который проверяет ревокации.
Куда сообщать об уязвимости?
См. SECURITY.md в репозитории me2em-protocol — ответственное раскрытие, с указанием авторства.

Лицензия

Это бесплатно?
Да, полностью бесплатно. Протокол Me2eM лицензирован по Apache-2.0 (с патентным грантом). Тема лицензирована по MIT — используйте для личных и коммерческих проектов, без обязательного указания авторства.

Ваша первая сессия — за считанные минуты

Установите пакет, выведите Handle и подтвердите stateless-сессию — quick start проходит через все три пакета.