Через Security Advisories на GitHub — это приватный канал, issue заводить не нужно. Ответ придёт, когда придёт: проект личный, дежурства по нему нет.
Её практически нет, и это осознанно.
Cyclop не открывает портов и не слушает сеть. Ни обновлений, ни телеметрии, ни аналитики — исходящих соединений нет ни одного, с единственным исключением: запасной путь управления плеером скачивает обложку трека по адресу, который отдаёт Spotify, и только по https. Основной путь не ходит и туда: обложка приходит от самой macOS вместе с остальными данными о треке. Всё прочее происходит на одной машине между процессами, которые и так принадлежат пользователю.
Снимок с айфона попадает на полку через универсальный буфер обмена, то есть средствами самой macOS: передачу выполняет Continuity, она зашифрована и подтверждена Apple ID, а Cyclop лишь читает то, что оказалось в буфере. Своего канала связи с телефоном у него нет.
Одно, и только по нажатию кнопки: доступ к Календарю на вкладке «Календарь». Ни автоматизации, ни универсального доступа, ни записи экрана в обычном режиме работы не требуется. Не открываешь календарь — приложение живёт вообще без разрешений.
Автоматизация и универсальный доступ запрашиваются только запасным путём для управления плеером, если основной перестанет работать.
История буфера обмена живёт только в памяти процесса и не пишется на диск.
Записи с типом org.nspasteboard.ConcealedType, которым менеджеры паролей
помечают свои копирования, в историю не попадают вовсе.
Снимки экрана из буфера сохраняются файлами в ~/Pictures/Cyclop и не
удаляются автоматически никогда. Сохраняется всякий скопированный в буфер снимок,
а не только тот, что понадобился, — включая случайно снятое окно банка или
почты. Папка целиком принадлежит пользователю; чистит
её только он. Отключается пунктом меню-бара.
Полка хранит в настройках приложения пути к файлам, а не сами файлы.
Заготовки лежат в ~/Library/Application Support/Cyclop/snippets.json
обычным текстом. Файл читается при каждом открытии вкладки и переписывается,
когда заготовку добавляют или удаляют из панели. Для адреса и телефона этого
достаточно; для того, что не должно лежать читаемым, есть менеджер паролей.
Перевод выполняется Translation.framework полностью офлайн: текст не
покидает машину.