Overview
Implement GPG commit signing across all development environments (local desktop, LXC containers, Docker containers including Claude YOLO) with full security and minimal hassle.
User Experience Requirements
Security Goals
- ✅ Full cryptographic verification - All commits verifiable on GitHub with "Verified" badge
- ✅ Private key protection - Keys never leave the host system
- ✅ Agent-based authentication - Passphrase entered once, cached securely via gpg-agent
- ✅ No key duplication - Single GPG key on host, forwarded to all containers
Usability Goals
- ✅ Zero manual intervention - After initial setup, signing should be transparent
- ✅ Single passphrase prompt - Enter passphrase once per session (or once per day)
- ✅ Automatic in all environments - Works seamlessly in:
- Local desktop git operations
- LXC container development
- Docker containers (Claude YOLO via
ccy)
- Any future containerized workflows
- ✅ No per-container setup - Containers inherit signing capability automatically
- ✅ Integrated with gnome-keyring - Passphrase cached by GNOME Keyring on host
- ✅ Survives reboot - Configuration persists across system restarts
Target Environments
- Host (Fedora Desktop) - Primary GPG key storage and gpg-agent
- LXC Containers - Development containers with full system access
- Docker Containers - Isolated containers (especially Claude YOLO)
- Future Containers - Any new containerized development workflows
Implementation Scope
Phase 1: Host Setup
Phase 2: Container Forwarding
Phase 3: Automation
Success Criteria
Non-Goals
- ❌ Multiple GPG keys per environment
- ❌ Hardware token (YubiKey) support in v1 (future enhancement)
- ❌ Automatic public key upload to GitHub (requires API, manual is fine)
References
- TODO: Add research findings in comments below
Overview
Implement GPG commit signing across all development environments (local desktop, LXC containers, Docker containers including Claude YOLO) with full security and minimal hassle.
User Experience Requirements
Security Goals
Usability Goals
ccy)Target Environments
Implementation Scope
Phase 1: Host Setup
Phase 2: Container Forwarding
Phase 3: Automation
Success Criteria
ccy) can make signed commits without passphrase promptsNon-Goals
References