🤫husshhussh
🤫husshhusshOnePuppy
RFC-002 · for agents

How another agent asks a person for something.

A published vocabulary, five tiers that decide what may ever happen to a field, purpose bundles that make an ask legible to a human, and a handshake that ends in a receipt. This is what an agent needs to integrate.

The scope registry (JSON)What is actually running
Registry v0.5.0

252 scopes, five tiers, 8 purposes.

The vocabulary is generated, versioned, and served as a single public document at /pchp/scopes.json. Fetch it, cache it against its version, and build against the names — not against prose on a page, including this one.

Seven roots

favorites · life · prefs · privacy · profile · story · wants

Dot-paths beneath each root. privacy.* is the wedge — the one preference every site on earth already legally needs — and the rest is the ordinary texture of a life.

Interoperable by design

109 scopes carry an IAB Audience Taxonomy path where an industry equivalent exists, and the privacy scopes map onto Google Consent Mode v2 keys. An existing ad or analytics stack does not need a new vocabulary to honour a grant — it needs to stop guessing.

The tiers

What may EVER happen to a field.

The tier is not advice. It is the rule that governs a scope for the whole of its life, and it is the part an integrating agent most needs to read, because a request that ignores it will be refused rather than negotiated.

TierCountRule
0 Open3Coarse, disclosed free on a first handshake.
profile.region
1 Signal16Consent state. Machine-readable, bundleable.
privacy.analytics
2 Commercial153Segments, intent, affinity. Priced, bundleable, auctionable.
wants.travel.destination
3 Sensitive62Never bundled. Priced only to a named counterparty for a named purpose — never an open auction.
life.health.condition
4 Intimate18Never auctionable at any price. Granted only to a named human or institution, time-boxed and revocable.
story.*

Two consequences worth stating plainly to anyone building against this. An unknown scope resolves to tier 4, the most restrictive — a typo fails closed, never open. And a write to any scope at tier 3 or above is refused outright today rather than stored, because the encrypted store those fields belong in is not yet wired. We would rather refuse than accept something we cannot yet protect.

Purpose bundles

Ask for a reason, not a list of fields.

A person cannot meaningfully consent to nineteen dot-paths. They can consent to “so the hotel can have your room the way you like it before you arrive.” A purpose is a named, pre-declared bundle: an audience, a plain-English ask, a TTL, and the exact scopes it resolves to.

hospitality.stay

Look after me during my stay

So we can have your room the way you like it before you arrive.

A hotel, resort or host you are staying with · 14 days

hospitality.dining

Get my table right

So the kitchen and the floor know what suits you before you sit down.

A restaurant, bar or room-service team · 7 days

concierge.assist

Help me get something done

So they can act for you without asking you the same questions twice.

A concierge or assistant acting on your behalf · 30 days

retail.fit

Send me things that fit

So what arrives is your size the first time.

A shop or brand you buy from · 180 days

advertising.consent

Respect my privacy settings

So you never have to answer a cookie banner again.

Any site, app or brand · 365 days

local.connect

Connect me to someone local who can help

So the right person nearby can reach you about the thing you asked for.

A local professional or their agent · 30 days

care.coordinate

Help my care team look after me

So the people treating you are working from the same facts.

A clinician or care coordinator you name · 90 days

money.advise

Advise me properly

So advice is based on your actual situation, not a guess.

A financial professional you name · 180 days

The generator refuses to build a purpose that names an unknown scope, or that carries an intimate-tier scope at all. A bundle cannot quietly widen.

The handshake

Composed over the rails you already speak.

PCHP does not replace MCP or A2A. MCP standardises how an agent reaches a tool; A2A standardises how two agents negotiate. PCHP adds the four things neither carries: who asked, under what consent, for what purpose, and with what receipt.

Following the multi round-trip pattern MCP adopted in its 2026-07-28 revision, an ungranted request is answered rather than blocked — the issuer names exactly what is missing and where to grant it, and the requester comes back. No held connection.

# 1. Read the vocabulary. Cache against its version.
GET /pchp/scopes.json          -> { version: "0.5.0", scopes: [...] }

# 2. Ask by purpose, not by field list.
POST /pchp/read
PCHP-Purpose: hospitality.stay
PCHP-Protocol-Version: pchp/2026-07-12

# 3. Not granted yet. You are told precisely what is needed.
{
  "resultType": "consent_required",
  "purpose": "hospitality.stay",
  "required": [ { "scope": "prefs.room.temperature", "tier": 2 } ],
  "grantAt": "https://hushh.ai/@ada/consent?req=01J...",
  "expiresIn": 900
}

# 4. The person decides. You retry with the grant.
POST /pchp/read
PCHP-Receipt: rcpt_01J...

# 5. You receive only the granted scopes, and a receipt exists on both sides.

Scope, purpose and receipt travel in headers deliberately: an enforcement point can allow, deny, meter and log an access without ever parsing the body. The gateway sees that a subscriber asked for a tier-2 scope under a named purpose, and never sees the person’s data.

On-device first

Where this actually runs.

The order is not incidental: on device first, edge second, cloud last, and only when the work earns it. Apple Silicon shares one physical pool of memory across CPU, GPU and Neural Engine, which means the expensive operation in a hybrid personal-AI system is not compute — it is copying, and Apple already deleted the copy.

So intent parsing, redaction, rendering a consent card, and search over a person’s own vault belong on the phone: they must be instant and they must never leave. We are building toward the on-device stack Apple exposes — MLX, the Foundation Models framework, Core ML and the Neural Engine — with Private Cloud Compute’s guarantees as the reference posture for anything that does leave.

Day zero is Google-first and Gemini-first: someone arriving with a Google account and nothing else must have a working agent before configuring anything. Beyond that, every open model meeting the open-source community’s own standards for safety and trust is supported — a model you can inspect, host and keep is the only kind that fully honours own your AI.

Enterprise

What we are building toward, stated honestly.

For enterprise agents the integration targets are deliberate: Salesforceas the priority CRM surface, because that is where a human agent’s customer relationships already live, and MuleSoft as the API and integration layer beneath it. On the agent rails, MCP and A2A for tools and negotiation, AP2 and UCP for anything that moves value.

These are our integration priorities, not announced partnerships. Naming Salesforce, MuleSoft, Google, Gemini, NVIDIA or Apple here describes where we are investing engineering effort and which public interfaces we build against. It does not claim affiliation, endorsement, or a commercial agreement with any of them, and we will not write a sentence that implies one before it is signed. What is actually running is the record of what exists today.

Build against the registry.

The vocabulary is public, versioned and generated. The gaps are published beside it.

RFC-002 in fullThe specification

One is a product of Hushh Technologies Corporation (brand: 🤫 “hussh”), an independent company. One runs on third-party silicon, systems, and cloud; platform names are used solely to describe where One software runs and imply no affiliation, endorsement, or sponsorship by those platforms. Our own go-to-market and bill-of-materials partner programs are real and actively in pursuit; we name a partner only once an agreement is executed.