Bevestigingen, logboek en limieten
Hoe een voorbeeld een actie wordt, het bevestigingstoken voor eenmalig gebruik, het auditlogboek en de oproeplimieten.
Geen enkele tool wijzigt rechtstreeks gegevens: de tools prepare_* maken een voorbeeld, de gebruiker beslist.
Voorbeeld en bevestiging
Typisch antwoord van een tool prepare_*:
{
"status": "preview_ready",
"action": "...",
"summary": "...",
"preview": "...",
"preview_url": "https://web.novadesko.com/ai-connector/preview/...",
"preview_url_expires_in_minutes": 30,
"confirmation_token": "ndk_...",
"next_step": "..."
}- De AI toont het voorbeeld en de link
preview_url(ondertekende pagina, pdf voor documenten). - Ze roept
confirm_actionmet het token pas aan na een uitdrukkelijk ja van de gebruiker. De gebruiker kan ook bevestigen of annuleren op de voorbeeldpagina, aangemeld bij Novadesko. - Het token is eenmalig, gekoppeld aan de gebruiker, het bedrijf en het kanaal, en vervalt na 30 minuten. De inhoud van het voorbeeld ligt vast (SHA-256-vingerafdruk): wat bevestigd wordt, is precies wat getoond werd.
- De actie loopt via dezelfde controllers als de webapplicatie: dezelfde validaties, dezelfde nummering. Het wettelijke factuurnummer wordt bij bevestiging toegekend.
- Om een voorbeeld te wijzigen, roept de AI de tool
prepare_*opnieuw aan: er komt een nieuw voorbeeld.list_pending_actionstoont de wachtende voorbeelden.
De tools dragen de MCP-annotaties readOnlyHint en destructiveHint: confirm_action is als destructief gemarkeerd, waardoor de meeste clients ook zelf om akkoord vragen.
Controles bij elke oproep
- tool bekend en toegelaten op dit kanaal;
- de gebruiker is nog lid van het bedrijf (en geen klantportaalaccount);
- scope toegekend;
- limieten;
- argumenten: bedrijfs- of gebruikers-ID's verwijderd, daarna strikt schema;
- functie inbegrepen in de formule;
- uitvoering, daarna registratie in het logboek.
Gegevens uit raadplegingen worden als onbetrouwbaar gemarkeerd en tags die een toolaanroep zouden kunnen nabootsen, worden geneutraliseerd: een gemanipuleerde klantnaam of notitie kan de AI niet aansturen.
Limieten
| Limiet | Waarde |
|---|---|
| Toolaanroepen per verbinding | 120 per minuut |
| Toolaanroepen per bedrijf (alle kanalen) | 400 per minuut |
| Bevestigingen per verbinding | 30 per uur |
| HTTP-verzoeken op het MCP-eindpunt (per token) | 600 per minuut |
| Token en intrekking (per IP en client) | 120 per minuut |
| Clientregistratie (per IP) | 120 per minuut |
| Metadata (per IP) | 600 per minuut |
Daarboven geeft de tool een foutresultaat (isError: true) met een melding van het type « Te veel oproepen, probeer opnieuw over N seconden »; de HTTP-limieten geven 429.
Auditlogboek
Elke oproep wordt geregistreerd met datum, gebeurtenis (raadpleging, voorbeeld, bevestiging, annulering), tool, samenvatting, status (ok, geweigerd, verboden...) en platform (claude, chatgpt, gemini, nova). De gebruiker ziet het logboek van elke integratie in Novadesko. De gesprekken zelf worden door Novadesko niet ontvangen of opgeslagen.