Агент видит финансы без доступа к банкам

Сторож на Mac читает СМС и уведомления банков, которые пересылает iPhone, режет коды и отдаёт события в JSONL.

server/
  mac_watch.py   читает chat.db и базу уведомлений,
                 фильтр отправителей, дедуп, JSONL
  parser.py      суммы, валюта, ****карта, остаток,
                 срок, банк, отсев рекламы и OTP
  main.py        FastAPI-приёмник (необязательно)
data/finance_events.jsonl

Что внутри

Ни одного банковского логина. Точка перехвата там, где и так живёт агент.

0

паролей и логинов

Только чтение системных баз macOS, наружу ничего не уходит.

Двойной фильтр секретов

Сообщения с кодом, OTP и паролем отбрасываются в парсере и ещё раз в стороже.

Девять типов событий

Расход, доход, перевод, остаток, долг, налог, штраф, возврат, неизвестно.

Карта только как ****1234

Последние четыре цифры, сумма, валюта, остаток после операции, срок.

Один ручной шаг

Выдать Python полный доступ к диску в настройках macOS.

Как устроено

Перехватить push чужих приложений на iPhone нельзя, поэтому сторож стоит на Mac, куда телефон пересылает сообщения.

flowchart LR
  P[iPhone: СМС банков, пуши] -->|Пересылка сообщений| M[macOS Messages chat.db]
  P --> N[Центр уведомлений db]
  M --> W[mac_watch.py<br/>фильтр отправителей, дедуп]
  N --> W
  W --> X[parser.py<br/>сумма, карта, остаток, тип события, отсев OTP]
  X --> J[(finance_events.jsonl)]
  J --> A[ИИ-агент читает файл]
Python stdlibmacOS MessagesNotification CenterlaunchdFastAPI (опц.)

Что было сложного

iOS не отдаёт пуши чужих приложений

Перехват перенесён на Mac: Пересылка сообщений и Центр уведомлений хранят всё в SQLite.

Среди СМС есть коды входа

Два независимых рубежа: регулярки парсера и повторная проверка в стороже, такие сообщения не сохраняются даже в сыром виде.