Reversible Unicode transforms and CLI for authorized LLM security and filter research (emoji VS stego, homoglyphs, zero-width).
Project description
glyphsmythe
glyphsmythe is a small Python library and CLI for security researchers who need to probe how LLMs and content filters handle unusual Unicode. It provides reversible transforms you can call from tests, scripts, or shell pipelines.
This package is intended for defensive research and authorized testing only. See the Acceptable Use Policy before use.
Install
Requires Python 3.9 or newer.
pip install glyphsmythe
What it does
- Emoji stego — hide UTF-8 bytes in variation selectors after a visible carrier (Paul Butler-style VS encoding)
- Homoglyphs — swap Latin letters for Cyrillic lookalikes and back
- Zero-width — encode bytes as ZWSP/ZWNJ (invisible on screen)
- Composable chains — layer transforms for regression fixtures
- Interleaved emoji stories — keep inline emoji visible while prose lives in variation selectors (
encode --interleave; decode auto-detects)
Runtime dependencies: none (stdlib only). No install hooks, no network calls, no bundled executables.
CLI
glyphsmythe encode --method emoji --carrier x --text "canary:probe-001"
glyphsmythe decode -i encoded.txt # auto-detects transform
glyphsmythe analyze -i encoded.txt
glyphsmythe encode --interleave -i story.txt -o hidden.txt
glyphsmythe lab
glyphsmythe chat-demo --preset context-guard
Python API
from glyphsmythe import decode, encode_story
from glyphsmythe.compose import apply_chain
hidden = encode_story("Hello 🌟 world")
plain = decode(hidden)
Documentation
- Full README and walkthroughs: https://github.com/zaphodbeeblebrox3rd/glyphsmythe
- Lantern Fox interleave demo: https://github.com/zaphodbeeblebrox3rd/glyphsmythe/blob/main/FOX_STORY.md
- Publishing notes: https://github.com/zaphodbeeblebrox3rd/glyphsmythe/blob/main/PUBLISHING.md
License
MIT License. Use must also follow the project Acceptable Use Policy linked above.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file glyphsmythe-0.1.0.tar.gz.
File metadata
- Download URL: glyphsmythe-0.1.0.tar.gz
- Upload date:
- Size: 34.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72c59db6a4f973add5ac308fb4bf2fe8bcce2734886d4d1c4ddb9210c8d6065f
|
|
| MD5 |
ac3e64d478bab67541e2238682faccaa
|
|
| BLAKE2b-256 |
0424cca26b5a382aec1ab0bed2736bec9f84ebeff51976c55787f180454c0f70
|
File details
Details for the file glyphsmythe-0.1.0-py3-none-any.whl.
File metadata
- Download URL: glyphsmythe-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c8077790e812c60bf69eab9ca2c3f98093ab223146ff31ce18d75cd17a1cb04
|
|
| MD5 |
f4f056665d600b3b46485d76084e76a2
|
|
| BLAKE2b-256 |
8788f7fb868f37df5d17066f5126c8989d84ca7bbc1845cc3f312e8cf9c22573
|