Skip to main content

Glogos Protocol CLI - Modern digital signatures, simpler than PGP

Project description

glo-cli

Modern digital signatures. Simpler than PGP, verifiable forever.

A minimal CLI for the Glogos Protocol - cryptographic attestations using Ed25519 + SHA-256.

Installation

pip install glo-cli

Quick Start

# Create your identity (protected by passphrase)
glo init

# Sign a file
glo sign document.pdf

# Verify a signature
glo verify document.pdf

# Create a message attestation
glo attest "Contract approved by all parties"

Security

Your private key is protected using industry best practices:

Component Algorithm Parameters
Key Derivation Argon2id m=64MB, t=3, p=4
Encryption AES-256-GCM 12-byte nonce
Signature Ed25519 RFC 8032

This follows OWASP recommendations and provides strong resistance against GPU/ASIC brute-force attacks.

Commands

Identity

glo init              # Create identity (passphrase required)
glo id                # Show your zone ID and public key
glo export            # Export public key
glo export --json     # Export as JSON
glo passwd            # Change passphrase
glo backup            # ⚠️ CRITICAL: Show 24-word recovery phrase
glo backup --verify   # Show and verify you wrote it down
glo restore           # Restore identity from recovery phrase

Signing

glo sign <file>           # Sign a file (creates .glo file)
glo verify <file>         # Verify a signature
glo batch <dir>           # Sign all files in directory
glo batch <dir> -r        # Sign recursively

Attestations

glo attest "message"      # Create message attestation
glo hash <file>           # Compute SHA-256 hash

DID (Decentralized Identifier)

glo did                   # Show your DID
glo did --document        # Show full DID Document

Git Integration

glo git attest            # Attest current commit
glo git attest <hash>     # Attest specific commit
glo git verify            # Verify current commit
glo git verify <hash>     # Verify specific commit
glo git log               # Show attestation status for recent commits
glo git log 20            # Show last 20 commits

Info

glo info                  # Show protocol info
glo --version             # Show version
glo --help                # Show help

Signature Format

Signatures are stored as JSON files with .glo extension:

{
  "_type": "file",
  "_filename": "document.pdf",
  "_size": 12345,
  "attestation": {
    "id": "abc123...",
    "zone": "def456...",
    "subject": "789abc...",
    "canon": "c794a6fc...",
    "time": 1703500800,
    "refs": ["03b42642..."],
    "proof": "9a06e9a9..."
  },
  "public_key": "c70b1f7e..."
}

Standard Canons

glo-cli implements the following protocol canons:

Name ID Description
raw:sha256:1.0 c794a6fc... Standard file signatures
timestamp:simple:1.0 5c25b519... Self-reported timestamping
canon:definition:1.0 df4e66f5... Protocol extension definitions
opt:git:commit:1.0 6fd6b8e8... Git commit attestations
opt:glogos:manifest:1.0 8e85667a... Directory batch manifests

File Structure

~/.glogos/
├── zone.json        # Identity info (zone ID, public key, metadata)
├── secret.enc       # Encrypted private key (Default secure mode)
└── secret.key       # Plaintext private key (Only in --insecure mode)

Security Modes

  1. Encrypted (Recommended): Private key is protected by Argon2id + AES-256-GCM.
  2. Insecure (--insecure): Private key stored in plaintext. Useful for CI/CD or automated scripts.

To migrate from insecure to encrypted mode without losing your identity:

glo migrate

Comparison with GPG

Feature GPG glo
UX Complex (20+ questions) Zero-config (0 questions)
Trust Web of Trust / Key Servers Self-certifying / DAG-based
Storage Complex keyrings Minimal JSON files
Crypto RSA/DSA/ECDSA (Legacy) Ed25519 + Argon2id (Modern)
Auditable Binary blobs Human-readable JSON

Requirements

Protocol

License

Apache-2.0

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

glo_cli-0.1.0.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

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

glo_cli-0.1.0-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

Details for the file glo_cli-0.1.0.tar.gz.

File metadata

  • Download URL: glo_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.1

File hashes

Hashes for glo_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6ee37a88df2c1d217514ea1001fec3a286bc45188bfa86f49123e0db0cfd33bb
MD5 c30464edc672909d199609809430bbd5
BLAKE2b-256 0afb5be3b264be6919d807e46c2d66c27c63832659d5449a4b285eeaa339ff3f

See more details on using hashes here.

File details

Details for the file glo_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: glo_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.1

File hashes

Hashes for glo_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bd536d89b34acf1f51c97e2df666004249a6e065d43a61dd323b72b43204d4d2
MD5 de198e45b75ac25180c343e963e142c7
BLAKE2b-256 9e51c9e2eb998cfcdd25dcf8ddbb432577bbd6f13bbadaafdd8582a6e5ea936f

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