Betrouwbare gegevens, gedeeld met regie

Deel betrouwbare gegevens, niet je hele identiteitsbewijs.

Verifieer op je telefoon, bekijk precies wat wordt gevraagd en geef toestemming voordat er iets wordt gedeeld.

Bijvoorbeeld:

Bekijk het verzoek

Weet wat er wordt gevraagd voordat je toestemming geeft.

De dienst start een Verihop-verzoek. Jij voltooit de begeleide controle, bekijkt de gevraagde gegevens en gaat verder waar je was gebleven.

Wat de video laat zien

Een dienst vraagt om specifieke gegevens. Je verifieert je op je telefoon, bekijkt het verzoek en keurt het delen goed. Na de controle keer je terug naar de dienst.

Wat je kunt verwachten

Duidelijk, snel en onder jouw regie.

Duidelijk

Bekijk wie iets vraagt en precies wat diegene nodig heeft.

Snel

Geslaagde ondersteunde controles komen niet in een standaardwachtrij voor beoordeling.

Herbruikbaar

Gebruik een opgeslagen geldige verificatie wanneer de dienst die accepteert.

Privacy by design

Keur alleen de gevraagde gegevens goed.

Telefoon boven een paspoort voor NFC-identiteitsverificatie

Hoe het werkt

Start via een Verihop-link of QR-code. Je ziet wie iets vraagt en welke gegevens nodig zijn voordat er iets wordt gedeeld.

1

Open het verzoek

Verihop toont de aanvragende dienst en de exacte gegevens die deze nodig heeft.

2

Verifieer op je telefoon

Volg de begeleide identiteitsdocument- en live-houdercontroles die voor het verzoek beschikbaar zijn.

3

Keur goed en ga verder

Keur het verzoek goeded details and continue where you left off.

PROBEER DEMO Bekijk een leeftijdscheck van begin tot eind. Rond de flow af op je telefoon en bekijk precies wat de demo ontvangt.

Gemaakt voor het echte leven

Bewijs wat nodig is. Ga verder met wat je deed.

Leeftijd

Bewijs dat je oud genoeg bent.

Bevestig je leeftijd en ga verder.

Verhuur & diensten

Verifieer wie je bent.

Deel de gevraagde geverifieerde gegevens.

Accountonboarding

Verifieer en ga verder.

Rond de controle af en keer direct terug naar de dienst.

Accounttoegang

Bewijs dat jij het echt bent.

Verifieer voor gevoelige acties, ondersteuning of accountherstel.

Bouw je een van deze ervaringen? Bekijk hoe Verihop werkt voor bedrijven, integraties en klantreizen. Bekijk VOOR BEDRIJVEN →

Jouw keuze

Sterke controles. Eenvoudige keuzes.

Controleer het documentLees de MRZ en beveiligde chip waar dat wordt ondersteund.

Controleer de houderGebruik begeleide liveness en gezichtsvergelijking voor de actieve verificatie.

Keur het verzoek goedDe dienst ontvangt de gegevens die jij goedkeurt.

Hoe Verihop met identiteitsgegevens omgaat

Klaar wanneer jij dat bent

Ervaar hoe een Verihop-verzoek werkt.

Probeer de leeftijdscontroledemo, bekijk de exact gevraagde gegevens en voltooi de flow op je telefoon.

API voor persoonlijke identiteit

Eén API voor betrouwbare gegevens.

Maak een sessie. Deel de start-URL. Haal het goedgekeurde resultaat op. Verificatie, toestemming en apparaatroutering worden voor je geregeld.

Wil je het product- en bedrijfsoverzicht? Bekijk VOOR BEDRIJVEN →

INTEGRATIESTAPPEN

Van sessie tot goedgekeurd resultaat in vier stappen.

Bekijk integratiestappen

1. Maak de sessie

POST /v1/sessions

2. Open Verihop

Gebruik launch_url of qr_url; native iOS-apps openen app_clip_url ongewijzigd.

3. Ontvang de callback

session_id + result_token

4. Haal het resultaat op

GET /v1/sessions/{id}/result

Eenmalig ophalen via je backend.

Optioneel: controleer sessiestatus GET /v1/sessions/{id}

API-sleutels blijven op je backend. Geverifieerde persoonsgegevens worden niet in callback-URL's geplaatst.

Apparaatstromen en callbacks

Een sessie onder beheer van je backend start de stroom; goedgekeurde identiteitsinformatie wordt server-to-server opgehaald.

Bekijk integratieflow
Bekijk gebruikersflow

Test in het Customer Portal

Voer een Session Voorbeeld uit voordat je de productie-integratie bouwt.

Gebruik een testaccount om gevraagde velden te kiezen, een callback in te stellen, de Session Voorbeeld uit te voeren en de echte aanvraag, respons, sessiestatus en het gestructureerde resultaat te bekijken.

Open Developer-omgeving

Integratieskill voor agents

Geef je coding agent het Verihop-playbook.

Eén veilige bron voor testconfiguratie, server-side sessies, callbacks, resultaten, launchgedrag en beknopte patronen voor Node, Python, Swift, Kotlin, Java, Go, PHP, Ruby en cURL.

Download SKILL.md

Postman-collectie

Importeer de Verihop API-collectie.

Gebruik een testsleutel om de collectie uit te proberen. Behoud de idempotentiesleutel voor herhalingen en haal het resultaat één keer op via je backend.

Download Postman-collectie

Basis

De onderstaande voorbeeldwaarden zijn geen herbruikbare inloggegevens. Gebruik de werkelijk teruggegeven URLs, ID’s en deadlines.

Basis-URL: https://api.verihop.com

Authenticeer partnerrequests alleen vanaf je backend:

Authorization: Bearer <api_key>

GET-verzoeken hebben geen requestbody. Gebruik voor sessiestatus en resultaat de bijpassende Test- of Live-sleutel; JWKS vereist geen API-key.

Maak eerst een testaccount om een API-key voor integratie te krijgen. Testresponses zijn bewust geredigeerd en hetzelfde account kan later naar productie worden gezet.

Test schermt geretourneerde persoonsgegevens af; telefooncontroles verwerken nog steeds identiteitsgegevens. Live-toegang vereist afzonderlijke goedkeuring van toepassing, velden, callback en productiestart.

Maak een testaccount

POST /v1/sessions

Create a verification session and receive the public launch fields.

De voorbeelden gebruiken een testsleutel. Instellingen voor liveverificatie worden verstrekt wanneer je account wordt geactiveerd.

Dit voorbeeld vraagt persoonlijke gegevens en documentgegevens uit een ID-kaart of paspoort; beide zijn niet vereist.

Sessieduur en vervaldatum
  • Gebruik de teruggegeven expires_at als absolute deadline. Het openen van de link of doorgaan met de verificatie verlengt deze termijn nooit.
  • Hergebruik nooit verlopen launch- of callbacktokens. Rond de vorige poging af voordat je bewust een nieuwe sessie start; een onzekere resultaatuitwisseling mag niet automatisch een vervanging starten.
  • Verihop never refreshes a Session automatically. The partner must create the replacement Session; compatible documents already verified and stored locally may still be reused.

Headers

Authorization: Bearer <api_key>
Content-Type: application/json
Idempotency-Key: <uuid>

Body

{
  "app": "RideNow",
  "header": "Identity details",
  "fields": ["legalName", "over18", "documentNumber", "documentExpiry"],
  "allowedDocuments": ["idCard", "passport"],
  "callback": "https://partner.example/verihop/callback"
}
Uitleg bij body-elementen
  • app: weergavenaam van de partnerapp binnen Verihop (max. 80 tekens).
  • header: korte verificatietitel die de gebruiker ziet (max. 120 tekens).
  • fields: Vermeld de gewenste catalogustokens. Een ontbrekende of lege lijst vraagt geen velden op.
  • allowedDocuments: Optionele lijst met toegestane documenttypen: passport, idCard, driverLicense of residencePermit. Laat dit weg om elk ondersteund documenttype toe te staan; stuur geen lege array.
  • callback: basis-retour-URL uit POST /v1/sessions. Verihop opent deze na afronding en voegt session_id, result_token (success path) en optioneel callback_jwt toe; verplicht en gevalideerd tegen je productie-allowlist.
Fields, allowed documents, and minimum evidence

fields says which verified values you request. allowedDocuments says which document types may provide evidence.

{
  "fields": ["legalName", "over18"],
  "allowedDocuments": ["passport", "idCard"]
}

This means Passport OR ID Card is eligible. It does not require both. The user chooses the concrete document used by each relevant section in the Verihop app.

  • passport, idCard, driverLicense, and residencePermit are cumulative document-type assertions (AND). A request such as ["legalName", "passport", "idCard"] requires Passport + ID Card.
  • documentNumber, documentExpiry, documentCountry, and documentNationality are one detail bundle. With explicit required types, they apply to each compatible required contributor; without one, the holder chooses one eligible document for the whole bundle. Driving licences do not supply documentNationality.
  • Personal facts are global and conflict-safe; committed evidence can establish them without requiring another document.
  • A holder may have multiple documents of the same type, including two passports from the same issuing country. Document type is not a unique identifier; receipt-backed partner evidence is distinguished by receiptId.
  • Impossible combinations are rejected at creation. Requiring Passport while allowing only ID card is invalid. A Driver's licence-only request for documentNationality is also invalid.
Uitleg bij headers
  • Authorization: partner-API-key in bearer-formaat.
  • Content-Type: gebruik application/json voor request body parsing.
  • Idempotency-Key: Aanbevolen bij herhaalde aanmaakverzoeken. Maak voor elke nieuwe poging een UUID en hergebruik die alleen met exact dezelfde requestbody.
Succesvolle 201-response
{
  "session_id": "sess_123",
  "expires_at": 1893456900,
  "launch_url": "https://www.verihop.com/verify.html?session_id=sess_123&token=h_example123456789",
  "app_clip_url": "https://appclip.apple.com/id?p=KycBox.VerifyBox.Clip&session_id=sess_123&token=h_example123456789",
  "qr_url": "https://www.verihop.com/verify.html?session_id=sess_123&token=h_example123456789",
  "status_url": "https://api.verihop.com/v1/sessions/sess_123"
}
Uitleg bij response-elementen
  • session_id: unieke sessie-ID voor tracking en result retrieval.
  • expires_at: vervaltijd van de sessie (Unix epoch seconds).
  • launch_url: primaire URL voor web, Android, QR-codes, e-mail, SMS en algemene handoff.
  • app_clip_url: directe native App Clip-URL voor iOS-partnerapps. Open deze exact zoals ontvangen; bouw de URL niet zelf opnieuw op.
  • qr_url: QR-veilige URL; momenteel gelijk aan launch_url.
  • status_url: sessiestatus-endpoint voor server-side polling.
Veelvoorkomende fouten
  • 401 missing_bearer_token, 401 invalid_api_key
  • 403 customer_inactive
  • 400 missing_callback_url, invalid_callback_url, callback_host_not_allowed
  • 400 field_not_allowed, invalid_field_token, invalid_allowed_documents
  • 409 idempotency_key_conflict, idempotency_key_in_progress, idempotency_key_expired
  • 413 request_too_large
  • 429 rate_limit_exceeded, daily_quota_exceeded

GET /v1/sessions/{id}

Optioneel: volg de sessievoortgang zonder persoonsgegevens op te halen.

Authorization: Bearer <api_key>
Succesvolle 200-response
{
  "session_id": "sess_123",
  "status": "issued",
  "issued_at": 1893456000,
  "expires_at": 1893456900,
  "last_status": null,
  "last_status_at": null,
  "opened_at": null,
  "result_available": false,
  "result_token_expires_at": null
}

Een voltooide sessie kan status: "used" en last_status: "success" tonen. result_available betekent dat een resultaat is opgeslagen; dit kan na gebruik of verval true blijven. Haal het resultaat één keer op, vóór de deadline.

Polling is alleen-lezen en markeert een sessie nooit als geopend. Een voltooide sessie met een Test-sleutel bevat ook result_token, zodat je het geredigeerde resultaat in Postman kunt ophalen. Live-resultaattokens komen via de callback.

GET /v1/sessions/{id}/result

Haal de geverifieerde result payload server-to-server op met een eenmalige result token.

A launch token starts with h_ and cannot be used here. X-Result-Token requires the short-lived res_ token from a live callback or completed test-key status response.

Authorization: Bearer <api_key>
X-Result-Token: <result_token>
Succesvolle 200-response

Voorbeeld van een Test-response op het bovenstaande verzoek: de gebruiker koos een ID-kaart. Persoonlijke waarden zijn geredigeerd; ID’s en tijdstippen zijn voorbeelden.

{
  "session_id": "sess_123",
  "status": "success",
  "result": {
    "legalName": "XXXTEST_USERXXX",
    "over18": "XXXTEST_USERXXX"
  },
  "personalDetailsDocument": {
    "type": "idCard",
    "issuingCountry": "ESP",
    "receiptId": "dr_AAAAAAAAAAAAAAAAAAAAAAAA"
  },
  "documents": [
    {
      "type": "idCard",
      "issuingCountry": "ESP",
      "receiptId": "dr_AAAAAAAAAAAAAAAAAAAAAAAA",
      "details": {
        "documentNumber": "XXXTEST_USERXXX",
        "documentExpiry": "XXXTEST_USERXXX"
      }
    }
  ]
}

result contains requested Personal Details only. personalDetailsDocument identifies the verified document selected by the user as their Personal Details source. The same document also appears in documents[]; that duplication is deliberate and is not an additional verification.

Resultaten met alleen documenten laten personalDetailsDocument weg.

documents[] contains every unique document that supported the Session: the Personal Details source, generic Document Details source, and each exact required-document source. Every entry contains type, issuingCountry, receiptId, and details. When no document details were requested, details is {}. Internal field attribution is never exposed.

  • Dit endpoint levert het goedgekeurde privéresultaat één keer. Elke receiptId verwijst naar het historische verificatiebewijs van dat document.
  • Rond de verificatie af → ontvang de callback → haal het resultaat en de receipt-ID’s op.
  • For a multi-document result, retrieve each documents[].receiptId independently with GET /v1/document-receipts/{receipt_id}. There is no combined receipt endpoint or combined JWS.
  • Retrieving a Document Receipt is repeatable, but it does not recover or replay this private result payload.
  • Toegang tot het privéresultaat eindigt bij de vroegste opgeslagen deadline van de sessie of het resultaattoken. Op of na die exacte grens is het antwoord 410 result_token_expired; het lezen en verifiëren van receipts blijft onafhankelijk.
  • One unique supporting document produces one Document Receipt; two unique supporting documents produce two.
  • When a saved verification is reused, the receipt preserves the original verified_at; reuse is not represented as a new document verification.

Test mode

Test mode preserves this exact structure and redacts only actual Personal Details and document-detail values with XXXTEST_USERXXX. It does not redact type, issuingCountry, receiptId, or structural keys.

Veelvoorkomende fouten
  • 401 missing_bearer_token, invalid_api_key, missing_result_token
  • 403 customer_inactive, api_key_environment_mismatch, invalid_result_token
  • 410 result_token_expired
  • 409 result_token_used
  • 404 result_not_available, session_not_found
  • 503 document_receipt_unavailable

GET /.well-known/jwks.json

Openbare verificatiesleutels voor callback-JWT’s en Document Receipts.

Er is geen API-key nodig. De cacheduur is 300 seconden. Controleer handtekeningen en claims op je backend; stop de controle als de sleutels niet beschikbaar of onbekend zijn.

Succesvolle 200-response
{
  "keys": [
    {
      "kty": "RSA",
      "kid": "example-key-id",
      "alg": "RS256",
      "use": "sig",
      "n": "...",
      "e": "AQAB"
    }
  ]
}

DOCUMENT RECEIPTS · OPTIONEEL

GET /v1/document-receipts/{receipt_id}

Retrieve an already-issued Document Receipt from your partner backend. Persistent retrieval is an optional extension to the four-step Sessions integration.

Authorization: Bearer <api_key>
Issuance and reuse
  • Document Receipts worden automatisch voorbereid zodra de verificatie is voltooid. Gebruik de receiptId-waarden uit GET /v1/sessions/{id}/result om ze op te halen.
  • The partner-facing identifier is the opaque dr_.... Internal receipt identifiers and data-model terminology are not part of the public contract.
  • Reuse of the same underlying verification for the same partner returns the same Document Receipt. Different partners receive different Document Receipts. A genuinely fresh verification creates a new receipt lineage.
Succesvolle 200-response
{
  "receiptId": "dr_AAAAAAAAAAAAAAAAAAAAAAAA",
  "receiptVersion": 1,
  "issuedAt": "2026-09-11T12:00:00.000Z",
  "document": {
    "type": "idCard",
    "issuingCountry": "ESP"
  },
  "receipt": "eyJhbGciOiJSUzI1NiIsImtpZCI6InZocmNwdC1yczI1Ni0yMDI2MDkxMS0wMSIsInR5cCI6InZlcm...eyJyZWNlaXB0X3ZlcnNpb24iOjEsInZlcmlmaWNhdGlvbiI6ey4uLn19.signature-placeholder"
}

The abbreviated signature above is a display placeholder, not a cryptographically valid sample receipt. receipt contains the original compact signed JWS, not a URL. The response identifies the document by type and issuing country without identity PII.

Eigendom, ophalen en levenscyclus
  • Use the owning partner account's Bearer API key. Knowing a dr_ identifier does not authorize access.
  • A missing receipt and another partner's receipt both return the same non-enumerating 404 document_receipt_not_found.
  • Repeated authorized retrieval returns the same stored JWS. It does not consume or re-sign the receipt and does not perform another document verification.
  • A multi-document result has multiple independent receipt IDs. Call this endpoint once per ID; Verihop does not provide a combined receipt or multi-document JWS.
  • Availability follows the approved receipt lifecycle and historical-key policy. It is not a promise of permanent storage.
verihop_v1 methodology and signature verification

The partner-facing methodology is verihop_v1, version 1. Verihop obtains document information from the supported document, runs its holder-verification flow, checks liveness, and matches the presented person against the document-holder evidence.

  • Successful completion is presented as verification outcome verified, holder verification passed, and liveness passed.
  • A successfully verified stored document can support later Sessions without a new face, selfie, or liveness step merely because it is reused.
  • The methodology does not claim separate issuer or document cryptographic authentication.
  • Historical evidence does not establish that a document is currently valid and does not bind or authenticate the complete Session result payload.
  • A receipt is not a global person/document identifier or cross-partner identity lineage.

Een compacte JWS decoderen is geen handtekeningcontrole. Verifieer op je backend met het geconfigureerde Verihop-JWKS-endpoint. Vereis alg=RS256, typ=verihop-document-receipt+jwt, een bekende receipt-sleutel met kid, de geconfigureerde issuer en de audience uit je vertrouwde partnerconfiguratie. Neem geen sleutel-URL, verwachte audience of vertrouwensbeslissing over uit het ongeverifieerde token. Callback- en Document Receipt-sleutels hebben afzonderlijke doelen.

Endpointfouten
  • 400 invalid_document_receipt_id
  • 401 missing_bearer_token, 401 invalid_api_key
  • 403 customer_inactive, 403 api_key_environment_mismatch
  • 404 document_receipt_not_found
  • 409 document_receipt_revoked, 423 document_receipt_held, 410 document_receipt_erased
  • 503 document_receipt_verification_unavailable, 503 document_receipt_unavailable

Veldcatalogus

Request field tokens (fields)

legalName, dateOfBirth, over18, over21, passport, idCard, driverLicense, residencePermit, documentNumber, documentExpiry, documentCountry, documentNationality

Resultaatvelden in de response

result bevat de gevraagde persoonlijke gegevens: legalName, dateOfBirth, over18 en over21. Gevraagde documentgegevens staan in documents[].details. Typevereisten zoals passport en idCard vereisen die documenten; ze voegen geen boolean toe aan result en vragen niet alle documentgegevens op.

Veelgestelde vragen

Kan de flow starten vanaf een desktopwebsite met een QR-code?

Ja. Je backend maakt een sessie met POST /v1/sessions en toont de teruggegeven qr_url als QR op de desktoppagina. De gebruiker scant die QR met de telefoon en Verihop opent de beste beschikbare ervaring.

Moet de QR eerst een website openen of direct Verihop?

De beste UX is direct launch: encodeer de teruggegeven qr_url. Dit is dezelfde universele HTTPS-handoff als launch_url en ondersteunt app, lichte ervaring en webfallback.

Is de deep link hetzelfde voor iOS en Android?

Gebruik launch_url op Android en voor algemene webhandoff. Een iOS-partnerapp die de native App Clip-kaart wil tonen, opent de teruggegeven app_clip_url. De callback-vorm blijft gelijk: Verihop voegt session_id, op het succespad result_token en optioneel callback_jwt toe.

Hoe start ik de Verihop App Clip direct vanuit mijn iOS-app?

Maak de sessie op je backend en stuur de teruggegeven app_clip_url naar je iOS-app. Open die URL met SwiftUI Link of UIApplication.open op iOS 17 of nieuwer. Parse launch_url niet, kopieer de token niet en hard-code de App Clip-bundle-ID van Verihop niet. Als de volledige Verihop-app is geïnstalleerd, opent iOS die met behoud van dezelfde sessie.

Wat moeten Android partnerapps registreren voor callbacks?

Gebruik je een custom callback zoals ridenow://verified, dan moet de Android partnerapp een intent filter declareren voor dat scheme en die host. Gebruik je een https:// callback voor desktop- of webgestarte flows, behandel die dan als backend-endpoint tenzij je Android app dat domein bezit met geverifieerde App Links.

Welke callback gebruik ik voor desktop- of webgestarte flows?

Gebruik een https://-retourendpoint op je backend. Verihop opent die URL op de telefoon met session_id en bij succes result_token in de query. Dit is de terugkeer van de gebruiker, geen server-to-server-webhook. Je backend controleert de opgeslagen sessiekoppeling en haalt GET /v1/sessions/{id}/result op. De desktoppagina kan bij je backend de voltooiing controleren.

Geeft POST /v1/sessions een partner-JWT terug?

Nee. Aanmaken retourneert orkestratievelden en ondoorzichtige launch-URLs, geen JWT of privé-identiteitsgegevens. Open de teruggegeven URL ongewijzigd.

Wat bevat de callback?

Een geslaagde terugkeer bevat session_id en result_token, plus callback_jwt indien ingeschakeld. Sommige appflows voegen status- of bronmetadata toe. Dit zijn geen persoonlijke resultaten of verificatiebewijzen. Controleer de sessiekoppeling, verifieer een meegegeven callback-JWT en haal het goedgekeurde resultaat op je backend op.

Moeten partners callback_jwt verifiëren, en waar?

Ja, op de partnerbackend wanneer aanwezig. Verifieer signature en claims met Verihop JWKS via GET /.well-known/jwks.json. Valideer issuer, audience en expiry en zorg dat JWT-claims overeenkomen met de callback querywaarden.

Kan mijn frontend GET /v1/sessions/{id}/result direct aanroepen?

Nee. Houd API-keys server-side en haal resultaten alleen via je backend op. De frontend/webclient hoort alleen UI te tonen en state door te geven aan je backend session.

Hoe gaan we om met expiratie en retries?

Reconcilieer eerst een verbruikte, verlopen of onzekere resultaatuitwisseling. Herhaal result GET nooit automatisch en maak niet automatisch een andere sessie. Alleen een bewuste nieuwe actie start een nieuwe poging.

Wat als Verihop niet op de telefoon is geïnstalleerd?

Open de teruggegeven launch_url of qr_url; de gehoste pagina begeleidt de gebruiker naar de ondersteunde app, App Clip of installatie. Op Android kan de gebruiker na installatie terugkeren en op Open Verihop tikken zolang de sessie geldig is. Maak niet alleen vanwege installatie een vervangende sessie. Laat de gebruiker na verval bewust een nieuwe poging starten.

Hoe werkt idempotency en is misbruik beperkt?

POST /v1/sessions ondersteunt Idempotency-Key voor retry-veilige create-session calls: dezelfde key met dezelfde payload speelt de originele response opnieuw af, terwijl dezelfde key met een andere payload 409 idempotency_key_conflict teruggeeft. Misbruik wordt verder beperkt met API-key auth, callback-allowlistbeleid, field-allowlistchecks, rate limits/quota per klant, korte sessie-TTL en een eenmalige result_token.

Voorbeeld

Open de filmleeftijdscheck-demo

Start in testmodus

Maak een sessie aan en bekijk de volledige overdracht.

Use a redacted testaccount, keep credentials on your backend, and move to production only after callback and field controls are approved.

Identiteitsverificatie met aandacht voor privacy

Ontvang de betrouwbare gegevens die je beslissing nodig heeft.

Vraag geverifieerde identiteits- of geschiktheidsgegevens op. Klanten voltooien de controle op hun telefoon en keuren goed wat wordt gedeeld.

Bijvoorbeeld:

geen foto’s van identiteitsbewijzen of selfiebestanden.

Probeer de live demo
  • Begeleide mobiele klantreis
  • Goedgekeurde gestructureerde resultaten
  • Geen documentafbeelding in het resultaat
Overzicht van de Verihop-flow op een apparaat Verihop-stap voor document- en profielcontrole

Van controle naar betrouwbare gegevens

Vraag wat je nodig hebt. Ontvang wat is goedgekeurd.

  1. AanvragenKies de gegevens die je beslissing nodig heeft.
  2. VerifiërenVerihop verzorgt ondersteunde document- en houdercontroles.
  3. OntvangenJe backend ontvangt het goedgekeurde resultaat.
Wat de video laat zien

Een dienst vraagt om specifieke gegevens. De klant verifieert zich op de telefoon, bekijkt het verzoek en keurt het delen goed. De dienst ontvangt het goedgekeurde resultaat.

Waarom dit telt

Minder frictie. Minder identiteitsgegevens om te beschermen.

Verificatie moet klanten verder helpen, zonder van één beslissing weer een documentarchief te maken.

Meer dan de helft

van de ondervraagde mensen in Nederland zei nooit online een kopie van hun paspoort, identiteitskaart of rijbewijs te delen.

CBS, 2025
Bekijk het onderzoek en de methode

In hetzelfde FullCircl-onderzoek duurde onboarding gemiddeld 35 minuten, 2,8 keer langer dan klanten wensten. FullCircl, State of Identity Verification 2025

De Nederlandse privacytoezichthouder meldde 39.407 datalekmeldingen in 2025. Autoriteit Persoonsgegevens, 2026

Wat het oplevert

Sterke controles. Een soepelere klantreis.

Kies een voordeel om te zien hoe het werkt.

Vergelijk de houderDocument- en houdercontroles

Het lezen van MRZ en NFC-chip ondersteunt de houdervergelijking.

Laat klanten doorgaanBegeleide controle op een ondersteunde telefoon

De duur kan variëren per apparaat, document en verbinding.

Beslis directResultaat na een geslaagde controle

Een geslaagde verificatie levert het resultaat op zonder standaardwachtrij voor handmatige beoordeling.

Verwerk minder gevoelige gegevensGoedgekeurde gestructureerde velden

Ontvang goedgekeurde velden, niet de paspoortafbeelding of selfie van de klant.

Vraag niet opnieuwHergebruik wanneer geldig en geaccepteerd

Klanten kunnen een op hun apparaat opgeslagen verificatie goedkeuren wanneer die geldig blijft en je beleid die accepteert.

Vergelijk met documentupload
Typische documentupload Met Verihop
Verifieer vanaf een afbeeldingDe klant stuurt foto's van een identiteitsdocument in voor verificatie. Lees de chip + vergelijk de houderDe gecontroleerde pilot leest documentgegevens uit de NFC-chip en vergelijkt de houder met het portret. De echtheid van de uitgevende overheid wordt niet vastgesteld.
Wacht op het resultaatGeautomatiseerde controles kunnen aanvullende controles of handmatige beoordeling vereisen voordat een beslissing beschikbaar is. Krijg direct resultaatEen succesvolle verificatie levert direct het resultaat op, zonder standaard wachtrij voor handmatige beoordeling.
Verzamel het documentPaspoort-, identiteits- of selfiebestanden kunnen gevoelige gegevens worden die je bedrijf moet ontvangen, bewaren en beschermen. Ontvang alleen wat je nodig hebtJe systeem ontvangt de goedgekeurde geverifieerde informatie, niet de paspoortafbeelding of selfie van de klant.
Verifieer opnieuwTerugkerende klanten moeten mogelijk de document- en houdercontrole herhalen voor een ander verzoek. Hergebruik wanneer geaccepteerdKlanten kunnen een op hun apparaat opgeslagen verificatie goedkeuren wanneer die geldig blijft en je beleid die accepteert.
Identiteitsgegevens uit een document die via een telefoon naar goedgekeurde velden stromen

Begin bij de beslissing

Wat moet je echt weten?

Leeftijd & geschiktheid

Is deze persoon ouder dan 18?

Vraag een geverifieerd leeftijdsresultaat op.

Accountonboarding

Wie meldt zich aan?

Controleer de gegevens die je onboardingbeslissing nodig heeft.

Verhuur en toegang

Is dit de juiste persoon?

Verifieer de identiteit voordat toegang wordt verleend.

Accountherstel

Is dit de accounthouder?

Vraag een nieuwe controle voor gevoelige acties.

Verihop verifieert de goedgekeurde gegevens. Jouw bedrijf neemt de beslissing.

Customer Portal

Test de volledige overdracht voordat je live gaat.

Test

Voer geredigeerde sessies uit en controleer de overdracht.

Ga live

Dien je productie-inrichting en veldbereik ter beoordeling in.

Beheer

Bewaak sessies, callbacks, gebruik en teamtoegang.

Start met één use case

Welke betrouwbare gegevens heeft je product nodig?

Neem je klantreis en beslissing mee. We brengen het kleinste bruikbare verzoek en een testtraject in kaart.