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. See the latest alpha release and release notes. 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 for the established operator workflows. Scoped native Windows implementations exist; general Windows product, Windows 11, and live-device acceptance remain incomplete. Mobile support is deferred. See Platform Support.
- Transparent
.env, configuration, and workspace encryption use macOS integrations. Memory uses the macOS file vault, a dedicated Linux TPM-wrapped key, or dedicated Windows CNG custody. Linux memory works throughsetup,encryption enable all, and standalone commands; Private Telegram has its dedicated flow. Linux setup/all skip env/config file-vault enrollment. Windows support is reported per capability. - Hermes database encryption (
state.dband the other SQLite stores) is macOS-only and requires the separatedatabases encryptcommand after memory setup. Linux TPM and Windows CNG memory encryption do not encrypt databases.
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.
Keep it up to date
hermes-mordred update # newest release, same extras, Hermes's own packages untouched
hermes-mordred update --check # only tell me
Restart the Hermes gateway (or Hermes Desktop) afterwards. Hermes Desktop users can also press Update Mordred on the Mordred page; a notice appears there when a newer release is known. Details, refusals and the installer fallback are in the usage guide.
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.
To protect conversation databases too, follow the
database encryption steps.
For native Windows, follow the
TPM workflow and capability limits.
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) | Read-only private questions, hardware-sealed credentials, platform limits, 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.3.0a2
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.3.0a2.tar.gz | 2.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hermes_mordred-0.3.0a2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.7 MB
Release files / hermes_mordred-0.3.0a2.tar.gz
| Download URL | hermes_mordred-0.3.0a2.tar.gz |
|---|---|
| Size | 2.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
be9dde4eb72d6a3af7e6db8b06baa3a5d59d31a9bfc5dc92609279b595f8c94c
|
|
BLAKE2b-256 checksum How to use checksums |
d1871b106a0f60f2bb1a01666a369e9a7b979159d460fbefda5c0431f92c01dd
|
| 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 15, 2026.
Transparency logRelease files / hermes_mordred-0.3.0a2-py3-none-any.whl
| Download URL | hermes_mordred-0.3.0a2-py3-none-any.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a59bb7eb8bfd5deeba76809f08d5aa8a46f7c6ac65667a3f5d1341789344a9fd
|
|
BLAKE2b-256 checksum How to use checksums |
829c9e085b5827b32ff4489bd7d1d6ccc009faaae6c1206eaf20c315e0585bbc
|
| 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 15, 2026.
Transparency log