LIVE · AUDIT-KEDJA · EU-VÄRD
SYSTEM · 99,99 % DRIFTSTID
v 1.0 ↗ TILLVERKAT I EU

Autentisering

Varje publik-API-request bär ett uppgiftspar — nb_pub_* (publik nyckel) + nb_sec_* (hemlighet). Hemligheten skickas som en Bearer-token. Uppgiften är begränsad till en enda org + en fast scope-katalog.

Utfärda uppgifter

  1. Logga in på din org på app.nexbasira.com.
  2. Gå till Admin → API-uppgifter.
  3. Klicka på Utfärda uppgift, välj ett namn + scopes, bekräfta.
  4. Kopiera paret nb_pub_* + nb_sec_*. Hemligheten visas exakt en gång. Lagra den i din secrets manager omedelbart — vi behåller bara en SHA-256-hash på vår sida.

Använda uppgiften

Authorization: Bearer nb_sec_AbCdEf...

Den publika nyckeln (nb_pub_*) identifierar uppgiften i våra loggar + dyker upp i webhook-leveransernas NB-Credential-Id-header. Hemligheten autentiserar.

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

Scope-katalog

Varje uppgift skapas med en explicit scope-uppsättning. Requests utanför de scopen returnerar 403. Scope-katalogen är fast (inga anpassade scopes i v1):

ScopeGer
sessions:readLista + hämta sessions
sessions:writeSkapa sessions + avsluta dem
participants:readLista deltagare i en session
participants:writePrägla fältanvändar-inbjudningar
evidence:readLista + hämta evidence-rader + signerade nedladdnings-URL:er
recordings:readLäs metadata för inspelningsartefakter + nedladdnings-URL:er
audit:readLäs granskningskedjan per session + TSA-förankringskoordinater
webhooks:readLista registrerade webhook-endpoints + leveranslogg
webhooks:writeRegistrera / rotera hemlighet / radera webhook-endpoints
branding:readLäs org-branding (logotyp / färger / PDF-sidfot)
branding:writeMutera org-branding
org:readLäs org-metadata
whiteboards:readLista whiteboards per session

Rotation

Så här roterar du utan driftstopp:

  1. Utfärda en ny credential med samma uppsättning scopes.
  2. Distribuera den nya hemligheten till din applikation.
  3. Verifiera att den nya credentialen tar trafik (Admin → API-credentials visar en last-used-tidsstämpel).
  4. Mjuk-återkalla den gamla credentialen. Befintliga anrop som använder den ger 401; granskningsloggen över tidigare anrop förblir intakt.

Verifiering i konstant tid

På backend lagras hemligheter som SHA-256(secret + SECRET_KEY_pepper) och jämförs i konstant tid (hmac.compare_digest). En läckt hash-dump kan inte brute-forcas tillbaka till klartexten utan att också bryta peppern.

Vad denna credential INTE ger tillgång till

  • SPA-adminåtkomst — det är separat (operatörsinloggning + RBAC).
  • Anslutning på fältsidan — de använder engångssignerade URL:er som utfärdas via sessions.invite().
  • SCIM-provisionering — använder en separat per-org bearer-token, se SCIM-provisionering.
  • Webhook-signering — det görs med den per-endpoint whsec_*-hemligheten, se Webhooks.

Granskningslogg

Varje API-anrop loggas med credentialens publika nyckel + endpointen + status. Operationer som muterar state skriver dessutom granskningsrader i den berörda organisationen. Admin kan se credentialens aktivitet under Admin → API-credentials → [credential] → Aktivitet.