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 %}