Skip to main content

Glyph-based file obfuscation with intentional access control

Project description

Glyphlock

This module contains a simple implementation of glyph-based file obfuscation with optional access control.


What glyphlock does

Glyphlock converts a file into a deterministic representation made up of Unicode Egyptian hieroglyphs.

The original file:

  • is removed
  • is replaced with a .glyph file
  • is no longer readable as plain text

The transformation is fully reversible and does not modify the original data.


What glyphlock is for

Glyphlock is meant to prevent accidental or casual access to files.

It is useful when:

  • files should not be readable at a glance
  • sensitive data should not be opened unintentionally
  • projects need to be parked safely on disk
  • access should require intent

This tool is not encryption and is not designed to protect against determined offline attacks.


Access control

Glyphlock supports optional access gating.

When enabled:

  • a password is required to decode files
  • passwords are verified using a key derivation function
  • passwords are never stored directly

An optional recovery key can also be generated.

The recovery key:

  • is shown once
  • is stored as a hash
  • can be used if the password is lost

If both the password and recovery key are lost, the file cannot be recovered.


File behavior

When encoding:

  • the original file is replaced with filename.glyph
  • the original file extension is stored in the header
  • file permissions are preserved
  • the file payload is checksummed

When decoding:

  • the original file is restored exactly
  • permissions are restored
  • corrupted or modified files fail to decode

All file operations use atomic replacement to minimize the risk of data loss.


Directory handling

When operating on directories, glyphlock walks the directory tree recursively.

The following are skipped automatically:

  • symbolic links
  • hidden directories
  • version control metadata (.git, .hg, .svn)
  • virtual environments (.venv, env)
  • Python cache directories (__pycache__)
  • editor configuration directories

Only user-authored files are processed by default.

How to use this module

Glyphlock is used as a command-line tool.

Encode a single file:


glyphlock encode file.txt

Decode a file:

glyphlock decode file.glyph

Encode a directory with a password and recovery key:

glyphlock encode-dir project --lock --recovery

Decode a directory:

glyphlock decode-dir project

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

glyphlock-0.1.1.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

glyphlock-0.1.1-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file glyphlock-0.1.1.tar.gz.

File metadata

  • Download URL: glyphlock-0.1.1.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for glyphlock-0.1.1.tar.gz
Algorithm Hash digest
SHA256 33acf8c9da65680cd5b3e3a4d4427d6c42c22b1e652f99327b1ef61b6854fca9
MD5 bd72299a55173ea9a5202f14f8386150
BLAKE2b-256 d2d7891930bc8d6146a714917b464011cb93f0cab035e8c6541a6919561d8a5a

See more details on using hashes here.

File details

Details for the file glyphlock-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: glyphlock-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for glyphlock-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4bd1fead6f8495c0dc95dfd80a76ee5118e8c08af11db8e096a0e8ba404f4780
MD5 9636799b7548de5afc8720f633cdef22
BLAKE2b-256 a2f54fafb101f8a9d63596c3888e01374ccaea6aec86df92bf2707712f58a5f0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page