macOS-machtigingen (TCC)¶
macOS-machtigingsverlening is kwetsbaar. TCC koppelt een machtigingsverlening aan de code-ondertekening, bundle-ID en het pad op schijf van de app. Als een van deze verandert, beschouwt macOS de app als nieuw en kan het prompts laten vervallen of verbergen.
Vereisten voor stabiele machtigingen¶
- Hetzelfde pad: voer de app uit vanaf een vaste locatie (voor OpenClaw,
dist/OpenClaw.app). - Dezelfde bundle-ID: het wijzigen van de bundle-ID creëert een nieuwe machtigingsidentiteit.
- Ondertekende app: niet-ondertekende of ad-hoc ondertekende builds behouden geen machtigingen.
- Consistente ondertekening: gebruik een echt Apple Development- of Developer ID-certificaat zodat de ondertekening stabiel blijft over rebuilds heen.
Ad-hoc ondertekeningen genereren bij elke build een nieuwe identiteit. macOS zal eerdere verleningen vergeten, en prompts kunnen volledig verdwijnen totdat de verouderde vermeldingen zijn opgeschoond.
Herstelchecklist wanneer prompts verdwijnen¶
- Sluit de app af.
- Verwijder de app-vermelding in Systeeminstellingen -> Privacy en beveiliging.
- Start de app opnieuw vanaf hetzelfde pad en verleen de machtigingen opnieuw.
- Als de prompt nog steeds niet verschijnt, reset TCC-vermeldingen met
tccutilen probeer het opnieuw. - Sommige machtigingen verschijnen pas weer na een volledige herstart van macOS.
Voorbeeldresets (vervang de bundle-ID indien nodig):
sudo tccutil reset Accessibility bot.molt.mac
sudo tccutil reset ScreenCapture bot.molt.mac
sudo tccutil reset AppleEvents
Machtigingen voor bestanden en mappen (Bureaublad/Documenten/Downloads)¶
macOS kan ook het Bureaublad, Documenten en Downloads afschermen voor terminal-/achtergrondprocessen. Als het lezen van bestanden of het weergeven van mappen blijft hangen, verleen dan toegang aan dezelfde procescontext die de bestandsbewerkingen uitvoert (bijvoorbeeld Terminal/iTerm, een via LaunchAgent gestart app of een SSH-proces).
Workaround: verplaats bestanden naar de OpenClaw-werkruimte (~/.openclaw/workspace) als je per-map-verleningen wilt vermijden.
Als je machtigingen test, onderteken altijd met een echt certificaat. Ad-hoc builds zijn alleen acceptabel voor snelle lokale runs waarbij machtigingen niet van belang zijn.