Skip to main content
Private Beta

Verify Anything. Store Nothing.

Age verification, credentials, and content authenticity. One API. Zero PII liability. Revoke instantly.

index.html
<script src="https://js.aho.com/v1/components-web"></script>

<aho-provider publishable-key="aho_pub_xxx" base-url="https://js.aho.com">
  <credential-button claims="all">
    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" d="M15 9H18.75M15 12H18.75M15 15H18.75M4.5 19.5H19.5C20.7426 19.5 21.75 18.4926 21.75 17.25V6.75C21.75 5.50736 20.7426 4.5 19.5 4.5H4.5C3.25736 4.5 2.25 5.50736 2.25 6.75V17.25C2.25 18.4926 3.25736 19.5 4.5 19.5ZM10.5 9.375C10.5 10.4105 9.66053 11.25 8.625 11.25C7.58947 11.25 6.75 10.4105 6.75 9.375C6.75 8.33947 7.58947 7.5 8.625 7.5C9.66053 7.5 10.5 8.33947 10.5 9.375ZM11.7939 15.7114C10.8489 16.2147 9.77021 16.5 8.62484 16.5C7.47948 16.5 6.40074 16.2147 5.45581 15.7114C5.92986 14.4207 7.16983 13.5 8.62484 13.5C10.0799 13.5 11.3198 14.4207 11.7939 15.7114Z" /></svg>
    Try It Now
  </credential-button>
  <credential-display class="hidden block mx-auto mt-6"></credential-display>
</aho-provider>

<script>
  document.querySelector('credential-button')
    .addEventListener('aho:credential:verified', e => {
      const display = document.querySelector('credential-display')
      display.classList.remove('hidden')
      display.setAttribute('src', e.detail.result.renderUrl)
    })
</script>
Try It Now

Verify your identity with Apple or Google Wallet — no signup needed

Requires a mobile driver's license in Apple/Google Wallet

Built on W3C and ISO — the standards behind Apple Wallet and Google Wallet.

example.com/verify

User taps wallet → shares claim → you verify. 3 seconds. Zero PII stored.

Core Capabilities

One API. Three problems solved.

Age Verification

Verify users are 21+ without storing their birthday. Users tap Apple Wallet, share "over 21" — you store nothing.

Works with mDLs in 15 US states.

Learn more

AI Agent Identity

Coming Q3 2026

Your agents call external services. Authenticate them, scope their access, revoke bad actors instantly.

MCP-ready. Works with any framework.

How agent credentials work

Content Authenticity

Coming Q3 2026

Prove your content is real in a world of AI fakes. Sign at creation, verify anywhere.

EU AI Act deadline: Aug 2026.

How content signing works
Paradigm Shift

The old way vs. the new way

Old Way

User uploads ID photo

New Way

User shares one claim

Old Way

You store DOB, address

New Way

You store nothing

Old Way

Data breach = lawsuit

New Way

No PII = no breach risk

Old Way

$3-15 per verification

New Way

Fraction of the cost

Old Way

Vendor lock-in

New Way

Open standards (W3C)

Old Way

Can't revoke after issued

New Way

Revoke instantly, anywhere

Integration

How it works

1

Request

Your app requests age proof

2

User

User taps Apple Wallet, shares "21+"

3

Verify

Aho verifies cryptographically. You store nothing.

verification_flow.rb
# Verify a user's age
client = AhoSdk.verifier(api_key: ENV["AHO_API_KEY"])

# Create a verification request for age check
request = client.requests.create(
  body: {
    name: "Age Check",
    purpose: "Verify customer is over 21"
  }
)

# Check if the user verified successfully
response = client.responses.get(
  request_uuid: "req_abc123",
  uuid: "resp_xyz789"
)

gem install aho-sdk · pip install aho-sdk · npm install @aho-sdk/core

Using the JS embed? It handles redirects automatically.

Need to issue credentials too? We do that. See credentials docs

Instant Revocation

Revoke instantly, everywhere

When things go wrong, kill access in one API call.

revoke_credential.rb
# Employee terminated. Revoke immediately.
client = AhoSdk.issuer(api_key: ENV["AHO_API_KEY"])

client.credentials.revoke(
  uuid: "cred_abc123",
  body: {
    reason: "employee_terminated"
  }
)
No key rotation
No partner notifications
Just revoke
Open Standards

Standards, not lock-in

We read the specs. You call one API.

W3C
VC 2.0
Apple Wallet
Google Wallet
ISO
mDL 18013
C2PA
Content Auth

Your credentials work everywhere. No vendor lock-in.

See all supported standards
Regulatory Landscape

The law is your sales rep

27

US states with age verification laws

UK Online Safety Act

Now live

EU AI Act

Deadline Aug 2026

Don't wait for a fine. Implement compliant verification now.

Verify your first user in minutes.

Start building with verifiable credentials today.

No credit card required.