This release is a pre-release and may not be stable for production use.
hermes-mordred
Privacy-preserving plugins for the Hermes agent: hardware-backed keys, Tor/VPN routing, local-LLM policy enforcement, encrypted audit data, end-to-end gateway messages, and macOS-integrated at-rest encryption.
Mordred is a cooperative control layer inside Hermes, not an operating-system sandbox. See the specification for the security boundary and accepted limitations.
Status: active alpha. New users should start with the Quickstart.
The plugin
The package registers one Hermes plugin, mordred (a single
hermes_agent.plugins entry point), made of these components:
| Component | Purpose |
|---|---|
keyvault |
Secure Enclave / TPM-backed key management and at-rest secrets |
llm_guard |
Strict-mode local-LLM enforcement |
network |
Tor, VPN, and clearnet path management |
privacy_check |
Skill-metadata policy enforcement and audit logging |
e2e |
Encrypted Slack and Discord gateway commands and replies |
wizard |
The hermes-mordred CLI |
Hermes (and Hermes Desktop) lists it as one plugin, mordred; enabling or
disabling it turns every component on or off together. Releases up to
0.1.0a20 registered six plugins instead (mordred_network,
mordred_privacy_check, ...). hermes-mordred plugins migrate (also run by
install.sh, configure, and upgrade) replaces those names in
plugins.enabled / plugins.disabled with mordred. The plugins.mordred_*
settings sections in config.yaml keep their names.
Requirements
- Python 3.11 or newer and
hermes-agent>=0.13.0. - macOS or Linux. Windows and mobile support are deferred.
- Transparent at-rest encryption of
.env, configuration, memory, and the workspace is macOS-only. On Linux the TPM-backed keyvault works, but those encryption targets stay inactive.
Install (users, from PyPI)
Start with an installed Hermes Agent, then run the Mordred installer:
curl -fsSL https://raw.githubusercontent.com/mordredagent/hermes-mordred/main/scripts/install.sh | bash
hermes-mordred setup
hermes-mordred status
install.sh only installs the package; hermes-mordred setup is what
configures Mordred and creates keys. It runs configure, which enables the
mordred plugin. Manual configuration is covered by the
usage guide.
Version pins, optional features, inspect-before-running steps, platform
commands, and expected output are documented in the
Quickstart.
Use it
Use hermes-mordred status for the overall state. On macOS, guided setup also
offers agent-memory protection through hermes-mordred encryption enable memory.
The complete command reference and security ceremonies live in the
usage guide.
Once Hermes 0.19.0+ is configured and the plugins are enabled,
hermes mordred <command> exposes the same command tree. On older Hermes
versions, or before the first configure, keep using hermes-mordred.
Verify discovery
hermes-mordred plugins list
It shows the mordred plugin and whether each component registered. Some
Hermes versions omit package entry points from hermes plugins list.
Documentation
Detailed setup, operations, and troubleshooting are maintained in the dedicated guides:
| Audience | Guide | Covers |
|---|---|---|
| Users | Quickstart | Install and first protected setup |
| Users | Usage guide | Commands, ceremonies, troubleshooting, upgrades, removal |
| Users | Extension guide (preview) | Optional browser extension, E2E messaging, wallet bridge |
| Users | Telegram guide (preview) | Ask Hermes about your own Telegram messages: read-only, Secure Enclave sealed, Venice/local only |
| Developers | Development setup | Editable .venv, HERMES_HOME isolation, validation |
| Developers | Development index | Maintained sources of truth |
License
MIT
Metadata
Release files for hermes-mordred 0.2.0a0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hermes_mordred-0.2.0a0.tar.gz | 1.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hermes_mordred-0.2.0a0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.7 MB
Release files / hermes_mordred-0.2.0a0.tar.gz
| Download URL | hermes_mordred-0.2.0a0.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a315c0f43d0f62994e66ce3d425e7782ae8d13431e05ece8d5e4c129b6342e45
|
|
BLAKE2b-256 checksum How to use checksums |
0ab6088d47213c914e9fcc018d757df387b7fd2be4d1cc68cc03636dc748dfd8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency logRelease files / hermes_mordred-0.2.0a0-py3-none-any.whl
| Download URL | hermes_mordred-0.2.0a0-py3-none-any.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4779833d0575c0fc2fe656a7d70c67fc59b979005eb1ce7a3fdd54150ed06e69
|
|
BLAKE2b-256 checksum How to use checksums |
ad13780838c0b6aeeb014d087d43f267b72d5e38e49b537d499c4c51f334664c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.
Transparency log