← ZipCal

Privacy

Last updated 23 August 2026

The short version:

That is the whole model. Details below for the curious.

Where data goes

DataSent where
Screenshot or photo To the vision model (Gemini 3 Flash via OpenRouter) for one extraction call. Not retained by us afterwards.
Extracted event Written to your calendar with EventKit, which follows your own iCloud or account sync settings.
Diagnostics
(timing, confidence)
Nowhere. A local file on your device only, visible under Settings › Debug log.
Your API key Stored in the device Keychain. Sent only as the authorisation header to openrouter.ai.

Calendar access

ZipCal requests write-only calendar access, the narrowest permission iOS offers. It can create events. It cannot list, read or modify anything already in your calendar, and it never sees your existing appointments.

Your API key

Extraction needs a model provider. You can supply your own OpenRouter key, which is kept in the device Keychain and sent only to OpenRouter. Their handling of request data is covered by OpenRouter's privacy policy.

Children

ZipCal is not directed at children and collects no personal information from anyone.

Changes

If this policy changes in a way that affects what leaves your device, the date at the top of this page changes with it. The app is open source, so you can always verify the behaviour described here against the code.

Contact

Questions: open an issue on GitHub.