One embed gives your users answer-once, silent-forever consent and turns your site or app into a subscriber on the open preference fabric. Free, open, no lock-in. Here's every platform.
Drop this before </body>. First visit shows one clean prompt; every visit after is silent, and your page receives the grant instantly through the pchp:consent event.
<script src="https://hushh.ai/pchp.js"
data-subscriber="your-brand.com"
data-scopes="privacy.marketing-email,privacy.analytics"
data-endpoint="https://your-site.com/api/pchp"></script>
<script>
addEventListener("pchp:consent", function (e) {
// e.detail.scopes -> { "privacy.marketing-email": true, ... }
if (e.detail && e.detail.scopes["privacy.analytics"]) startAnalytics();
});
</script>{% comment %} Paste into your theme's theme.liquid {% endcomment %}
<script src="https://hushh.ai/pchp.js" data-subscriber="{{ shop.permanent_domain }}"></script><script src="https://hushh.ai/pchp.js" data-subscriber="your-brand.com"></script>
<script src="https://hushh.ai/pchp.js" data-subscriber="your-site.com"></script>
import Script from "next/script"; // or a plain <script> in plain React <Script src="https://hushh.ai/pchp.js" data-subscriber="your-brand.com" strategy="afterInteractive" />
The embed is plain JavaScript, so it runs unchanged in any in-app web view today. Load a page that includes the tag, then read the grant your JS bridge forwards. Native Swift and Kotlin SDKs are the next build - the event and endpoint contract below will not change, so anything you build against it now keeps working.
let web = WKWebView(frame: view.bounds) web.load(URLRequest(url: URL(string: "https://your-site.com/consent")!)) // your page runs pchp.js; forward pchp:consent via // window.webkit.messageHandlers.pchp.postMessage(e.detail) to native.
val web = WebView(this)
web.settings.javaScriptEnabled = true
web.addJavascriptInterface(PchpBridge(), "PchpNative")
web.loadUrl("https://your-site.com/consent")
// your page posts pchp:consent to PchpNative.onConsent(json).If you set data-endpoint, every grant and revoke is POSTed as JSON. Any stack, any language - store it, or forward it to your CRM.
{
"pchp": "rfc-002-draft",
"type": "grant",
"subscriber": "your-brand.com",
"scopes": { "privacy.marketing-email": true, "privacy.analytics": false },
"grantedAt": 1753000000000,
"expiresAt": 1784536000000,
"receipt": "local:ab12cd34"
}Client API: PCHP.get(), PCHP.request(scopes) (progressive asks), PCHP.revoke(), PCHP.prompt(). Scope names are the open registry at /pchp/scopes.json.
Live today: the web embed, the scope + agent registries, the consent event, the endpoint contract, and device-local grants with receipts.
In design: native Swift/Kotlin SDKs, account-level sync through the person's own 🤫 Agent One, and server-side receipts. The contract above is stable, so build now.
Shipping this on your site or app, or building an agent on the fabric? We want to help you launch - and feature you.
One is a product of Hushh Technologies Corporation (brand: 🤫 “hussh”), an independent company. One runs on third-party silicon, systems, and cloud; all company names are used solely to describe the platforms on which One software runs. Hushh Technologies is not affiliated with, endorsed by, sponsored by, or partnered with any company named.