APTOGON
ManifestDevelopersDonateVerify

للمطورين

Add human verification to your app with a drop-in snippet. Create a key in the console, embed the verifier, and confirm each session server-side with your secret key.

POST https://homosapience.org/api/embed/verify

البداية السريعة

تكامل أدنى — 3 خطوات

1Get your API keys
// In the APTOGON console (/console): create a key, then verify your domain.
// pk_live_…  — publishable key, safe to ship in the browser
// sk_live_…  — secret key, server-side only (shown once at creation)
2Drop in the verifier (browser)
<!-- Declarative: renders a "Verify you're human" button -->
<script src="https://homosapience.org/embed/v1/aptogon.js"
        data-aptogon-key="pk_live_…"></script>
<div data-aptogon-verify data-on-success="onHuman"></div>

<script>
  // …or call it programmatically (opens the APTOGON signer popup):
  async function verify() {
    const { token, trust_band } = await window.Aptogon.verify({
      publishableKey: 'pk_live_…',
    })
    // send `token` to your backend to confirm it
    await fetch('/my/confirm', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ token }),
    })
  }
</script>
3Confirm server-side (secret key)
// On YOUR server — never expose sk_live_ to the browser
const res = await fetch('https://homosapience.org/api/embed/verify', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer sk_live_…',
  },
  body: JSON.stringify({ token }),
})
const { human, did_hash, trust_band } = await res.json()
if (human) {
  // verified, unique human — trust_band ∈ low | medium | community | high
  // did_hash is anonymous (no link to the user's real identity)
}

مرجع API

POST/api/embed/challenge

Start a verification — returns a one-time nonce for your publishable key + origin. aptogon.js calls this for you; you rarely call it directly.

Params: publishable_key · originReturns: nonce · expires_in
POST/api/embed/assert

The signer popup proves the user controls a verified DID and returns a short-lived token. Handled by aptogon.js inside the popup.

Params: publishable_key · nonce · did · signatureReturns: token · trust_band
POST/api/embed/verify

Server-to-server: redeem the token with your SECRET key to confirm a verified human. This is the billable call — never expose sk_live_ in the browser.

Params: Authorization: Bearer sk_live_… · tokenReturns: human · did_hash · trust_band · issued_at
GET/api/verify/status

Look up the verification status of a DID.

Params: did (query)Returns: is_human · valid_until · bond_count

الميزات

🔐
صفر PII

إحداثيات الإيماءة الخام لا تغادر المتصفح أبداً. تذهب الإحصاءات فقط إلى الخادم.

🌐
W3C DID

متوافق مع معيار did:key. يعمل مع أي نظام هوية.

⛓️
دليل على السلسلة

عقد Move على Aptos. التحقق بدون خادمنا — لامركزي تماماً.

إمكانية الوصول

يأخذ في الاعتبار الإعاقات الحركية. الأشخاص المصابون بالرعشة لا يُحجبون أبداً.

سريع

الوسيط 800ms. Gonka AI مع احتياطي — يعمل حتى عند عدم توفر الخدمة.

📋
بيانات اعتماد قابلة للتحقق

تنسيق W3C VC. موقّع بـ Ed25519. تنتهي صلاحيته في 30 يوماً، ويتجدد تلقائياً.

هل أنت مستعد للتكامل؟

Create a key in the console to get started. Contact us for higher quotas or enterprise integration.