Открытый проект SoulsOnly делает то, о чём большинство разработчиков даже не задумывается: разрывает два потока, которые в обычном шрифте всегда совпадают. Character stream — байты в файле, то, что копируется в буфер, извлекается из PDF, читается скрапером. Glyph stream — что реально рисуется после прогона через таблицы шрифта. SoulsOnly намеренно делает их разными. Результат: текст читается глазами, но любая машина видит мусор. Авторы прямо предупреждают — это не заявка на криптографическую защиту, а statement.
Контекст
Механика аккуратная. Каждый печатный символ кодируется четырьмя ASCII-байтами: два двухсимвольных «носителя», выбираемых случайно из пула (гомофоны). Один и тот же символ каждый раз даёт разный байтовый поток — это усложняет корпусный анализ. Шрифт через GSUB-лигатуры сворачивает каждую пару в полуглиф, два полуглифа тайлятся в итоговый символ. Несколько символов делят один левый полуглиф — например, a, c, d, e, g, o, q имеют общий «bowl» — что делает таблицу шрифта бесполезной для обратного инжиниринга.
Проект идёт дальше типографики: в репозитории есть прошивка клавиатуры на QMK, которая автоматически эмитирует зашифрованный поток при нажатии обычных клавиш. Варианты поставки — статический TTF/OTF и переменный VF с осью REVL. При REVL = 0 (дефолт) глифы искажены до нечитаемости. При REVL = 650 текст проявляется. При REVL = 1000 снова рассыпается — так что довести слайдер до упора тоже не помогает. Весь механизм живёт внутри шрифта: cmap, GSUB, полуглифы, fvar/gvar.
Шрифт построен на базе Jost (OFL 1.1), код — MIT. Архитектура чистая: cipher/ — модели кодирования, fontbuild/ — сборка шрифта, tools/ — генерация демо-ассетов, demo/ — физическая демонстрация с QMK-клавиатурой. Покрытие pytest-тестами есть.
Аналитика
За технической экзотикой стоит реальный культурный нерв. Массовый сбор данных для обучения LLM — легальный, полулегальный, скрытый — стал фоном, на котором авторы контента начинают искать способы провести границу: «этот текст предназначен людям, не машинам». robots.txt и Terms of Service всё чаще игнорируются. Юридические инструменты работают медленно. SoulsOnly предлагает ответ на уровне байтов: сделай character stream нечитаемым, не трогая glyph stream.
Показательно, что авторы сами называют пределы. REVL-ось уязвима: скрипт может перебрать значения и OCR-ом считать текст на легитимном фрейме. Гомофонная рандомизация усложняет, но не исключает статистический анализ при большой выборке. Это отличает SoulsOnly от большинства «anti-AI» продуктов, которые продаются как надёжная защита, но дают лишь фрикцию. Честность в описании ограничений — редкость в этом сегменте.
Более широкий тренд: растёт интерес к контентной стеганографии — встраиванию метаданных о происхождении прямо в артефакт. Стандарт C2PA, Adobe Content Credentials, водяные знаки в AI-генераторах изображений — всё это попытки ответить на один вопрос: как доказать человеческое авторство? SoulsOnly предлагает парадоксальный вариант: спрячь само хранение, оставив видимость. Не индустриальное решение, но осязаемая иллюстрация того, куда движется мышление об авторстве в цифровой среде.
Кейсы применения в бизнесе
B2B-SaaS с ценным контентом. Если продукт генерирует уникальные отчёты, шаблоны, базы знаний — и вы хотите снизить риск массового скрапинга в LLM-датасеты, изучите принцип «character stream ≠ glyph stream» как концепцию. Он уже применяется в защите PDF от автоматического извлечения. SoulsOnly — практический пример реализации; его можно адаптировать под собственный рендеринговый слой.
Медиа и издание. Редакция с эксклюзивным контентом может использовать гомофонную рандомизацию байтов как основу для системы водяных знаков в тексте. Не SoulsOnly напрямую — он требует установки шрифта у читателя — но механизм «один символ → разные байтовые последовательности» применим в более практичных форматах без визуальных артефактов.
SMB и локальный бизнес в КР/ЦА. Прямое применение пока нишевое, но образовательная ценность высокая: понять, как устроен разрыв между хранимым и отображаемым текстом, помогает осознанно выбирать CMS, форматы документов и стратегии защиты контента при работе с подрядчиками и платформами.
Кейсы в личной жизни
Разработчик / типограф. SoulsOnly — практический курс по внутреннему устройству шрифтовых форматов. Модули чётко разделены, тесты есть. Разобраться в GSUB-лигатурах, cmap и переменных шрифтах (fvar/gvar) через нетривиальный живой проект эффективнее, чем читать спецификацию OpenType с нуля.
Контент-мейкер. Если вы пишете и хотите добавить к тексту физическую «метку человечности» — поэкспериментируйте с SoulsOnly для специальных изданий или скриншотов. Нишевый приём, но жест говорит сам за себя: этот текст написан человеком и намеренно недоступен для машинной обработки.
Студент / исследователь безопасности. Проект честно иллюстрирует разницу между security through obscurity и реальной криптографией: каждый слой защиты (байтовая рандомизация, GSUB-обфускация, REVL-переменность) добавляет фрикцию, но ни один не является непробиваемым. Отличный кейс для курса по информационной безопасности.
Как применить сегодня
- Клонируйте репозиторий и соберите шрифт командой
python -m fontbuild.build_keyboard— дидактически чище, чем просто скачать бинарник. - Откройте
demo/index.htmlс REVL-слайдером: переведите ось на 650 — текст проявится. Это лучший способ понять механику за 5 минут. - Запустите encode-oracle:
python3 -c "from cipher import keyboard as k; print(k.encode('hello world'))"и посмотрите, что реально хранится в файле вместо слов. - Если интересует тема водяных знаков в тексте — параллельно изучите стандарт C2PA и Adobe Content Credentials: они решают похожую проблему через метаданные, а не шрифт, и ближе к продакшн-применению.
- Для глубокого погружения в OpenType: официальная спецификация Microsoft — бесплатна и необходима, если хотите строить на этой механике что-то серьёзное.