An authorization bypass exists in the by-id read endpoints within `src/main/kotlin/nl/info/zac/app/zaak/ZaakRestService.kt` because they omit the `assertPolicy`(`policyService.readZaakRechten(zaak).lezen`) check. While `RequestAuthorizationFilter` and `hasAnyApplicationRole` verify a general application role, they do not validate the specific case type, and the `zaak-rechten.rego` policy is not invoked to enforce the `zaaktype allowed` boundary. Consequently, an authenticated low-privileged municipal user with a case or decision UUID can access unauthorized data through the following endpoints:
- '/rest/zaken/besluit/zaakUuid/{uuid}' using `listBesluitenForZaakUUID` to read decisions, types, dates, and free-text toelichting.
- '/rest/zaken/besluit/{uuid}/historie' using `listBesluitHistorie` to read audit old and new values.
- '/rest/zaken/{uuid}/process-diagram' using `downloadProcessDiagram` to read BPMN workflow state.
- 'zaak/{uuid}/afzender' using `listAfzendersVoorZaak` to expose zaaktype mailbox configuration.