О Ghostchars
Небольшой бесплатный инструмент, который находит скрытые символы, отказывается гадать, кто написал ваш текст, и показывает свою работу.
Что это
Ghostchars показывает и удаляет скрытые символы Unicode в тексте и в документах. Он начинался как один файл на Python без зависимостей, написанный ради конкретного вопроса: что именно есть в этой строке из того, чего я не вижу. Таким он и остался. Сайт берёт тот же движок, собирает его для браузера и добавляет страницу вокруг.
Ни аккаунта, ни отправки на сервер, ни очереди, ни ключа API. Вы вставляете текст, видите, что в нём, и сами решаете, что удалить.
Зачем он нужен
Поищите способ найти невидимые символы, и вы попадёте на инструменты, которые обещают распознать водяные знаки ИИ и выдают проценты уверенности. Эти проценты ничего не измеряют: ни один символ в тексте не скажет вам, кто его написал, а инструменты, утверждающие обратное, обычно показывают заранее заданное число.
Честная версия продукта оказывается уже и полезнее. Скрытые символы существуют, они создают настоящие проблемы (сломанный поиск, несовпадающие сравнения, невидимые инструкции для языковых моделей), и их можно найти точно, вообще без догадок. Этим он и занимается. Где символ неоднозначен, страница так и говорит; где утверждение нельзя подтвердить, оно не сделано.
Правила, по которым он сделан
Ничего не уходит на сервер
Сайт собран из статических файлов, а движок работает на вашем устройстве. Обработки на стороне сервера нет, поэтому нечего логировать, хранить и нечему утекать.
Никаких утверждений, которые нельзя показать
Никакого распознавания ИИ, никаких вероятностей, никакого «удаляем водяные знаки ИИ». Страница о том, чего инструмент не умеет, выходит вместе со страницей о том, что он умеет.
Каждое решение видно
У каждой находки есть строка, столбец, кодовая позиция, имя Unicode, категория и то, что с ней произошло: удалён, заменён, оставлен, потому что несёт нагрузку, или найден, но не тронут. Молча не меняется ничего.
Браузер и CLI согласны друг с другом
Эталонные фикстуры, сгенерированные реализацией на Python, привязывают к ней браузерный движок. Если они разойдутся хоть на одной фикстуре, сборка упадёт.
Открытый код
Движок, тесты и этот сайт открыты под лицензией MIT. Инструмент командной строки помещается в один файл, которому не нужно ничего, кроме стандартной библиотеки Python, и у него есть режим `--check`, завершающийся с ненулевым кодом, если в файле что-то спрятано; это делает его пригодным для pre-commit-хука или шага CI.
./strip_invisible.py --show draft.md
./strip_invisible.py --check *.mdПриватность
Ничто из вставленного или открытого здесь никуда не передаётся, потому что передавать некуда. Аналитика необязательна, включается только с вашего согласия, размещена в ЕС и проксируется через этот домен, и ни одно событие не несёт содержимого текста, только счётчики и то, какие параметры были включены. Если вы откажетесь, не загрузится вообще ничего.
Кто это поддерживает
Kris Vinters
создаёт и поддерживает Ghostchars
Исправления и вопросы отправляйте на privacy@ghostchars.com.
Связь и исправления
Если страница здесь неправа насчёт кодовой позиции, письменности или техники, это стоит исправить: исправления, сообщения об ошибках и дополнения к указателю символов принимаются на privacy@ghostchars.com и исправляются.