Step 1 — macOS permissions

The bridge needs two macOS privacy grants. Both are tied to the python.org Python binary at /Library/Frameworks/Python.framework/Versions/3.14/Resources/Python.app (your install path may vary). Apple does not allow these to be granted by an installer — you'll click through System Settings yourself.

Full Disk Access required to read ~/Library/Messages/chat.db
{% if fda.status == "ok" %}✓ {{ fda.detail }} {% else %}✗ {{ fda.detail }}{% endif %}
Open Settings
Automation → Messages required to send via AppleScript
{% if automation.status == "ok" %}✓ {{ automation.detail }} {% else %}✗ {{ automation.detail }}{% endif %}
Open Settings
{# Auto-refresh: re-runs both probes every 30 s while this step is in the DOM. The interval is cleaned up automatically when the element is removed (e.g. after the user clicks Next →). #}
Refresh all Next →
{% if fda.status != "ok" or automation.status != "ok" %}

Both grants must show ✓ before you can advance. After granting in System Settings, click Refresh all (or wait — the page checks automatically every 30 seconds).

{% endif %}