Zum Hauptinhalt springen
Didit erhält 7,5 Mio. $ für die Infrastruktur für Identität und Betrug
Didit
Wiederverwendbares KYC · EU eIDAS 2

Einmal verifizieren. Überall wiederverwenden.

Ein einziges KYC für $0.33. Der verifizierte Nutzer teilt diese Didit-Verifizierung mit jeder anderen App, die Didit nutzt, mit selektiver Offenlegung und kostenlos bei jeder Wiederverwendung. Fünf nationale eIDs sind heute live, die Annahme der EUDI-Wallet folgt in Kürze.

Unterstützt von
Y CombinatorRobinhood Ventures
Firecrawl
Slash
Crnogorski Telekom
UCSF Neuroscape
Bit2Me

Über 3.000 Organisationen weltweit vertrauen uns.

Was wiederverwendbare Identität ermöglicht

Identität in der Tasche des Nutzers. Kostenlos für alle, die sie akzeptieren.

Jede Didit KYC-Verifizierung kann als signierte, wiederverwendbare KYC-Verifizierung mit anderen Didit-gestützten Apps geteilt werden. Jede empfangende Plattform liest sie kostenlos aus. Eine Verifizierung, jedes Unternehmen, das Didit akzeptiert. Kostenlos starten.

So funktioniert's

Vom Sign-up zum verifizierten Nutzer in vier Schritten.

Schritt 01 / 04

Workflow erstellen

Wähle die gewünschten Prüfungen aus, ID, Liveness, Gesichtsabgleich, Sanktionen, Adresse, Alter, Telefon, E-Mail, benutzerdefinierte Fragen. Ziehe sie per Drag-and-drop in einen Flow im Dashboard oder poste denselben Flow an unsere API. Verzweige bei Bedingungen, führe A/B-Tests durch, kein Code erforderlich.

Für wiederverwendbare Identität entwickelt · Preislich wie Infrastruktur

Ein KYC. Jede weitere Plattform kostenlos.

Echte wiederverwendbare Identität ist keine einzelne Funktion, sie ist ein System. Ausstellung, Speicherung, Präsentation, selektive Offenlegung, Aktualisierung, Widerruf. Alles unter einer /v3/-Session.
01 · Einmal verifizieren

Ein KYC. Eine ausgestellte Credential.

Beim ersten Mal durchläuft der Nutzer das Standardpaket für $0.33: Ausweisdokument, passive Liveness, Face Match, Geräte- und IP-Analyse. Danach signiert Didit die Verifizierung, damit der Nutzer sie mit anderen Apps teilen kann, die Didit nutzen.
Nutzerverifizierungsmodul
02 · Selektive Offenlegung

Nur das offenlegen, was der Prüfer benötigt.

Alter über 18 nachweisen, ohne Geburtsdatum preiszugeben. Land nachweisen, ohne Adresse preiszugeben. Die empfangende App liest nur die angeforderten Felder, signiert von Didit.
Wiederverwendbares KYC-Modul
03 · Nationale eIDs

Fünf nationale eIDs, heute live.

MitID, BankID Schweden, Finnish Trust Network, Smart-ID und Mobile-ID sind im selben Workflow live. Nutzer ohne eID nehmen den Dokumentenweg mit NFC-Chip-Auslesung, Lebenderkennung und Gesichtsabgleich. Die Annahme der EUDI-Wallet folgt in Kürze.
eID-Verifizierung
04 · Aussteller · Inhaber · Prüfer

Drei Rollen. Eine Credential.

Der Aussteller signiert die Credential nach dem KYC. Der Nutzer hält sie in seiner Wallet. Der Prüfer validiert die Aussteller-Signatur nur für die offengelegten Felder. Standard-Vertrauensdreieck für Verifiable Credentials.
Sicherheit & Compliance
05 · Aktualität der Credentials

Automatische Aktualität der Credentials.

Kontinuierliches AML-Re-Screening des Nutzers täglich. Dokumentablauf, Namensänderung, Sanktionstreffer, alles wird automatisch auf der Credential angezeigt. Veraltete Credentials werden bei der Präsentation abgelehnt.
AML-Screening-Modul
06 · Kostenloser Empfang

Kostenlos für jede empfangende Plattform.

Die Ausstellung ist bei jedem KYC inbegriffen. Die Wallet-Speicherung erfolgt auf dem Gerät des Nutzers. Präsentation, selektive Offenlegung und Signaturvalidierung sind immer kostenlos. Kontinuierliche AML-Aktualisierung für $0.07 pro Nutzer und Jahr bei Konten mit hohem Volumen.
Wiederverwendbares KYC-Modul
Integrieren

Zwei Aufrufe. Eine Verifizierung, geteilt.

Teile eine abgeschlossene Session aus einer Didit-Anwendung und importiere sie in einer anderen. Die empfangende Seite liest die vollständige Entscheidung, ohne die Person erneut zu verifizieren.
POST /v3/session/{id}/share/Teilen
curl -X POST https://verification.didit.me/v3/session/$SESSION_ID/share/ \
  -H "x-api-key: $DIDIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "for_application_id": "<receiving-application-id>",
    "ttl_in_seconds": 3600
  }'
200OK{ "share_token": "eyJ…" }
Funktioniert mit einer abgeschlossenen Session. Nur die von dir benannte Anwendung kann das Token einlösen.Dokumentation →
POST /v3/session/import-shared/Importieren
curl -X POST https://verification.didit.me/v3/session/import-shared/ \
  -H "x-api-key: $RECEIVING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "share_token": "<share-token>",
    "trust_review": false,
    "workflow_id": "<receiving-workflow-uuid>",
    "vendor_data": "user-42"
  }'
201Erstellt{ "shared_from_session": "…" }
Liefert die vollständige Entscheidung unter einer neuen Session-ID. Setze trust_review auf false, um sie in In Review zu schicken.Dokumentation →
Agenten-fertige Integration

Implementiere einen wiederverwendbaren Identitäts-Flow mit einem Prompt.

Füge dies in Claude Code, Cursor, Codex, Devin, Aider oder Replit Agent ein. Gib deinen Stack an. Der Agent erstellt den Workflow, die Session, die Aufrufe zum Teilen und Importieren und den signierten Webhook.
didit-integration-prompt.md
# Didit Reusable KYC: verify a person once, share the finished session with another application

You are adding Reusable KYC to my_stack. A person completes one identity
verification; the finished session is then shared with a second Didit
application, which imports the full decision without running the checks
again. Every URL, header and enum value below is canonical. Do not paraphrase
or "improve" them.

## 0. What exists, and what does not
- Reuse is server to server, between two Didit applications: the source
  application mints a share token for a finished session, the receiving
  application redeems it. Both sides use their own x-api-key.
- There is NO reusable_identity object on the webhook or the decision, NO
  metadata.request_fields or other selective-disclosure parameter, NO
  workflow setting that "accepts" a credential, and NO revocation event. Do
  not invent them. metadata on a session is free-form JSON that Didit echoes
  back, nothing more. The receiving application gets the whole decision.
- This is not an EU Digital Identity (EUDI) Wallet integration. Didit does
  not issue or accept EUDI Wallet credentials through these calls.

## 1. Provision
- Sign up: https://business.didit.me
- Source application: its API key. Receiving application: its API key and its
  application id (a UUID: shown in the console, and sent as application_id
  on every webhook that application receives). They are different
  applications; sharing a session with the application that owns it is
  refused.

## 2. Create the workflow for the first verification
POST https://verification.didit.me/v3/workflows/
  -H "x-api-key: <source-api-key>"
  -H "Content-Type: application/json"

{
  "workflow_label": "KYC onboarding",
  "features": [
    { "feature": "OCR" },
    { "feature": "LIVENESS" },
    { "feature": "FACE_MATCH" },
    { "feature": "IP_ANALYSIS" }
  ]
}

OCR is the ID Verification feature (uppercase, strict: ID_VERIFICATION is
rejected). Add { "feature": "AML" } for sanctions and PEP screening; it is
priced separately. Response: 201. The workflow id is uuid (workflow_id carries
the same value) and features comes back as one string, "OCR + LIVENESS + ...".
Create the workflow once and keep the id: every call makes a new one.
Prices: https://didit.me/pricing

## 3. Create a session
POST https://verification.didit.me/v3/session/
  -H "x-api-key: <source-api-key>"
  -H "Content-Type: application/json"
  -d '{ "workflow_id": "<uuid from step 2>", "vendor_data": "<your user id>" }'

Response: 201 with session_id, session_token, url and status "Not Started".
Redirect the user to url (hosted flow) or open it in the Web, iOS, Android,
React Native or Flutter SDK. The field is named url on this response.
One unfinished session exists per workflow_id and vendor_data pair: calling
create again with the same pair answers 201 again with that same session.
Optional: callback, a URL the user's browser is sent back to when the flow
ends. It is a browser redirect, not a webhook: never trust its query string.

## 4. Webhook
Register a destination in the console (API & Webhooks), or over the API:

POST https://verification.didit.me/v3/webhook/destinations/
  -H "x-api-key: <your-api-key>"
  -H "Content-Type: application/json"
  -d '{
    "label": "Verification webhooks",
    "url": "https://<your-public-host>/webhooks/didit",
    "webhook_version": "v3",
    "subscribed_events": ["status.updated", "data.updated"]
  }'

label, url and subscribed_events are required. url must be a public HTTPS
address: Didit does not deliver to localhost or private addresses. Response:
201 with uuid and secret_shared_key. Store secret_shared_key as the webhook
secret (DIDIT_WEBHOOK_SECRET); it is unique to this destination. Remove a
destination with DELETE /v3/webhook/destinations/{uuid}/ (204).

What arrives:
  - webhook_type is "status.updated" (the session changed status) or
    "data.updated" (verification data was corrected after the fact)
  - a destination receives the events of every session of the application,
    so filter on workflow_id or vendor_data when several flows share it
  - creating a session already sends status.updated with status
    "Not Started". The decision key is present only when status is Approved,
    Declined, In Review or Abandoned.

Verify every delivery:

  Header:      X-Signature-V2 (not X-Signature, not X-Signature-Simple)
  Algorithm:   HMAC-SHA256, hex digest, over the canonical JSON of the payload
               (Python json.dumps(sort_keys=True, separators=(",", ":"),
               ensure_ascii=False) after whole-valued floats become ints).
               Never hash the raw request bytes under this header: that is
               the older X-Signature.
  Freshness:   the signed body field timestamp is the dispatch time (Unix
               seconds). Reject when abs(now - timestamp) > 300 seconds, and
               reject when the X-Timestamp header does not equal it.
  Idempotency: event_id is the same on every retry of one event, so store it
               and skip a delivery you already processed. One session can
               still send the same status under two event ids, and the
               console's Try Webhook test deliveries carry no event_id, so
               also make the handler safe to run twice for one
               (session_id, status, webhook_type).
  Compare:     constant-time (crypto.timingSafeEqual)

Reference handler (Express). Keep the verification lines as written.
The handler is a fragment. Put this above it and app.listen(process.env.PORT)
below it. It needs Express and Node 21 or newer (an older Node rejects
every delivery). It expects a JSON body: answer 400 yourself if you accept
anything else on this route, and refuse to start without the secret.

const express = require("express");
const app = express();
const SECRET = process.env.DIDIT_WEBHOOK_SECRET; // secret_shared_key of the destination

// Your endpoint receives a signed payload
const crypto = require("node:crypto"); // ESM: import crypto from "node:crypto"
// X-Signature-V2 = HMAC over the canonical JSON, never the raw bytes. Match the sender byte for
// byte: keys sorted by code point, integers digit for digit, floats in Python's repr.
class Num { constructor(src) { this.src = src; } } // a number as written on the wire, not a double
const num = (s) => { if (/^-?\d+$/.test(s)) return BigInt(s).toString(); const n = +s; // ints stay exact
  if (Number.isInteger(n)) return BigInt(n).toString(); const [m, e] = n.toExponential().split("e"); // 27.0 -> 27
  return +e >= -4 ? String(n) : `${m}e-${String(-e).padStart(2, "0")}`; }; // 1e-05, not 0.00001
const byCodePoint = (a, b) => Buffer.compare(Buffer.from(a), Buffer.from(b)); // UTF-8 order = Python's
const canon = (v) => Array.isArray(v) ? `[${v.map(canon)}]` : v instanceof Num ? num(v.src)
  : v && typeof v === "object" ? `{${Object.keys(v).sort(byCodePoint).map((k) => `${JSON.stringify(k)}:${canon(v[k])}`)}}`
  : JSON.stringify(v);
// Read the body as text: express.json() would round 1000000000000000129 to a double first.
// Register this route ABOVE any global app.use(express.json()): the first parser to run
// consumes the stream, and a body it already parsed has lost the digits the signature covers.
app.post("/webhooks/didit", express.text({ type: "application/json" }), (req, res) => {
  const exact = JSON.parse(req.body, (k, v, c) => typeof v === "number" ? new Num(c.source) : v); // Node 21+
  const body = JSON.parse(req.body);
  const mac = crypto.createHmac("sha256", SECRET).update(canon(exact), "utf8").digest("hex");
  const sig = Buffer.from(String(req.headers["x-signature-v2"] ?? ""));
  // Freshness comes from the signed body timestamp; the header alone is unsigned and replayable.
  const ts = body.timestamp, fresh = String(ts) === req.headers["x-timestamp"]
    && Math.abs(Date.now() / 1000 - ts) <= 300;
  if (!fresh || sig.length !== mac.length
    || !crypto.timingSafeEqual(sig, Buffer.from(mac))) return res.sendStatus(401);
  const { session_id, status, webhook_type, vendor_data, decision } = body;
  // decision is present on Approved, Declined, In Review and Abandoned.
  res.sendStatus(200);
});

Status values (exact strings): Not Started, In Progress, Approved, Declined,
In Review, Resubmitted, Expired, Abandoned, Kyc Expired. Awaiting User only
appears on business verification sessions.

## 5. Read the decision
The same V3 decision reaches you two ways:
  - webhook body: body.decision.id_verifications[]
  - GET https://verification.didit.me/v3/session/{session_id}/decision/
      -H "x-api-key: <your-api-key>"
    This response IS the decision object. Read id_verifications at the top
    level: there is no decision wrapper here.
Until the user finishes the ID step, status is "Not Started" or "In Progress"
and id_verifications is null, not an empty array. Guard for it.
The other feature results sit next to it as plural arrays: liveness_checks[],
face_matches[], ip_analyses[], aml_screenings[]. shared_from_session is null
on a session the person completed here.

## 6. Share the finished session (source application)
Only a session whose status is Approved, Declined or In Review can be shared.

POST https://verification.didit.me/v3/session/{session_id}/share/
  -H "x-api-key: <source-api-key>"
  -H "Content-Type: application/json"
  -d '{ "for_application_id": "<receiving application id>", "ttl_in_seconds": 3600 }'

Response: 200 with share_token, for_application_id and session_kind ("user").
ttl_in_seconds: 60 to 86400, default 3600. Each call mints a new token; a
token cannot be revoked, it only expires. Send it to the receiving
application's backend, never to a browser.

## 7. Import it (receiving application)
POST https://verification.didit.me/v3/session/import-shared/
  -H "x-api-key: <receiving-api-key>"
  -H "Content-Type: application/json"
  -d '{
    "share_token": "<share_token from step 6>",
    "trust_review": false,
    "workflow_id": "<a workflow id of the receiving application>",
    "vendor_data": "<user id on the receiving side>"
  }'

share_token, trust_review and workflow_id are required. trust_review true
keeps the source status (Approved stays Approved); false puts the imported
session In Review so the receiving team decides. Response: 201 with the same
decision shape as step 5, a new session_id, and shared_from_session pointing
at the source session.

## 8. Errors to handle
The message is under detail for some errors and under the field name
(for_application_id, share_token) for others: read both.
  - share, 400: "Cannot share a session with the same application."
  - share, 400: "Target application does not exist."
  - share, 400: "Only finished sessions ("Approved", "Declined", "In Review")
    can be shared."
  - import, 400 on share_token: "Invalid share token.", "Share token has
    expired.", "This token is not valid for this application."
  - import, 400: share_token, trust_review or workflow_id missing
  - import, 403: "This session has already been shared with your
    application." Mint a new token.
  - import, 404: "Workflow does not exist for this application."

## 9. Hard rules
  - base URL for v3 endpoints: verification.didit.me
  - auth header: x-api-key, one key per application
  - feature enum: OCR, LIVENESS, FACE_MATCH, IP_ANALYSIS, AML (uppercase)
  - result path: decision.id_verifications[] in the webhook body and
    id_verifications[] on the GET decision response
  - webhook: X-Signature-V2 plus X-Timestamp, canonical JSON, freshness from
    the signed body timestamp

## 10. Verify your integration
Sandbox (an application in sandbox mode: nothing is billed).
https://docs.didit.me/integration/sandbox-testing
  - create the workflow, create a session, and read its decision: expect 201,
    201 with url, and 200 with status "Not Started"
  - to get a finished session without a person, call
    POST https://verification.didit.me/v3/session/{session_id}/simulate/ with
    your x-api-key and { "new_status": "Approved" }. It sets the status and
    sends the webhook; the feature arrays stay null.
  - share that session. With no second application yet, send a random UUID
    as for_application_id and expect the 400 "Target application does not
    exist.": that proves the call is wired. A full share and import needs
    the second application's id and API key; do not fake that step.
  - assert the webhook accepts a correctly signed payload and rejects a wrong
    X-Signature-V2, a changed body, and a payload whose signed timestamp is
    older than 300 seconds, even when X-Timestamp is refreshed

Docs:
  - https://docs.didit.me/core-technology/reusable-kyc/overview
  - https://docs.didit.me/sessions-api/create-session
  - https://docs.didit.me/sessions-api/retrieve-session
  - https://docs.didit.me/integration/webhooks
Brauchst du mehr Kontext? Siehe die vollständige Moduldokumentation.docs.didit.me →
Compliant by Design

Ein neues Land mit einem Klick erschließen. Wir machen die Arbeit.

Wir gründen lokale Tochtergesellschaften, sichern Lizenzen, führen Penetrationstests durch, erhalten Zertifizierungen und passen uns jeder neuen Regulierung an. Um Verifizierungen in einem neuen Land zu starten, legst du einfach einen Schalter um. Über 220 Länder live, vierteljährlich auditiert und Pen-getestet, der einzige Identitätsanbieter, den eine EU-Mitgliedsregierung offiziell als sicherer als die persönliche Verifizierung eingestuft hat.
Sicherheits- & Compliance-Dossier lesen
SOC 2 · Type II — AICPA · 2026
SOC 2 · Type I — AICPA · 2026
ISO/IEC 27001 — Informationssicherheit · 2026
EU Financial Sandbox — Tesoro · SEPBLAC · BdE
FIDO Alliance — Assoziiertes Mitglied · 2026
iBeta Level 1 PAD — NIST / NIAP · 2026
GDPR — EU 2016/679
HIPAA — 45 CFR §160 · §164
DORA — EU 2022/2554
MiCA — EU 2023/1114
EBA-Leitlinien für Remote-Onboarding — EBA/GL/2022/15
AMLD6 · eIDAS 2.0 — EU-konform by Design
Jugendschutz geprüft — FSM · JMStV §4(2) · 2026

Zahlen, die überzeugen

Zahlen, die überzeugen
  • $0.33
    Pro erster Verifizierung, das ist das einzige Mal, dass ein Nutzer für das Didit KYC-Paket zahlt.
  • Free
    Auf jeder empfangenden Plattform. Jede Wiederverwendung, jede Präsentation, jede selektive Offenlegung.
  • 27
    EU-Mitgliedstaaten. Jeder muss bis zum 24. Dezember 2026 eine EUDI-Wallet anbieten, und die Annahme der EUDI-Wallet bei Didit folgt in Kürze.
  • 5
    Nationale eIDs heute live: MitID, BankID Schweden, Finnish Trust Network, Smart-ID und Mobile-ID.
Drei Stufen, eine Preisliste

Kostenlos starten. Nach Verbrauch zahlen. Bis zum Enterprise-Level skalieren.

500 kostenlose Verifizierungen jeden Monat, für immer. Danach zahlst du nur, wenn ein Modul läuft. Individuelle Verträge, Datenresidenz und Service Level Agreements (SLAs) für Enterprise-Kunden.

Kostenlos

$0/ Monat · keine Kreditkarte nötig

Zum Entwickeln, Testen und für deine ersten Nutzer.

Alles, was du für den Start brauchst:
  • 500 vollständige KYC-Verifizierungen pro Monat
  • ID, Liveness, Face Match, Gerät & IP
  • Über 200 Betrugssignale, Blocklist, Duplikate
  • Wiederverwendbares KYC im Didit-Netzwerk
  • Workflow Builder, Case Management, SDKs
  • KI-Support KI-Agent in der Konsole, Docs und Community.
Am beliebtesten

Nach Verbrauch zahlen

$0.33pro vollständigem KYC

Über 25 Module, transparente Preise. Automatische Mengenrabatte.

Alles in Kostenlos, plus:
  • AML-Screening und -Monitoring ab 0,07 $
  • Preise für Handelsregisterabfragen nach Land und Datenstufe
  • Transaktionsmonitoring für $0.02 pro Transaktion
  • Wallet-Screening für $0.15 pro Prüfung
  • White-Label-Flow unter deiner eigenen Marke
  • KI-Support KI-Agent in der Konsole, Docs und Community.

Enterprise

MaßgeschneidertJahresvertrag

Für große Volumina und regulierte Programme.

Alles in Nach Verbrauch zahlen, plus:
  • Jahresverträge, volumenbasierte Preise
  • Individuelle rechtliche Bedingungen und ein 99,99 % Uptime SLA
  • Datenresidenz, -aufbewahrung, Sicherheitsprüfung
  • Manuelle Prüfer auf Abruf
  • Wiederverkäufer- und White-Label-Bedingungen
  • Priorisierter menschlicher Support 24/7 Shared Slack-Channel, fester Success Manager.

Mengenrabatte werden automatisch angewendet, wenn die Nutzung steigt – keine Verhandlungen, kein Verkaufsgespräch.

FAQ

Häufige Fragen

Was ist Didit?

Didit ist die Infrastruktur für Identität und Betrugsprävention. Die Plattform, die wir uns beim Entwickeln unserer eigenen Produkte gewünscht hätten: offen, flexibel und entwicklerfreundlich. So fügt sie sich nahtlos in deinen Stack ein, anstatt eine Black Box zu sein, um die du herum integrieren musst.

Eine einzige API deckt die Verifizierung von Personen (KYC, Know Your Customer), Unternehmen (KYB, Know Your Business), die Überprüfung von Krypto-Wallets (KYT, Know Your Transaction) und die Echtzeit-Transaktionsüberwachung ab. Unser Stack ist dabei:

  • Schnell: p99 unter 2 Sekunden pro Session
  • Zuverlässig: Im Einsatz bei über 3.000 Unternehmen in über 220 Ländern
  • Sicher: SOC 2 Typ 1 & Typ 2, ISO 27001, GDPR-konform und von der spanischen Finanzaufsichtsbehörde offiziell als sicherer eingestuft als die persönliche Verifizierung

Die Basis: über 14.000 Dokumenttypen in über 48 Sprachen, über 1.000 Datenquellen und über 200 Betrugssignale pro Session. Die Didit-Infrastruktur lernt dynamisch aus jeder Session und wird täglich besser.

Was ist eIDAS 2.0, einfach erklärt?

eIDAS 2.0, kurz für electronic IDentification, Authentication and trust Services, ist das EU-Update von 2024 für ihr Identitätsregelwerk. Die wichtigste Neuerung ist die European Digital Identity Wallet (oft abgekürzt als EUDI Wallet): eine Smartphone-App, auf die jeder EU-Bürger und Einwohner bis Ende 2026 Anspruch haben wird.

Die Wallet enthält verifizierbare Nachweise, einen digitalen Führerschein, eine Bestätigung der verifizierten Identität, ein akademisches Diplom, ausgestellt von vertrauenswürdigen Parteien und präsentiert an vertrauende Parteien mit kryptografischem Nachweis, optional mit selektiver Offenlegung (beweise, dass du über 18 bist, ohne dein vollständiges Geburtsdatum preiszugeben).

Für Unternehmen geht es bei eIDAS 2.0 sowohl um das Akzeptieren von Wallet-präsentierten Nachweisen als auch um das Ausstellen der Nachweise, die deine Nutzer mit sich führen.

Wer muss die EUDI-Wallet wann akzeptieren?

Was die Verordnung (EU) 2024/1183 (eIDAS 2) festlegt:

  • Mitgliedstaaten müssen jeweils mindestens eine europäische digitale Identitäts-Wallet (EUDI-Wallet) bis zum 24. Dezember 2026 anbieten.
  • Private vertrauende Parteien, die gesetzlich oder vertraglich verpflichtet sind, eine starke Nutzerauthentifizierung für die Online-Identifizierung zu verwenden, müssen die EUDI-Wallet auf Wunsch des Nutzers bis zum 24. Dezember 2027 akzeptieren (Artikel 5f(2)). Kleinst- und Kleinunternehmen sind ausgenommen.
  • Sehr große Online-Plattformen, die eine Nutzerauthentifizierung erfordern, müssen die EUDI-Wallet ebenfalls auf freiwilligen Wunsch des Nutzers akzeptieren (Artikel 5f(3)). Der Text legt keinen separaten Termin für diese Pflicht fest.

Andere Unternehmen können die Wallet freiwillig akzeptieren. Die Akzeptanz der EUDI-Wallet durch Didit kommt bald: Lies was ein Unternehmen braucht, um die EUDI-Wallet zu akzeptieren.

Wie schnell ist die Verifizierung für meine Endnutzer?

Der gesamte Prozess dauert normalerweise unter 30 Sekunden von Anfang bis Ende, Ausweis nehmen, Dokument scannen, Selfie machen, fertig. Das ist der schnellste am Markt. Herkömmliche KYC-Anbieter benötigen für denselben Ablauf meist mehr als 90 Sekunden.

Im Backend liefert Didit das Ergebnis in unter zwei Sekunden bei p99, gemessen vom Abschluss des Selfies bis zum Auslösen deines Webhooks. Die mobile Erfassung ist für langsame Telefone und Netzwerke optimiert: progressive Bildkomprimierung, Lazy-Load des Software Development Kits und eine One-Tap-Übergabe vom Desktop zum Telefon via QR-Code, falls der Nutzer am Web startet.

Wie unterscheidet sich wiederverwendbare Identität von föderiertem Login (Sign in with Apple, Google)?

Federated Login beweist, dass ein Konto beim Identitätsanbieter existiert, das empfangende Unternehmen erhält eine E-Mail-Adresse und vielleicht einen Namen. Das ist keine Identität, die regulatorischen Anforderungen genügt.

Wiederverwendbare Identität umfasst:

  • Eine Verifizierung auf Basis amtlicher Dokumente (Reisepass, Personalausweis gescannt und per OCR erfasst)
  • Eine biometrische Verknüpfung zur Person, die den Nachweis vorlegt (Selfie wird mit dem Passbild abgeglichen)
  • Eine Liveness-Prüfung, die Deepfakes, Masken und Replay-Angriffe erkennt
  • Einen AML-Status, der gegen Sanktions-, PEP- und Adverse-Media-Listen geprüft wird
  • Eine signierte Bestätigung von einem regulierten Anbieter, mit Zeitstempel und nachvollziehbarer Historie

Der Verifizierer erhält die gleiche regulatorische Sicherheit, die er durch die Durchführung eines eigenen KYC erhalten würde, ohne die Kosten, die Reibungsverluste und den Konversionsrückgang.

Was passiert, wenn ein Nutzer scheitert, abbricht oder die Sitzung abläuft?

Jede Sitzung landet in einem von sieben klaren Status, damit dein Code immer weiß, was zu tun ist:

  • Approved, alle Prüfungen bestanden. Leite den Nutzer weiter.
  • Declined, eine oder mehrere Prüfungen fehlgeschlagen. Du kannst dem Nutzer erlauben, den spezifischen fehlgeschlagenen Schritt (z. B. das Selfie erneut aufzunehmen) erneut einzureichen, ohne den gesamten Ablauf neu zu starten.
  • In Review, zur Compliance-Prüfung markiert. Öffne den Fall in der Konsole, sieh dir alle Signale an, entscheide über Genehmigung oder Ablehnung.
  • In Progress, Nutzer befindet sich mitten im Ablauf.
  • Not Started, Link gesendet, Nutzer hat ihn noch nicht geöffnet. Sende eine Erinnerung, wenn es zu lange dauert.
  • Abandoned, Nutzer hat den Link geöffnet, aber nicht rechtzeitig abgeschlossen. Erneut ansprechen oder ablaufen lassen.
  • Expired, der Sitzungslink ist abgelaufen. Erstelle eine neue Sitzung.

Ein signierter Webhook wird bei jeder Statusänderung ausgelöst, sodass deine Datenbank immer synchron bleibt. Abgebrochene und abgelehnte Sitzungen sind kostenlos.

Wo werden meine Kundendaten gespeichert und wie sind sie geschützt?

Produktionsdaten werden standardmäßig in der Europäischen Union verarbeitet und gespeichert, auf Amazon Web Services. Für Enterprise-Verträge können alternative Regionen angefragt werden, wenn die Aufsichtsbehörden der jeweiligen Gerichtsbarkeit dies erfordern.

Verschlüsselung überall. AES-256 im Ruhezustand über jede Datenbank, jeden Objektspeicher und jedes Backup. Transport Layer Security 1.3 während der Übertragung bei jedem API-Aufruf, Webhook und jeder Business Console-Sitzung. Biometrische Daten werden unter einem separaten Customer Master Key verschlüsselt.

Die Datenaufbewahrung liegt in deiner Hand. Die Standardaufbewahrungsfrist ist unbefristet (unbegrenzt), es sei denn, du konfigurierst eine kürzere Dauer zwischen 30 Tagen und 10 Jahren pro Anwendung. Du kannst jede einzelne Session jederzeit über das Dashboard oder die API löschen.

Zertifizierungen: SOC 2 Typ 1 & Typ 2, ISO/IEC 27001:2022, iBeta Level 1 PAD und eine öffentliche Bestätigung von Spaniens Tesoro / SEPBLAC / CNMV, dass Didits Fernidentitätsprüfung sicherer ist als die persönliche Verifizierung. Den vollständigen Bericht findest du unter /security-compliance.

Ist Didit für meine Branche konform?

Didit erfüllt standardmäßig die Vorgaben der Regulierungsbehörden, die für Identitätsinfrastruktur relevant sind:

  • GDPR + UK GDPR, Trennung von Verantwortlichem und Auftragsverarbeiter, vollständiger Auftragsverarbeitungsvertrag veröffentlicht, federführende Aufsichtsbehörde benannt (die spanische AEPD).
  • AMLD6 + EU AML Single Rulebook, über 1.300 Sanktions-, PEP- und Adverse-Media-Listen werden in Echtzeit geprüft.
  • eIDAS 2.0, fünf nationale eIDs heute live (MitID, BankID Schweden, Finnish Trust Network, Smart-ID, Mobile-ID); Annahme der EUDI-Wallet in Kürze.
  • MiCA (Markets in Crypto-Assets), bereit für Krypto-On-Ramps, Börsen und Verwahrstellen.
  • DORA, Digital Operational Resilience Act, operative Resilienz von EU-Finanzdienstleistungen.
  • BIPA, CUBI, Washington HB 1493, CCPA / CPRA, US-Biometrie-Datenschutz (Illinois, Texas, Washington) und kalifornischer Verbraucherdatenschutz.
  • UK Online Safety Act, Pflichten zu Altersbeschränkung und Kinderschutz.
  • FATF Travel Rule, Auftraggeber- und Begünstigtendaten bei Krypto-Transfers, interoperabel mit IVMS-101.

Ausführliches Memo, jedes Zertifikat, jedes Schreiben der Aufsichtsbehörden: /security-compliance.

Wie schnell kann ich integrieren und Nutzer verifizieren?
  • 60 Sekunden bis zu einem Sandbox-Konto unter business.didit.me, keine Kreditkarte erforderlich.
  • 5 Minuten bis zu einer funktionierenden Verifizierung über Claude Code, Cursor oder jeden Coding Agent über unser Model Context Protocol (MCP) Server.
  • Ein Wochenende bis zu einer produktionsreifen Integration mit signierter Webhook-Verifizierung, Wiederholungsversuchen und einem Korrekturfluss, wenn ein Nutzer abgelehnt wird.

Drei Integrationswege, wähle den, der zu deinem Stack passt:

  • Nativ einbetten mit unserem Web-, iOS-, Android-, React Native- oder Flutter-SDK.
  • Den Nutzer auf die gehostete Verifizierungsseite weiterleiten, kein SDK erforderlich.
  • Einen Link per E-Mail, SMS, WhatsApp oder über jeden Kanal senden, keine Frontend-Arbeit erforderlich.

Dasselbe Dashboard, dieselbe Abrechnung, derselbe Pay-per-Success-Preis für alle drei. Schritt-für-Schritt-Anleitung unter docs.didit.me/integration/integration-prompt.

Wie steht es um den Datenschutz unter GDPR?

Wiederverwendbare Identität ist ein Datenschutz-Upgrade gegenüber dem alten KYC-Stack:

  • Selektive Offenlegung ist integriert, der Verifizierer sieht nur die benötigten Felder, nicht das zugrunde liegende Dokument
  • Kein zentrales Register, der Nachweis befindet sich in der Wallet des Nutzers, nicht in einem Didit-eigenen Verzeichnis, wer wem was vorgelegt hat
  • Einwilligung pro Vorlage, der Nutzer genehmigt jede Offenlegung explizit
  • Speicherung in der EU, das Nachweispaket des Ausstellers bleibt in EU-Rechenzentren; die Wallet selbst befindet sich auf dem Gerät des Nutzers
  • Recht auf Vergessenwerden, wenn ein Nutzer einen Nachweis widerruft, muss die empfangende Plattform diesen gemäß GDPR aus ihren Aufzeichnungen löschen; Didits plattformspezifische Widerrufs-API macht dies zu einem einzigen Aufruf

Die Rechtsgrundlage für die Verarbeitung auf der Empfängerseite ist das berechtigte Interesse gemäß GDPR, der Nutzer hat explizit einen Nachweis vorgelegt, um auf den Dienst zuzugreifen. Didits Standard-Datenverarbeitungsvereinbarung (DPA) deckt die gemeinsame Verantwortlichkeit ab.

Was passiert, wenn der Nutzer sein Ausweisdokument ändert oder das Land wechselt?

Drei Auslösearten:

  • Dokumentenerneuerung (Reisepass läuft ab, neuer Personalausweis ausgestellt) → der Nutzer führt eine leichte Aktualisierung erneut durch; die Verifizierung wird mit dem neuen Dokumenten-Fingerabdruck neu ausgestellt
  • Wesentliche Identitätsänderung (neuer rechtlicher Name, Geschlechtsänderung, Änderung des Wohnsitzlandes) → vollständige Neuverifizierung für $0.33; die alte Berechtigung wird widerrufen und eine neue ausgestellt
  • AML-Statusänderung (ein zuvor unauffälliger Nutzer wird PEP oder landet auf einer Sanktionsliste) → Didits kontinuierliche Überwachung kennzeichnet die Änderung automatisch, das AML-Feld der Berechtigung wird aktualisiert, und jede empfangende Plattform sieht den aktualisierten Status bei der nächsten Vorlage

Die empfangende Plattform muss den Nutzer nie wegen Updates verfolgen, die Berechtigung trägt ihr eigenes Aktualitätssignal, und veraltete Berechtigungen werden bei der Vorlage abgelehnt.

Welche Nachweise sieht eine Regulierungsbehörde bei einer wiederverwendeten Verifizierung?

Der Verifizierer (die empfangende Plattform) erhält dasselbe Nachweispaket pro Vorlage, das der ursprüngliche Verifizierer erhalten hat, plus die Ausstellungs-Kette:

  • Die ursprünglichen KYC-Nachweise, Dokumentenscan, biometrische Ähnlichkeit, AML-Treffer, Geräte- + IP-Risikosignale, signierte Zeitstempel
  • Die Ausstellungs-Kette, welche Didit-gestützte Plattform den Nachweis ausgestellt hat, wann, in welchem Workflow
  • Das Vorlageprotokoll, wann dieser Nutzer sich bei deiner Plattform vorgestellt hat, welche Felder er offengelegt hat, das Urteil deines Verifizierers
  • Der aktuelle AML-Status, täglich aktualisiert durch Didits kontinuierliche Überwachung
  • Die HMAC SHA-256 Signatur auf jedem Feld, sodass die Nachweiskette beweisbar ist

Didit ist die einzige KYC-Plattform mit einer formellen Bestätigung einer EU-Mitgliedsregierung, das spanische Finanzministerium, die Banco de España und SEPBLAC haben den Dienst gemeinsam als sicherer als die persönliche Verifizierung bestätigt. Diese Bestätigung erstreckt sich auf jede wiederverwendete Vorlage.

Infrastruktur für Identität und Betrugsprävention.

Eine API für KYC, KYB, Transaktionsüberwachung und Wallet-Screening. In 5 Minuten integriert.

Lass dir diese Seite von einer KI zusammenfassen