СИНГУЛЯР · дверь-прототип · v0.1

Контур человеческой связи

Сначала человек и его намерение. Затем — удобное представление и доступный канал. Если канала нет, система говорит правду и сохраняет локальную работу.

Локальный режим. Сеть и внешние провайдеры не подключены.

Мост в живую связь — дверь ·54 ПИР

Этот прототип хранит намерения и журнал. Живая связь — видео, звук, текст и экран напрямую между устройствами, без посредников — живёт в двери ·54 ПИР. Имя комнаты — адрес и пропуск: впишите своё или родите там же.

Ссылка уносит имя комнаты с собой (#комната=…); ключ комнаты переносить ссылкой нельзя — его вписывают руками.

Что вы хотите сделать?

Ничего не отправляется в сеть.

Люди и отношения

Пока это локальная адресная книга одного браузера, не межустройственная синхронизация.

    Как мне удобнее

    Эти настройки не передаются контактам автоматически.

    Маршруты и зависимости

    • Локальная запись: работает в этом браузере; не зашифрована.
    • Файл / экспорт: можно скачать JSON и передать выбранным способом.
    • WebRTC: подключён — живая дверь ·54 ПИР: медиа и текст идут напрямую между устройствами (DTLS-SRTP), сигналинг — релеи Nostr (только рукопожатие), ICE/STUN — для того же рукопожатия; глухой режим работает и без сети сигналинга.
    • Почта: адрес/доставка не предоставляются; нужен выбранный почтовый маршрут.
    • Телефон/SMS/eSIM: не предоставляются; нужен оператор и совместимое устройство.
    • Деньги: запись намерения не является платежом; реальный перевод требует платёжного адаптера.

    Статус не равен доставке. В этой версии ничего не уходит другому человеку.

    Локальный журнал

      Экспорт содержит ваши записи и настройки. Храните файл осторожно.

      Граница прототипа

      Работает: локальные контакты, намерения, настройки, журнал, экспорт/импорт.

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

      Не вводите пароли, ключи, банковские реквизиты или другую чувствительную информацию.

      Контур v1.2 · P2P-транспорт и E2EE (Фаза 1 роадмапа пакета)

      Надстройка над локальным прототипом выше: те же намерения — теперь с настоящим прямым каналом между браузерами (WebRTC DataChannel, сигналинг вручную — без серверов) и ключами идентичности на устройстве. Журнал контура — отдельная база IndexedDB (не смешивается с локальным журналом прототипа).

      Отпечаток SHA-256: не создан

      Ключи живут только на этом устройстве. Сверьте отпечаток с собеседником по независимому каналу — это исключает подмену (MITM).

      Контур: ничего не создано.

      Машина состояний честная: draft → locally_saved → queued → transport_attempted → accepted_by_transport → recipient_acknowledged. Отправка пакета не считается прочтением — подтверждение даёт только ACK собеседника.

      WebRTC P2P DataChannel

      По умолчанию выключено: дом не ходит наружу без явного слова. Выключено = P2P честно работает в локальной сети и между вкладками одного устройства.

      Статус P2P: канал закрыт.

      Журнал контура (IndexedDB)

        Стирание настоящее: база SingulyarDB_v1 удаляется с устройства. Локальный журнал прототипа выше не затрагивается.

        Контур v1.3 · Сессия AES-256-GCM и QR-сигналинг (шаг WP-06)

        Отдельный защищённый канал поверх той же техники ручного сигналинга: свой P2P-канал, ключ сессии ECDH P-256 и обязательное шифрование AES-256-GCM каждого конверта. SDP-токены можно переносить не только копипастой — кнопка «QR-код токена» рисует токен QR-кодом (эмуляторы П.7 стали живым каналом: экран ↔ камера/глаза, без сети и серверов).

        Защищённый канал (P2P, без STUN)

        QR: пусто.

        Канал v1.3: закрыт. STUN здесь нет вовсе — только локальная сеть или вкладки одного устройства.

        Ключ сессии (ECDH → AES-256-GCM)

        Сессия: не выведена. Шифрованная отправка невозможна — так и задумано.

        Отпечаток сессии (SHA-256 секрета) сверьте с собеседником по независимому каналу — он равен с обеих сторон тогда и только тогда, когда ключи сшились без подмены.

        Шифрованный журнал канала v1.3

          Берётся новейший объект из базы контура (IndexedDB, та же база, что у Фазы 1); состояния честные: queued → transport_attempted → accepted_by_transport → recipient_acknowledged (по ACK). Каждый конверт в канале — {тип:"шифр", …AES-256-GCM…}. Канал без сессионного ключа объект не отправит — честный отказ, а не тихий текст.

          ·53 · СВЯЗЬ ЧЕЛОВЕКА · такт «ЛИЦО» · кэш v186

          Дом СИНГУЛЯР: 42 дверей · 62 песни · 200 языков