Internet-Draft HACP Architecture September 2026
Cassandres Expires 17 March 2027 [Page]
Workgroup:
Network Working Group
Internet-Draft:
draft-cassandres-hacp-agency-arch-00
Published:
Intended Status:
Informational
Expires:
Author:
S. Cassandres
Digital Humanism Collective

Human Agency Continuity Protocol (HACP) Architecture

Abstract

This document describes the architecture of the Human Agency Continuity Protocol (HACP): a pre-execution authorization contract for tool-using agents. HACP separates human intent, deterministic evaluation, cryptographic decision binding, and enforcement so that an agent cannot silently reinterpret authorized action after a decision is issued.

This document is Informational. It is not an Internet Standard. It does not activate Enforcement revision 2 and does not claim general URI-normalization conformance.

The acronym HACP in this series means Human Agency Continuity Protocol. A separately posted individual Internet-Draft, draft-sunyi-hacp-protocol, uses the same four letters for a different protocol (Hardware Agent Capability Protocol) by a different author. The present author has no affiliation with that document.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 17 March 2027.

Table of Contents

1. Introduction

Agent systems can call tools, HTTP APIs, and other machine interfaces faster than a human can continuously supervise each call. Existing application protocols authenticate a session or sign a message. They do not, by themselves, bind a later tool invocation to the exact authorized action semantics.

HACP addresses that gap with a language-agnostic evaluate-before-execute path:

intent envelope
        |
        v
proposed action
        |
        v
deterministic evaluate()
        |
        +--> ALLOW + DecisionToken
        +--> DENY
        `--> CHECKPOINT
        |
        v
enforcement point
        |
        v
action

The authoritative published contract is HACP Specification v1.0.0 Variant A [HACP-SPEC-1.0.0]. Independent implementations in Python, TypeScript, and Go reproduce the same 38-vector decision-level HACP-Core suite. This draft restates the architectural boundary for review. It does not replace the published specification.

1.1. Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

Normative protocol detail lives in [I-D.cassandres-hacp-agency-core]. This document uses BCP 14 language only for architectural constraints.

2. Problem

Without a pre-execution authority contract, a delegated agent can:

HACP treats those as authorization failures, not as product UX issues.

3. Non-Goals

HACP does not:

Anything not required by a published HACP-Core invariant is out of scope until added through the specification versioning policy.

4. Architectural Components

4.1. IntentEnvelope

A signed declaration of principal, scope grant, optional autonomy budget, and validity interval. The human-readable intent_statement is informational. Scope and signatures are authoritative.

4.2. ProposedAction

A schema-constrained description of one intended act: verb, resource, audience, reversibility, externality, data class, optional quantity, destination, and tool name.

4.3. evaluate()

A deterministic function from envelope, action, policy digest, revocation state, and clock to ALLOW, DENY, or CHECKPOINT. It MUST NOT require an LLM on the hot path.

4.4. DecisionToken

Issued only on ALLOW. Bound to the SHA-256 of the canonical ProposedAction. Verification against any other action MUST fail.

4.5. Provenance

Append-only, hash-chained, signed events for evaluation, issuance, denial, checkpoint, revocation, and optional execution.

4.6. Enforcement Point

An ALLOW without an enforcement point is advisory. A compliant deployment places mediation between the agent and enforceable transports (for the current active profile: mediated tool calls and explicit HTTP proxy). Fail-closed is mandatory when authority or control state cannot be established.

5. Version Domains

HACP 1.0.0 keeps domains separate on purpose:

Specification release     1.0.0
Canonical HACP-Core       0.9.2
Canonical vector set      core-0.9.2
Wire/object hacp_version  0.9
Runner Protocol           1
humanist-core package     0.5.0

Specification release 1.0.0 does not migrate wire objects to hacp_version 1.0 and does not activate Enforcement revision 2.

6. Implementation Status

Published evidence at the specification tag v1.0.0:

Go, TypeScript, Python HACP-Core     38/38 decision-level PASS
Sidecar decision outcomes            38/38 correct
Sidecar exact reason codes           15/38 PASS, 23/38 classified
Python <-> Go external E2E           5/5 PASS
Clean-clone validation               PASS

Exact reason-code 38/38 is not a HACP 1.0.0 Variant A claim. Successor request-binding work (HC2) exists as draft evidence and is not the advertised 1.0 Enforcement contract.

Vector set digest (SHA-256):

1e167887106463cf89c81f3898e1f3ae4fd905bc807084959c787287f6575d58

The conformance Ed25519 identity derived from SHA-256("hacp-conformance-v0.9-key-001") is TEST ONLY and MUST NOT be used in production.

8. Security Considerations

HACP reduces silent reinterpretation of authority. It does not protect against:

Fail-closed is the required reaction to signature failure, unknown keys, expiry, revocation, scope crossing, budget exhaustion, unknown security-relevant attributes, and stale distributed control state.

Confused-deputy risk at the tool name and request-target representation is in scope for enforcement profiles. Content of payloads is not inspected.

9. IANA Considerations

This document has no IANA actions.

10. Relationship to Implementation Licenses

Known implementations are published under licenses distinct from the IETF Trust terms that will apply to this document after posting. Posting this Internet-Draft does not change the licenses of the separately published specification or implementation repositories.

11. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, , <https://www.rfc-editor.org/info/rfc8174>.

12. Informative References

[RFC3986]
Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, , <https://www.rfc-editor.org/info/rfc3986>.
[RFC9110]
Fielding, R., Nottingham, M., and J. Reschke, "HTTP Semantics", STD 97, RFC 9110, , <https://www.rfc-editor.org/info/rfc9110>.
[RFC9421]
Backman, A., Richer, J., and M. Sporny, "HTTP Message Signatures", RFC 9421, , <https://www.rfc-editor.org/info/rfc9421>.
[HACP-SPEC-1.0.0]
Collective, D. H., "Human Agency Continuity Protocol (HACP) Specification v1.0.0, Variant A", Version 1.0.0, , <https://github.com/digital-humanism/hacp-spec/releases/tag/v1.0.0>. Frozen source commit c468c9bb0427448e564bcf3e7d9c8a3a004b8513.
[I-D.cassandres-hacp-agency-core]
Cassandres, S., "Human Agency Continuity Protocol (HACP) Core", Work in Progress, Internet-Draft, draft-cassandres-hacp-agency-core-00, , <https://datatracker.ietf.org/doc/html/draft-cassandres-hacp-agency-core-00>.
[I-D.sunyi-hacp-protocol]
Sun, Y., "Hardware Agent Capability Protocol", Work in Progress, Internet-Draft, draft-sunyi-hacp-protocol, , <https://datatracker.ietf.org/doc/draft-sunyi-hacp-protocol/>.

Author's Address

Sergio Cassandres
Digital Humanism Collective