Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.

LockStock Guard

Enterprise secrets daemon for LockStock Protocol - "Secure Enclave in Software"

Overview

LockStock Guard provides enterprise-grade secrets management for AI agent deployments. Unlike personal secrets managers, Guard implements user separation where the daemon holds secrets and agent applications request them via IPC.

                    AGENT SERVER

  +------------------+         +---------------------------+
  |  lockstock-guard |         |    agent application      |
  |  (liberty-user)  |         |    (app-user)             |
  |                  |  Unix   |                           |
  |  - Owns vault    | Socket  |  - Cannot read vault      |
  |  - Decrypts      |<------->|  - Requests via IPC       |
  |  - Serves        |         |  - Gets only what needed  |
  +------------------+         +---------------------------+

  /var/lib/liberty/secrets.enc  (liberty:liberty, mode 600)
  /var/run/liberty/liberty.sock (liberty:agents, mode 660)

Installation

pip install lockstock-guard

Requires: liberty-secrets (installed automatically)

Quick Start

1. Initialize the Enterprise Vault

# Create enterprise vault directory (as root or liberty-user)
sudo mkdir -p /var/lib/liberty /var/run/liberty
sudo chown liberty:liberty /var/lib/liberty
sudo chown liberty:agents /var/run/liberty
sudo chmod 750 /var/lib/liberty /var/run/liberty

# Initialize vault (as liberty-user)
sudo -u liberty liberty --vault /var/lib/liberty init

# Add agent secrets
sudo -u liberty liberty --vault /var/lib/liberty add AGENT_XYZ_SECRET

2. Start the Daemon

# Start daemon (as liberty-user or via systemd)
lockstock-guard start

# Or with custom paths
lockstock-guard start --vault /var/lib/liberty --socket /var/run/liberty/liberty.sock

# Check status
lockstock-guard status

3. Use from Agent Application

from lockstock_guard import client

# Get a secret (connects to daemon via socket)
secret = client.get("AGENT_XYZ_SECRET")

# List available keys
keys = client.list_keys()

# Connection pooling for multiple requests
with client.connect() as conn:
    key1 = conn.get("API_KEY")
    key2 = conn.get("DATABASE_URL")

Systemd Service

Install the systemd service for production:

sudo cp lockstock-guard.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable lockstock-guard
sudo systemctl start lockstock-guard

Security Model

Component User Access
Vault file liberty-user Read/write (mode 600)
Socket liberty:agents Group access (mode 660)
Daemon liberty-user Decrypts, serves secrets
Agent app app-user (in agents group) Socket only, no vault access

Key security properties:

  • Secrets never in environment variables
  • Vault file inaccessible to agent processes
  • Compromised agent cannot dump vault
  • Least privilege - agent gets only requested secrets

Integration with LockStock MCP

The Guard integrates with the LockStock MCP Wallet server:

# MCP server configuration
export LIBERTY_SOCKET=/var/run/liberty/liberty.sock
export LOCKSTOCK_AGENT_ID=agent_xyz

# MCP Wallet retrieves secret from Guard daemon
# Agent never sees the secret directly

CLI Reference

lockstock-guard start [OPTIONS]
    --vault PATH      Vault directory (default: /var/lib/liberty)
    --socket PATH     Socket path (default: /var/run/liberty/liberty.sock)
    --group NAME      Socket group (default: agents)
    --foreground      Run in foreground (don't daemonize)

lockstock-guard stop
    Stop the running daemon

lockstock-guard status
    Check if daemon is running

License

MIT License - See LICENSE file

Metadata

Release files for lockstock-guard 1.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lockstock-guard 1.4.1
File Size Uploaded
lockstock_guard-1.4.1.tar.gz 43.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lockstock-guard 1.4.1
File Interpreter ABI Platform
lockstock_guard-1.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 86.4 kB

Release files / lockstock_guard-1.4.1.tar.gz

Download URL lockstock_guard-1.4.1.tar.gz
Size 43.9 kB
Tags Source
SHA-256 checksum
How to use checksums
96108e20fc791c1584f773f75d0553a1bd02034858e714c5b58c031e5549dafd
BLAKE2b-256 checksum
How to use checksums
1325058c19b80174d845e7536d0f5f63e7ee6cb89ee51c6e2f7c86c08b22d39c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / lockstock_guard-1.4.1-py3-none-any.whl

Download URL lockstock_guard-1.4.1-py3-none-any.whl
Size 42.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3260b1e360a87d7b86155b4ed60273c13044f02586e457b6d67b22e70c864035
BLAKE2b-256 checksum
How to use checksums
e2b0e50abba008bd9768364ace2ff5a0b204d3ea255ccaac85248e06e19c672d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page