Deine Rolle im Netz.
Mensch verifiziert.

Wir liefern nur das, was du willst — deinen Nachweis als Mensch und welche Rolle du spielst. Kein Konto, keine Überwachung, kein Lock-in. HHTTPS ist das Schloss-Symbol deines Browsers — aber für Menschen statt für Server.

human: true/false
role: journalist | student | creative | ...
trustScore: 0–100
WebAuthn · Zero-Knowledge · Open Protocol
IDENTITÄTS-FLOW — INTERAKTIV
bereit
1
E-Mail
2
Pseudonym
3
Passkey
4
Rolle
5
Token
Schritt 1 — E-Mail verifizieren (Trust 30)
Gib deine E-Mail-Adresse ein. Du bekommst einen Bestätigungs-Link — kein Passwort, kein Konto. Dein Token wird danach sofort ausgestellt. Passkey ist optional und erhöht den Trust Score.
Schritt 2 — Pseudonym & Altersgruppe (optional)
Beide Felder sind freiwillig. Das Pseudonym erscheint lesbar in deiner Token-Kennung. Die Altersgruppe ist aktuell Eigenangabe — später per EUDI-Wallet kryptografisch verifizierbar.
Schritt 3 — Passkey hinzufügen (optional, Trust 50→60)
Fingerabdruck, Face ID oder Gerätesperre — kein Hardware-Schlüssel nötig. Erhöht deinen Trust Score von 30 auf 50 (Passkey allein) oder 60 (E-Mail + Passkey). Du kannst diesen Schritt überspringen.
🔑
Rolle deklarieren
Wähle deine gesellschaftliche Rolle. Je nach Rolle kannst du optional eine Verifikation angeben (Presseausweis, E-Mail, ORCID...) um den Trust Score zu erhöhen.
Trust Score60 / 100

// OPTIONALE VERIFIKATION

Wähle eine Verifikationsmethode, um deinen Trust Score zu erhöhen.

// ALTERSGRUPPE (OPTIONAL)

Grobe Altersgruppe statt Geburtsdatum — z. B. für Jugendschutz oder „18+"-Bereiche. Aktuell Eigenangabe (Trust 30). Optional per EUDI-Wallet kryptografisch verifizierbar (Trust 99).

✓ HHTTPS-Token ausgestellt
HUMAN
ROLE
TRUST
LEVEL
POST /hhttps/check — Response Headers + Body

Response Headers

HHTTPS-Protocol-Version:0.3-roles
HHTTPS-Human:false
HHTTPS-Actor-Type:unknown
HHTTPS-Status:unverified
HHTTPS-Role:
HHTTPS-Role-Level:
HHTTPS-Trust-Score:0
HHTTPS-Token:

JSON Body

hhttps.human:false
hhttps.actorType:unknown
role.id:
role.label:
role.level:
role.trustScore:
role.privileges:
🕶️ Anonym verifizieren — Privacy Pass
NEU · ANONYM · RFC 9576–9578 · VOPRF
🕶️
NEU · ANONYM

Anonym verifizieren — ganz ohne Profil

Du willst beweisen, dass du ein Mensch bist, aber keine Identität preisgeben? Mit Privacy Pass holst du dir kryptografische Tokens, die deine Menschlichkeit bestätigen — vollständig unverknüpfbar. Niemand, auch wir nicht, kann deine Tokens zu dir zurückverfolgen. Basiert auf den IETF-Standards RFC 9576–9578 (VOPRF).

🕶️ Anonym verifizieren →
cURL
JavaScript
Python
Response
# Send the HHTTPS token in the header → response: human + role
curl -X POST https://hhttps.org/hhttps/check \
  -H "HHTTPS-Token: <your-token>" \
  -H "Content-Type: application/json"

# Without a token → actorType: "unknown"
curl -X POST https://hhttps.org/hhttps/check

# All available roles
curl https://hhttps.org/hhttps/roles | jq
// Integrate into your app
async function checkHuman(hhttpsToken) {
  const res = await fetch('/hhttps/check', {
    method: 'POST',
    headers: { 'HHTTPS-Token': hhttpsToken }
  });

  const data = await res.json();

  if (data.hhttps.human) {
    console.log(`Human ✓ · role: ${data.role.label}`);
    console.log(`Trust Score: ${data.role.trustScore}/100`);
    console.log(`Privileges:`, data.role.privileges);
  } else {
    console.log('Bot or unknown actor');
  }
}

// Check response headers directly
const isHuman = res.headers.get('HHTTPS-Human') === 'true';
const role    = res.headers.get('HHTTPS-Role');    // e.g. "journalist"
const score   = res.headers.get('HHTTPS-Trust-Score'); // e.g. "85"
import requests

def check_human(hhttps_token: str) -> dict:
    res = requests.post(
        "https://hhttps.org/hhttps/check",
        headers={"HHTTPS-Token": hhttps_token}
    )
    data = res.json()

    # Header-based check (fast)
    is_human    = res.headers.get("HHTTPS-Human") == "true"
    role        = res.headers.get("HHTTPS-Role")
    trust_score = int(res.headers.get("HHTTPS-Trust-Score", 0))

    return {
        "human":       is_human,
        "role":        role,
        "trust_score": trust_score,
        "privileges":  data.get("role", {}).get("privileges", [])
    }
{
  "hhttps": {
    "version":    "0.3-roles",
    "status":     "verified",
    "human":      true,
    "actorType":  "human",
    "method":     "webauthn-passkey",
    "trustScore": 85
  },
  "role": {
    "id":          "journalist",
    "label":       "Journalist",
    "icon":        "📰",
    "level":       "press-card",
    "levelLabel":  "Press card",
    "trustScore":  85,
    "privileges": [
      "Access to HHTTPS-protected press areas",
      "Verified attribution of sources in digital publications",
      "Protection against AI impersonation as a journalist"
    ],
    "userStory": "US-012: As a journalist..."
  }
}
🔍 Token prüfen — Öffentlicher Service
Token kryptografisch verifizieren — keine Anmeldung nötig
TOKEN PRÜFEN — ÖFFENTLICHER SERVICE 🔍 Anyone can verify

Du hast einen HHTTPS-Token bekommen — von einer E-Mail, einem Forum, einem Chat? Füg ihn hier ein und sieh sofort, ob er gültig ist und von welcher Rolle er stammt. Keine Anmeldung nötig.

👥 Verfügbare Rollen — Vollständiges Verzeichnis
// AVAILABLE ROLES · 15 Rollen
// CONNECTED PLATFORMS · OAUTH 2.0 / OIDC · PHASE 3A LIVE
?
ask.iamhmn.org verified · since 2026-05
Q&A platform for verified professionals. First production HHTTPS client. client_id: ask-iamhmn
Try login →
⚡ Für Entwickler & Bot-Betreiber — Integration
„Mit HHTTPS bestätigen"-Button · Maschinen-Token · OAuth 2.0 / OIDC
FÜR ENTWICKLER & BOT-BETREIBER ⚡ Integration
🔐

"Mit HHTTPS bestätigen"-Button

Baue auf deiner Plattform einen Button ein, mit dem sich verifizierte Menschen mit Rolle und Vertrauensstufe anmelden — ohne Passwörter, ohne deine Daten zu teilen. Pairwise-Subjects, PKCE, OpenID Connect.

<a href="https://hhttps.org/hhttps/oauth/authorize
   ?response_type=code
   &client_id=YOUR_CLIENT
   &redirect_uri=https://your-site.com/cb
   &scope=openid+role+verification_method
   &code_challenge=...
   &code_challenge_method=S256">
  Verify with HHTTPS
</a>
Volle Integrations-Anleitung →
🤖

Auch Maschinen können hier teilnehmen

Bots, KIs und automatisierte Dienste können sich als Maschinen registrieren, eine Rolle wählen, und einen Maschinen-Token bekommen — transparent gekennzeichnet (actorType: bot). So bleiben Plattformen ehrlich.

curl -X POST https://hhttps.org/hhttps/machine/register \
  -H "Content-Type: application/json" \
  -d '{
    "operatorName": "MeinBot",
    "purpose": "Q&A Antworten auf ask.iamhmn.org",
    "role": "developer",
    "contactEmail": "ops@meinbot.de"
  }'
Maschinen-Token-Doku →
🎯
UNSER ZIEL

Ein offener Internetstandard — wir suchen Verbündete

HHTTPS ist jung und hat große Ambitionen: ein Protokoll, das ähnlich wie HTTPS zum Standard wird. Wir sind offen für Anforderungen, Kritik und Mitgestaltung. Du bist Forschungseinrichtung, Zivilgesellschaft, Journalist oder IETF-Experte? Melde dich.

✉️ Kontakt aufnehmen 💬 GitHub Discussions
🔐 OAuth 2.0 / OIDC — Code-Beispiele
// OAUTH-FLOW · // TOKEN-EXCHANGE · // USERINFO
// OAUTH-FLOW
// TOKEN-EXCHANGE
// USERINFO
# 1. User clicks "Login with HHTTPS" on your platform # Redirect them to the authorize endpoint with PKCE GET https://hhttps.org/hhttps/oauth/authorize? response_type=code &client_id=your-platform &redirect_uri=https://yoursite.com/auth/callback &scope=openid+role &state={random_csrf_token} &code_challenge={PKCE_S256_challenge} &code_challenge_method=S256 # → User sees consent screen, clicks "Allow" # → Redirected back to: https://yoursite.com/auth/callback?code=...
# 2. Exchange auth code for tokens (server-side) curl -X POST https://hhttps.org/hhttps/oauth/token \ -H 'Content-Type: application/json' \ -d '{ "grant_type": "authorization_code", "code": "{code_from_callback}", "redirect_uri": "https://yoursite.com/auth/callback", "client_id": "your-platform", "code_verifier": "{PKCE_verifier}" }' # Response: { "access_token": "eyJhbGciOiJFUzI1NiIs...", "id_token": "eyJhbGciOiJFUzI1NiIs...", "token_type": "Bearer", "expires_in": 300, "scope": "openid role" }
# 3. Decode id_token (it's a JWT) for pseudonymous user info { "iss": "https://hhttps.org", "aud": "your-platform", "sub": "7K2XQ9NMR3F8...", // pairwise pseudonym "role": "developer", "role_label": "Developer", "role_icon": "💻", "trust_score": 72, "iat": 1715000000, "exp": 1715003600 } // What you got: // ✓ Stable pseudonymous user ID (different on every platform) // ✓ Verified role + trust score // What you did NOT get: // ✗ Name, email, IP, geolocation // ✗ Anything correlating user across platforms