Volvo
Volvo Cars
Complimentary Ohme home charger worth up to £999 with standard installation on qualifying new electric and plug-in hybrid programmes. A specialist usually calls you to arrange the claim.
Independent eligibility demo
Employees of Volvo, Polestar and the Volkswagen Group are entitled to complimentary Ohme home charging on qualifying programmes. Today that claim means handing over your name, address and order details to be stored. This tool proves the same eligibility with one signed yes or no, and nothing personal ever leaves your browser.
Engineers: npm i affixio@beta, prove locally, verify locally. The panel on the right is the exact code path.
Independent demo. AffixIO is not a partner of Ohme, and is not affiliated with, endorsed by, or acting for Volvo, Polestar, Volkswagen Group, or any brand named on this page.
The programme
Ohme is the official home EV charging partner across these programmes in the UK and Ireland. Chargers are supplied with standard installation. The entitlement is real, and so is the personal data the paper trail usually collects.
Volvo
Complimentary Ohme home charger worth up to £999 with standard installation on qualifying new electric and plug-in hybrid programmes. A specialist usually calls you to arrange the claim.
Polestar
Ohme is Polestar's official UK home charging partner. Qualifying Polestar 2 programmes included a complimentary Ohme Home Pro with standard installation in the list price of the car.
VW Group
Audi, CUPRA, SEAT, Škoda, Volkswagen and VW Commercial Vehicles all recommend Ohme. Qualifying ID. and electrified orders receive a 7kW ePod or Home Pro with standard installation.
Live eligibility check
Pick the brand you work for, type any payroll-style reference, and watch exactly what leaves your browser. The reference is hashed locally; only the digest reaches the AffixIO API, which signs the answer with ML-DSA-65.
Charger claim ready
AffixIO proof
Stamped by the live AffixIO API and signed with ML-DSA-65, the FIPS 204 post-quantum algorithm. Nothing personal goes into the payload.
Free developer allocation
Test the exact wiring on this page with production shaped proofs: local prove, ML-DSA-65 attestation, and Hub quota in one place. Ideal for the Ohme style claim above, agentic payment checks, and transaction intent proofs.
affixio npm package as the code panelsTerms: one 100 proof allocation per account holder, per person or business owner. Proofs expire after 30 days. Duplicate, shared, automated or abusive signups may be refused or removed.
100free proofs
See free proofs splitTakes about 2 minutes. Confirm your email and Hub issues a trial licence key.
How it works
The same outcome as the paper form, a decision you can fulfil on, with none of the identity paperwork stored along the way.
Your payroll reference is mixed with the brand and hashed with SHA-256 in this browser. The raw value never travels, Web Crypto keeps it on the device.
The page sends one request carrying the claim digest and the sector. AffixIO signs the answer for the partner policy you wire in, returning a yes or no with a proof id, audit id and policy version. No account. No uploaded documents.
An APPROVED verdict unlocks the claim reference. Ohme ships the charger against that reference alone, so no customer profile ever needs to exist.
What you are looking at
Four things this demo makes visible.
The problem with the status quo
Complimentary charger programmes across Volvo, Polestar and the Volkswagen Group work today by collecting personal details, name, home address, email, order number, through dealer forms and call-backs. Each copy is a record to secure, retain and eventually delete, and none is needed to answer one question: is this employee entitled?
The AffixIO answer
This tool reduces the claim to a digest. Your payroll reference is hashed in the browser with SHA-256; the digest and the sector travel with the request, and none of the personal details do. AffixIO then signs the decision for the partner policy you wire in and returns a yes or no, with a proof id, an audit id and the policy version the decision was made against, a proof you can store rather than a personal record you have to keep.
How the demo decides
This demo page runs a local rule to simulate the partner's decision: partner brands pass, non-partners do not. That local rule is only for this browser demo. It exists so you can see what a yes and a no look like in the same flow. In production the partner's own policy sits with the API: you send the digest and the sector, AffixIO signs the decision against that policy, and returns a proof id, audit id, policy version and ML-DSA-65 signature. The signature, audit trail and zero-PII payload are the same either way.
What is never collected
No name, email, address, date of birth, phone number or document upload exists anywhere in the flow, not in the form, not in the payload, not in the proof. The ledger under every result itemises it.
Engineer wiring
The npm SDK is the production path. Prove on your host where the HR record lives, verify before fulfilment, and keep the signed evidence with the claim. The REST call underneath is shown too, so any stack can follow along.
import { AffixSDK } from "affixio";
const sdk = new AffixSDK({ apiKey: process.env.AFFIX_API_KEY });
// Keep this on your server. Never ship the key in client JS.
// npx affixio set-key --api-key aio_live_... (stored mode 0600)
// 1. Your policy decides, the SDK proves. HR data stays on the host.
const eligible = await isOnOhmeScheme(employeeRef); // your HR lookup
const proof = await sdk.prove({
mode: "offline",
circuitId: "simple_yesno",
fields: { claim: eligible ? "ohme-partner" : "not-eligible", required: "ohme-partner" },
});
// proof: { proof_id, proof (hex), decision: "yes" or "no", envelope, signature }
// 2. Verify locally before fulfilment. No second network call needed.
const check = await sdk.verifyLocal("simple_yesno", proof.proof, {
envelope: proof.envelope,
});
if (!check.valid || proof.decision !== "yes") {
return denyClaim({ reason: "NOT_ENTITLED", proof_id: proof.proof_id });
}
fulfilCharger({
proof_id: proof.proof_id,
digest: proof.proof_digest,
signature: proof.signature.signature_b64,
});
npm i affixio@beta, issue a Hub server key, store with npx affixio set-key or AFFIX_API_KEY.sdk.prove({ mode: "offline", circuitId: "simple_yesno", fields }) returns a signed proof_id in under a millisecond.sdk.verifyLocal(...) checks the envelope. Gate the charger on check.valid plus decision === "yes".// 1. Throwaway demo key (production: use a Hub server key)
const keyRes = await fetch("https://api.affix-io.com/api/demo-key", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ maxUses: 60 })
});
const { key } = await keyRes.json();
// 2. One stateless call. The digest is all the API ever sees.
const res = await fetch("https://api.affix-io.com/v1/verify", {
method: "POST",
headers: { "Content-Type": "application/json", "Authorization": "Bearer " + key },
body: JSON.stringify({
identifier: "ohme-partner:volvo:9f3a1c42a8d3e6b1",
sector: "automotive",
requestAttestation: true
})
});
// 3. Enforce the signed answer. On 401 or 403, fetch a fresh key and retry once.
const proof = await res.json(); // { eligible, reason_code, proof_id, attestation }
if (!proof.eligible) return denyClaim(proof);
fulfilCharger(proof);
ohme-partner:<brand>:<sha256> plus sector. No PII crosses the wire.eligible, reason_code, proof_id and an ML-DSA-65 attestation arrive in one round trip.Independence notice
AffixIO is not a partner of Ohme and is not affiliated with, endorsed by, or acting for Volvo, Polestar, Volkswagen Group, or any company named on this page. This is an independent AffixIO eligibility demo. Brand names appear only to describe the example claim scenario.Nothing here places an order with Ohme, checks a live employer record, or promises a charger. Always confirm current offers with the official brand or Ohme channels.
Straight answers on what this tool does and does not do.
Yes, but you get 100 free proofs to test. The page requests a throwaway demo key from the live AffixIO API on its own and spends it on one signed verification, so you never type a key here. To wire this flow into your own product, you need a Hub server key, and new account holders can claim one allocation of 100 free SDK proofs to try it out.
None. Your payroll reference is hashed in this browser with SHA-256. The request payload contains only the claim digest and the sector. No name, email, address, date of birth or phone number is ever sent. The proof card shows exactly what was signed.
Volvo, Polestar and the Volkswagen Group: Audi, CUPRA, SEAT, Škoda, Volkswagen Passenger Cars and Volkswagen Commercial Vehicles. Ohme is the official home charging partner for these brands in the UK and Ireland.
The answer stamped by the live AffixIO API for the partner policy you wire in: a proof id, an audit id, the policy version that was decided against, and an ML-DSA-65 signature over the payload digest (the same post-quantum signature family the production platform uses).
No. AffixIO is not a partner of Ohme and is not affiliated with, endorsed by, or acting for Volvo, Polestar, Volkswagen Group, or any company named here. This page is an independent eligibility demo that shows how a signed yes or no could replace personal data collection. It does not place an order, check a live employer record, or promise a charger.
This is an independent AffixIO eligibility demo, not an Ohme ordering channel. The signed proof, proof id, audit id and ML-DSA-65 signature are real and come from the live AffixIO API. The charger claim card shows how a partner programme could fulfil on the claim reference alone, without a customer record. AffixIO is not a partner of Ohme and is not affiliated with any brand named here.
New Hub account
100 free proofs
Confirm your email and Hub issues a trial licence key with 100 SDK proofs. Each account holder is allowed one allocation of 100 free proofs. You have 30 days to use them. No card. Unused proofs do not roll over.