CipherBoard 0.2.0
English
CipherBoard 0.2.0 changes the protected writing flow. Tapping the shield now
opens a Private mode panel above the keyboard keys, inside the current IME
window. It no longer navigates to a separate composer screen.
Choose a verified contact and type with CipherBoard's on-screen keys. The
plaintext stays in a bounded, process-local draft and is not composed in the
external application's field. After you tap Encrypt, CipherBoard advances
and stores the Olm state, then inserts only the persisted CB1: ciphertext with
one InputConnection.commitText() call. The plaintext remains visible in the
panel after a successful insertion so you can check it; Clear, Close, a
host-field change, screen lock, or IME shutdown clears it best effort.
Private mode disables personalized learning, user-dictionary updates,
clipboard history and plaintext copy/paste paths. Its IME window uses
FLAG_SECURE. Detailed input debug logs are suppressed for this editor even if
HeliBoard debug mode was enabled. Host publication is scoped to the exact
InputBinding.connectionToken. Before the host call, a pending send moves
durably from READY to COMMIT_UNCERTAIN; delivery-uncertain ciphertext is not
retried automatically because the host may already have accepted it.
Pending sends left by a 0.1.x crash are also treated as delivery-uncertain
after upgrade, because their older storage format cannot safely prove otherwise.
Important limitations:
- Do not type a Private draft with a physical keyboard. Android may send those
key events directly to the focused host application, bypassing IME draft
routing. Use CipherBoard's on-screen keys. - Buffer and UI clearing is best effort. Android views, Binder, JNI and the JVM
may retain copies; complete RAM erasure is not guaranteed. FLAG_SECUREreduces standard capture paths but cannot stop a compromised OS,
a camera, shoulder surfing or every privileged/Accessibility path.- The complete application has not received an independent applied-cryptography
and Android security audit.
Install CipherBoard-0.2.0-release.apk over the existing release. Do not
uninstall first: that destroys the Vault, local identity, contacts and ratchet
state. Verify the published SHA-256 and signing-certificate fingerprint, and
stop if Android reports a signer mismatch.
CipherBoard has no in-app updater and requests neither Internet nor package-
installation permission. For optional update notifications, configure the
external Obtainium app with https://github.com/bglglzd/CipherBoard, disable
pre-releases, and use this release asset filter:
^CipherBoard-[0-9]+\.[0-9]+\.[0-9]+-release\.apk$
Obtainium is a separate, networked trust boundary. CipherBoard itself remains
offline.
Русский
В CipherBoard 0.2.0 изменён сценарий защищённого набора. Теперь кнопка со щитом
открывает панель приватного режима над клавишами, прямо внутри текущего окна
клавиатуры. Перехода на отдельный экран редактора больше нет.
Выберите проверенный контакт и вводите сообщение программными клавишами
CipherBoard. Открытый текст хранится в ограниченном локальном черновике процесса
IME и не набирается в поле внешнего приложения. После нажатия
Зашифровать CipherBoard продвигает и сохраняет состояние Olm, а затем одним
вызовом InputConnection.commitText() вставляет только сохранённый
CB1:-шифротекст. После успешной вставки исходный текст остаётся видимым в
панели для проверки. Он очищается по кнопкам Очистить или Закрыть, при
смене внешнего поля, блокировке экрана или завершении IME.
В приватном режиме отключены персональное обучение, обновление пользовательского
словаря, история буфера обмена и операции копирования/вставки открытого текста.
Детальные отладочные логи ввода также отключены для этого редактора, даже если
в настройках HeliBoard был включён debug-режим. Окно IME защищено
FLAG_SECURE. Публикация привязана к точному токену
InputBinding.connectionToken. До обращения к внешнему полю ожидающая отправка
надёжно переводится из READY в COMMIT_UNCERTAIN. CipherBoard не повторяет
такую вставку автоматически: внешнее приложение могло принять шифротекст, даже
если подтверждение потерялось.
Ожидающие отправки, оставшиеся после сбоя 0.1.x, после обновления также
считаются неопределёнными: старый формат не позволяет безопасно доказать, была
ли уже выполнена вставка.
Важные ограничения:
- Не вводите приватный черновик физической клавиатурой. Android может направить
такие нажатия прямо в активное поле внешнего приложения, минуя локальный
черновик IME. Используйте экранные клавиши CipherBoard. - Очистка буферов и UI выполняется по мере возможностей. Android View, Binder,
JNI и JVM могут создавать копии, поэтому гарантировать полное удаление из
оперативной памяти нельзя. FLAG_SECUREограничивает стандартные способы захвата экрана, но не защищает
от скомпрометированной ОС, камеры, просмотра из-за плеча и всех
привилегированных или Accessibility-механизмов.- Полное приложение не проходило независимый аудит прикладной криптографии и
Android security.
Установите CipherBoard-0.2.0-release.apk поверх текущей release-версии. Не
удаляйте приложение перед обновлением: это уничтожит Vault, локальную identity,
контакты и состояние ratchet. Проверьте опубликованные SHA-256 и fingerprint
сертификата подписи. При сообщении Android о несовпадении подписи остановитесь.
В CipherBoard нет встроенного обновления и разрешений на Internet или установку
пакетов. Для необязательных уведомлений об обновлениях настройте внешнее
приложение Obtainium на https://github.com/bglglzd/CipherBoard, отключите
pre-release и используйте фильтр release-файлов:
^CipherBoard-[0-9]+\.[0-9]+\.[0-9]+-release\.apk$
Obtainium использует сеть и является отдельной границей доверия. Сам CipherBoard
остаётся полностью офлайн.