> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hi-doctor.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Beveiliging

> Hoe de connector u authenticeert, wat hij opslaat, en wat hij bewust weigert te doen of prijs te geven.

De Hi-Doctor MCP-server is een OAuth 2.1-**resourceserver**. Hij heeft geen
eigen patiëntendatabase — elke toolaanroep wordt als *u* doorgestuurd naar de
Hi-Doctor API, met de machtigingen van uw eigen account.

## Inloggen

Bij het koppelen wordt een standaard OAuth 2.1-authorization-code-flow met
**PKCE** (`S256`) doorlopen. Uw AI-client ziet uw wachtwoord nooit: u voert het
in op een pagina van Hi-Doctor, en de client ontvangt een kortlevende
autorisatiecode die hij inwisselt voor een token.

De server publiceert de discovery-documenten die een MCP-client verwacht, zodat
er niets handmatig geconfigureerd hoeft te worden:

| Document                                  | Standaard                             |
| ----------------------------------------- | ------------------------------------- |
| `/.well-known/oauth-protected-resource`   | RFC 9728                              |
| `/.well-known/oauth-authorization-server` | RFC 8414                              |
| `POST /register`                          | RFC 7591 dynamische clientregistratie |

Autorisatiecodes zijn **eenmalig** en kortlevend. Een code twee keer inwisselen
mislukt — een opnieuw afgespeelde code wordt afgewezen, niet gehonoreerd.

## Waar een token naartoe mag worden teruggestuurd

Elke geregistreerde client krijgt een ondertekende `client_id` die **de exacte
redirect-URI bindt** waarmee hij zich heeft geregistreerd. Op het moment van
autoriseren moet de gevraagde `redirect_uri` exact met die binding overeenkomen.

<Note>
  Dit is de verdediging tegen het onderscheppen van autorisatiecodes: een
  aanvaller die uw `client_id` kent, kan de code alsnog niet naar zijn eigen
  server laten sturen, omdat de URI in het identificatiekenmerk is verzegeld en
  wordt gecontroleerd voordat het inlogformulier ook maar wordt getoond.
</Note>

Loopback-redirects volgen RFC 8252 §7.3 — de poort mag variëren, zoals
desktopclients nodig hebben, maar de rest van de URI moet overeenkomen.

## Tokens

Toegangstokens zijn **met AES-256-GCM versleutelde enveloppen**, geen kale
backendreferenties. Een envelop is aan zijn audience gebonden en wordt afgewezen
als hij is gemanipuleerd, tegen de verkeerde resource wordt afgespeeld, of wordt
aangeboden nadat het backendtoken erin is verlopen. Een refresh-envelop kan niet
worden gebruikt waar een access-envelop vereist is.

Uw Hi-Doctor-wachtwoord wordt bij het inloggen ingewisseld voor een token en
wordt nooit door de connector opgeslagen, nooit naar een log geschreven en nooit
aan de koppelende applicatie doorgegeven.

## Machtigingen

Tools zijn gegroepeerd, en elke groep vereist een eigen scope — profiel,
consulten, berichten, vragenlijsten, voortgang, betaling. Een tool waarvan u de
scope niet hebt verleend, wordt niet alleen geweigerd, maar **niet aangeboden**:
hij verschijnt nooit in de toollijst van de client.

Rollen stapelen niet. Een account krijgt precies één toolcatalogus, dus een
patiënttoken kan nooit bij een tool van een arts of van de backoffice komen. Zie
[Machtigingen](/nl/mcp/permissions) voor de volledige lijst.

## Wat de server weigert prijs te geven

* **`5xx`-antwoorden van de backend worden volledig weggegooid.** Een fout
  stroomopwaarts levert een stabiele, generieke foutmelding op in plaats van een
  interne trace.
* **`4xx`-antwoorden worden gefilterd tot een allowlist** van gestructureerde
  velden, zodat een fout bruikbaar kan zijn zonder patiëntgegevens terug te
  echoën via het toolresultaat.
* Padargumenten kunnen niet ontsnappen aan de geconfigureerde API-host of het
  versievoorvoegsel daarvan.
* Rate limiting wordt bijgehouden op het token, niet op een header die een
  aanroeper zou kunnen aanpassen om een verse bucket te krijgen.

## Betaling

De connector verwerkt nooit kaartgegevens. `hidoctor_checkout_create` geeft een
link naar de eigen gehoste checkout van Stripe, en wijzigingen aan kaart, plan
en factuuradres gebeuren in het Stripe-facturatieportaal. Er is geen tool die
een kaartnummer aanneemt, en een assistent die u erom vraagt, praat niet met
Hi-Doctor.

## Klinische grenzen

Geen enkel token, van welke soort dan ook, kan een consult goedkeuren, een
recept uitschrijven of wijzigen, of een dosering aanpassen. Die handelingen
worden helemaal niet door de MCP-server aangeboden — ze zitten niet achter een
scope, ze zijn er simpelweg niet.

De medische geschiktheid wordt door de backend van Hi-Doctor afgedwongen wanneer
een vragenlijst wordt ingediend. Een assistent kan een patiënt niet vooraf
goedkeuren, en opnieuw indienen met andere antwoorden omzeilt de controle niet.

## Een probleem melden

Mail [hello@hi-doctor.ai](mailto:hello@hi-doctor.ai) met de details. Denkt u dat
patiëntgegevens zijn blootgesteld, vermeld dat dan in de onderwerpregel, zodat
de melding als eerste wordt opgepakt.
