LIVE · AUDIT-KETEN · EU-GEHOST
SYSTEEM · 99,99% UPTIME
v 1.0 ↗ GEMAAKT IN DE EU

Authenticatie

Elk verzoek aan de publieke API draagt een credentialpaar — nb_pub_* (publieke sleutel) + nb_sec_* (secret). Het secret wordt als Bearer-token verzonden. De credential is beperkt tot één org + een vaste scope-catalogus.

Credentials uitgeven

  1. Log in bij uw org op app.nexbasira.com.
  2. Ga naar Admin → API-credentials.
  3. Klik op Credential uitgeven, kies een naam + scopes, bevestig.
  4. Kopieer het nb_pub_*- + nb_sec_*-paar. Het secret wordt precies één keer getoond. Sla het direct op in uw secrets manager — wij bewaren alleen een SHA-256-hash aan onze kant.

De credential gebruiken

Authorization: Bearer nb_sec_AbCdEf...

De publieke sleutel (nb_pub_*) identificeert de credential in onze logs + verschijnt in de NB-Credential-Id-header van webhook-afleveringen. Het secret authenticeert.

curl https://app.nexbasira.com/api/v1/public/sessions \
  -H "Authorization: Bearer nb_sec_..."

Scope-catalogus

Elke credential wordt aangemaakt met een expliciete scope-set. Verzoeken buiten die scopes retourneren 403. De scope-catalogus is vast (geen custom scopes in v1):

ScopeVerleent
sessions:readSessies opsommen + ophalen
sessions:writeSessies aanmaken + beëindigen
participants:readDeelnemers van een sessie opsommen
participants:writeVeldgebruiker-uitnodigingen genereren
evidence:readBewijsregels opsommen + ophalen + ondertekende download-URL's
recordings:readMetadata van opname-artefacten + download-URL's lezen
audit:readDe audit-keten per sessie + TSA-ankercoördinaten lezen
webhooks:readGeregistreerde webhook-endpoints + afleveringslogboek opsommen
webhooks:writeWebhook-endpoints registreren / geheim roteren / verwijderen
branding:readOrg-branding lezen (logo / kleuren / PDF-footer)
branding:writeOrg-branding muteren
org:readOrg-metadata lezen
whiteboards:readWhiteboards per sessie opsommen

Rotatie

Om zonder downtime te roteren:

  1. Geef een nieuwe credential uit met dezelfde scope-set.
  2. Deploy het nieuwe secret naar uw applicatie.
  3. Verifieer dat de nieuwe credential verkeer verwerkt (Admin → API-credentials toont het last-used-tijdstempel).
  4. Soft-revoke de oude credential. Bestaande verzoeken die hem gebruiken geven 401; het audit-spoor van eerdere calls blijft intact.

Constante-tijd-verificatie

Op de backend worden secrets opgeslagen als SHA-256(secret + SECRET_KEY_pepper) en in constante tijd vergeleken (hmac.compare_digest). Een gelekte hash-dump kan niet naar de platte tekst worden gebrute-forced zonder ook de pepper te breken.

Wat deze credential NIET verleent

  • SPA-admin-toegang — die is apart (operator-login + RBAC).
  • Deelname aan veldkant — die gebruikt eenmalige ondertekende URL's, gegenereerd via sessions.invite().
  • SCIM-provisioning — gebruikt een apart bearer-token per org, zie SCIM-provisioning.
  • Webhook-ondertekening — dat gebeurt met het whsec_*-secret per endpoint, zie Webhooks.

Audit-spoor

Elke API-call wordt gelogd met de publieke sleutel van de credential + het endpoint + de status. Operaties die state muteren schrijven aanvullend auditrijen in de betrokken org. Admin kan de activiteit van de credential bekijken via Admin → API-credentials → [credential] → Activiteit.