Hardrails reference implementation: a bounded network agent. Deterministic boundaries around a non-deterministic agent.
Project description
Hardrails
Guardrails ask. Hardrails enforce.
Hardrails is an open, vendor-neutral method for giving an AI agent real work on a production network without giving it the ability to take one down: deterministic boundaries around a non-deterministic agent.
The idea in 60 seconds
An AI agent is a model plus a harness. The model half is genuinely useful now. It is also non-deterministic, and when it is wrong, it is wrong confidently, at machine speed.
A prompt is a request. The agent can misread it, forget it, or have it overridden by injected text in the data it reads. Every "you must never" in a system prompt is a behavior you are hoping for.
Hardrails puts the rules that matter in the tool layer instead, as running code that sits in the path of every action the agent takes:
- Tools are read-only by default, enforced per command.
- The one tool that can generate a change produces a dry-run diff and stops.
- Nothing reaches a device without an explicit, recorded human yes.
The agent can propose any change and can push none. Not because the model promised to behave, but because the capability to misbehave was never granted.
The contract: 7 components, 2 tiers
| # | Component | The question it answers | Lives in |
|---|---|---|---|
| 1 | Role | Who is the agent? | Prompt |
| 2 | Context | What does it know? | Prompt |
| 3 | Constraint | What are the rules of engagement? | Prompt |
| 4 | Output Format | What does done look like? | Prompt |
| 5 | Tools | What can it touch? | Code |
| 6 | Boundary | What can it never do, and what enforces that? | Code |
| 7 | Evaluation | How does its work get checked? | Code + human |
The full spec covers the 7 normative boundary principles, the conformance checklist, and the adoption path: hardrails-spec.md.
Status
- Specification: v1.0. Stable, versioned, in this repo.
- Reference implementation (
netagent/): in active development. A bounded network agent built as an MCP server (FastMCP, Netmiko, Pydantic, NetBox as the intent source of truth), for a 3-node Cisco lab replicable on CML Free. The data models that make "silently apply a change" unrepresentable are already here; the server, the boundary code, and the lab topology ship with the full video walkthrough.
The complete build walkthrough is coming on G Talks Tech. Subscribe there or join the mailing list at join.gtalkstech.com if you want it when it lands.
Licensing
- The specification and all written material: CC BY 4.0. Share it, teach it, adapt it, with attribution.
- All source code: Apache-2.0.
Hardrails™ is a trademark of Garrett Masters (G Talks Tech). See NOTICE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hardrails-0.1.0.dev0.tar.gz.
File metadata
- Download URL: hardrails-0.1.0.dev0.tar.gz
- Upload date:
- Size: 14.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
950df40df189dc19087eefe253268d799cc63d142f8a1bf53bef439311b594e3
|
|
| MD5 |
fd18ddda3ef3a212f398161d16581204
|
|
| BLAKE2b-256 |
d0e10615cf97c06b8dab9cdde051bfd86581284d21fa0e2d151635c3e4e1aa2d
|
Provenance
The following attestation bundles were made for hardrails-0.1.0.dev0.tar.gz:
Publisher:
publish.yml on GTalksTech/hardrails
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hardrails-0.1.0.dev0.tar.gz -
Subject digest:
950df40df189dc19087eefe253268d799cc63d142f8a1bf53bef439311b594e3 - Sigstore transparency entry: 2091941108
- Sigstore integration time:
-
Permalink:
GTalksTech/hardrails@051c2865f02aedc9f27ad5b0e03fb6d686092ff4 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/GTalksTech
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@051c2865f02aedc9f27ad5b0e03fb6d686092ff4 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file hardrails-0.1.0.dev0-py3-none-any.whl.
File metadata
- Download URL: hardrails-0.1.0.dev0-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d583842da2e5d9a995d55f93dba69d80882a8cf3c257d35e450ed7307a08721e
|
|
| MD5 |
634e49ca108aa9f853be9adf096df648
|
|
| BLAKE2b-256 |
10eda07f7724b5a9fa9de6000e483034846abc16f6e069271dc2e1dfadabf7a8
|
Provenance
The following attestation bundles were made for hardrails-0.1.0.dev0-py3-none-any.whl:
Publisher:
publish.yml on GTalksTech/hardrails
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hardrails-0.1.0.dev0-py3-none-any.whl -
Subject digest:
d583842da2e5d9a995d55f93dba69d80882a8cf3c257d35e450ed7307a08721e - Sigstore transparency entry: 2091941362
- Sigstore integration time:
-
Permalink:
GTalksTech/hardrails@051c2865f02aedc9f27ad5b0e03fb6d686092ff4 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/GTalksTech
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@051c2865f02aedc9f27ad5b0e03fb6d686092ff4 -
Trigger Event:
workflow_dispatch
-
Statement type: