One npm install or pip install. Your LLM key never leaves your network. Every response comes back with a post-quantum certificate (ML-DSA-65 / FIPS 204) bound to your tenant DID. Anyone with the cert can verify provenance. No corpus access required.
Pick the language you already use. The SDKs have identical shape: sign(), wrap(), verify(). No re-architecture. No proxy. No data path change.
$ npm install @hivery/amplihive
import { AmpliHive } from "@hivery/amplihive"; import OpenAI from "openai"; const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY }); const hive = new AmpliHive({ tenantDid: "did:hive:acme", apiKey: process.env.AMPLIHIVE_API_KEY, }); // Your LLM stays on your side. const llm = await openai.chat.completions.create({ model: "gpt-4o-mini", messages: [{ role: "user", content: prompt }], }); const text = llm.choices[0].message.content; // AmpliHive signs the (prompt, response) pair. const cert = await hive.sign({ prompt, response: text }); console.log(cert.certificate.alg); // "ML-DSA-65"
$ pip install amplihive
from openai import OpenAI from amplihive import AmpliHive openai = OpenAI(api_key=os.environ["OPENAI_API_KEY"]) hive = AmpliHive( tenant_did="did:hive:acme", api_key=os.environ["AMPLIHIVE_API_KEY"], ) # Your LLM stays on your side. llm = openai.chat.completions.create( model="gpt-4o-mini", messages=[{"role": "user", "content": prompt}], ) text = llm.choices[0].message.content # AmpliHive signs the (prompt, response) pair. cert = hive.sign(prompt=prompt, response=text) print(cert.certificate.alg) # "ML-DSA-65"
Five stages, one ML-DSA-65 certificate, in the same call: COMPILE → COMPRESS → AMPLIFY → CERTIFY → WRITEBACK. Pick a partner attribution and watch it bind into the signed payload. Tamper any byte and verify fails.
partner_id in the cert. We accumulate. The partner gets the share they negotiated. No reconciliation theater — the ledger is the signed payload.The drop-in is a sealed transit layer. It carries proof, not power. If anything in transit is altered, the certificate breaks.
The tenant corpus is on AmpliHive servers, sealed to your DID. Attackers on the customer host cannot enumerate it. Retrieval is over a 256-dim hashing-trick embedding, not a model fingerprint.
Every cert is ML-DSA-65. Even with full access to the widget binary, an attacker cannot mint a valid certificate. They can verify; they cannot sign.
The certificate binds prompt_hash, response_sha256, and enrichment_sha256 in one payload. Alter any byte of either text after signing and verify() returns ok: false.
No. The widget calls your LLM client. Only the prompt text, response text, and your tenant DID traverse to AmpliHive.
Yes. hive.wrap(callLlm, { promptText }) seals your call: AmpliHive does not need the key, just the function. Same cert at the end.
POST the certificate to /v1/amplify/verify. Optionally include the original prompt and response for full hash-binding checks.
Free up to 1,000 signed calls per month. After that, $0.06 per 1M calls. USDC on Base.
Any model. AmpliHive is LLM-provider invariant. OpenAI, Anthropic, Fireworks, Together, OpenRouter, self-hosted — all supported. Pass a custom extractor for non-OpenAI response shapes.
Patent Pending. Provisional patents filed. IP protection in place.