Privacy Policy
Effective date: 13 May 2026
The short version. The AIPointer desktop app collects nothing about you. Your prompts, screenshots and clipboard text go directly from your machine to the AI provider you chose, using the API key you provided. We never see them. The website at aipointer.app uses Google Analytics with EU-style Consent Mode v2: nothing is collected until you accept the cookie banner. The auto-updater performs a standard HTTPS request to aipointer.app/updates/latest.json to check for new versions, which appears in normal server access logs.
- Scope and definitions
- What the desktop app does and does not collect
- Third-party AI providers (BYOK)
- Voice input and read-aloud
- Auto-updater
- Binary downloads
- Website analytics
- Cookies
- Storage and security
- Legal basis (GDPR)
- Your rights (GDPR)
- California (CCPA / CPRA)
- International transfers
- Children
- Changes to this policy
- Contact and Data Controller
1. Scope and definitions
This policy applies to:
- The AIPointer desktop application for macOS, Windows and Linux, in all versions from 1.0.0 onward.
- The website at
aipointer.appand any subdomain. - The auto-updater service served from
aipointer.app/updates/.
It does not apply to third-party services you choose to connect AIPointer to (OpenRouter, Anthropic, OpenAI, Google), to the GitHub repository at github.com/gonemedia/aipointer, or to Skales at skales.app. Each of those has its own policy.
References to "we", "us" and "our" mean Mario Simic, the data controller identified in the Imprint.
2. What the desktop app does and does not collect
The AIPointer desktop application has zero telemetry. There is:
- No anonymous user identifier.
- No usage statistics, no event reporting, no opt-in or opt-out analytics.
- No automatic crash reporting.
- No remote logging of API calls, prompts, screenshots, clipboard text or responses.
- No outbound network traffic to any server we operate, except the auto-updater check described in section 5.
The app does process the following data locally on your machine, in memory or on disk you control:
- A 1024 × 768 JPEG of the screen region around your cursor, captured at trigger time.
- The text of your prompt and any prior turns in the current session.
- Optionally, the contents of your system clipboard, shown as a chip you can dismiss before sending.
- Your AI provider API keys, stored in your operating system's secure key store (macOS Keychain, Windows DPAPI, Linux libsecret) via Electron's
safeStorageAPI. - Your personal profile fields (name, role, preferred reply language) if you choose to fill them in. These are only included in prompts when you enable the "Personalize prompts" toggle, which is off by default.
- Optional session transcripts saved as JSON and styled HTML in the workspace folder you pick, only when you enable the corresponding setting.
When you submit a prompt, this data is sent in a single HTTPS request from your machine to the AI provider you configured. The destination is the provider's own API endpoint. No copy is sent to us at any point.
3. Third-party AI providers (BYOK)
AIPointer is bring-your-own-key. You sign up directly with a provider, paste your API key into AIPointer settings, and all model traffic flows between your device and that provider. AIPointer supports:
- OpenRouter at
openrouter.ai. Privacy policy: openrouter.ai/privacy. - Anthropic at
api.anthropic.com. Privacy policy: anthropic.com/legal/privacy. - OpenAI at
api.openai.com. Privacy policy: openai.com/policies/privacy-policy. - Google (Gemini) at
generativelanguage.googleapis.com. Privacy policy: policies.google.com/privacy.
Whichever provider you pick is the data processor for the screenshots, prompts and clipboard text you send. Their retention, training, regional storage and access policies apply, not ours. Review the policy of the provider you use.
The default fallback chain (OpenRouter, then Anthropic, then OpenAI, then Google) only sends a request to the next provider when a previous one returns a retryable error. The retry uses the same key configured for that provider.
4. Voice input and read-aloud
The microphone is only accessed when you actively start a voice recording. Audio is captured locally in the browser process via the Web Audio API and held in memory.
When you finish a voice recording, the audio is sent to your chosen provider for transcription (speech-to-text). When you tap the read-aloud button on a response, the response text is sent to your chosen provider for speech synthesis (text-to-speech), and the audio comes back to your device.
Both flows use the same direct connection to your configured provider. We do not see, route or retain any audio or transcript.
5. Auto-updater
From version 1.0.0 onward, AIPointer checks for new versions by making an HTTPS request to https://aipointer.app/updates/latest.json. The check happens 30 seconds after launch and once every 24 hours while the app is running. You can disable auto-checks in Settings, in which case you must check the GitHub Releases page or this site manually.
The request body is empty. The request headers are the standard headers a Node HTTPS client sends: a generic User-Agent string, an Accept-Encoding header, and TLS information. The request contains no user identifier, no API key, no installation ID, and no information about your usage of the app.
The server (Apache running on Hetzner shared hosting in Germany) writes a standard access log entry for each request, containing:
- Source IP address.
- Timestamp.
- The requested path (
/updates/latest.json). - HTTP status code.
- User-Agent string.
Access logs are retained for 30 days and are used only for debugging and abuse prevention. They are not joined with any other data set and are not used to build user profiles. After 30 days they are rotated and deleted.
If a new version is available, the app downloads the installer over HTTPS from the URL listed in latest.json, verifies its SHA-512 hash, and offers to install. The download itself produces another access log entry of the same form.
6. Binary downloads
Binary downloads served from aipointer.app/updates/ follow the same access-log model as the auto-updater. Downloading the app from this site produces a standard Apache access log entry with the fields listed in section 5, retained for 30 days.
If you prefer to avoid even that log entry, you can clone and build from source at github.com/gonemedia/aipointer. GitHub's privacy policy applies in that case.
7. Website analytics
The aipointer.app marketing site uses Google Analytics 4 (property G-QF48XWYWC9) with Google Consent Mode v2.
When you first visit the site, no analytics cookies are set. A consent banner appears. Until you accept, only Consent Mode v2 modelled data flows: cookieless, no user-level identification, no IP-level identification beyond what GA defaults to with anonymize_ip enabled (which is the case here). Advertising features (allow_google_signals) are disabled.
If you accept, GA may set the _ga and _ga_QF48XWYWC9 cookies. With consent granted, the following events are recorded:
- Page views (path and referrer).
- Download clicks, with the platform (mac_arm64, mac_intel, windows, linux), the version, the file name and size, and the section of the page the click came from.
- Interaction events: clicks on GitHub, Skales and the Privacy Policy link; video play and loop-complete; SHA-512 copy actions.
- Consent banner accepts and declines.
- Errors fetching the version manifest, with the error type and HTTP status code if applicable.
None of these events include personal data we ask you for. We collect no name, no email, no account information on this website.
If you decline, no cookies are set and only modelled (cookieless) pageview data flows. You can revisit your choice by clearing your browser storage for aipointer.app; the banner will reappear.
Google's privacy policy: policies.google.com/privacy. Google Analytics terms: marketingplatform.google.com/about/analytics/terms.
8. Cookies
The site sets the following client-side storage:
- Always set, technically necessary: a single
localStoragekey namedaipointer_consent_v1that records your consent choice and the timestamp. This is required for the banner to remember your decision and is exempt from consent under the ePrivacy Directive Article 5(3) (strictly-necessary exemption: storage required for a service explicitly requested by the user). - Set only after you accept: the Google Analytics cookies
_ga(2-year expiry) and_ga_QF48XWYWC9(2-year expiry).
Your consent choice is re-prompted after 12 months.
If your browser sends a Global Privacy Control signal, AIPointer automatically declines analytics on your behalf and skips the cookie banner.
9. Storage and security
App-side data stays on your device, in standard OS user-data directories:
- macOS:
~/Library/Application Support/aipointer/ - Windows:
%APPDATA%\aipointer\ - Linux:
~/.config/aipointer/
API keys are stored in your operating system's secure key store (macOS Keychain, Windows DPAPI, Linux libsecret) via Electron's safeStorage API, not in plain files. We strongly recommend keeping a healthy device password and full-disk encryption (FileVault, BitLocker, LUKS).
Website access logs and server-side files live on Hetzner shared hosting infrastructure in Falkenstein, Germany. Server access is via SSH key and SFTP only. The server runs Apache with HTTPS forced for all paths.
10. Legal basis (GDPR Art. 6)
If you are in the European Economic Area, the United Kingdom or Switzerland:
- Access log entries from the auto-updater and binary downloads are processed on the basis of legitimate interest in operating, debugging and securing the service (Art. 6(1)(f) GDPR).
- Website analytics cookies and the events listed in section 7 are processed on the basis of your explicit consent (Art. 6(1)(a) GDPR), recorded via the cookie banner.
- The consent record itself is processed to fulfil the documentation duty under Art. 7(1) GDPR.
No data from the desktop app is processed by us, so no further legal basis is needed for that.
11. Your rights (GDPR)
If you are in the EEA, UK or Switzerland, you have the right to:
- Access any personal data we hold about you (Art. 15).
- Rectify inaccurate personal data (Art. 16).
- Erase your personal data (Art. 17).
- Restrict processing (Art. 18).
- Portability: receive a machine-readable copy of your data (Art. 20).
- Object to processing based on legitimate interest (Art. 21).
- Withdraw consent at any time, with effect for the future, without affecting prior lawful processing (Art. 7(3)).
- Lodge a complaint with a supervisory authority (Art. 77). In Austria, that is the Austrian Data Protection Authority (Datenschutzbehörde, dsb.gv.at).
Because the only personal data we process on the website is your IP address (briefly, in access logs) and your consent choice (in your own browser storage), most of these rights are exercised by clearing your browser storage or by writing to us at the address in section 16.
12. California (CCPA / CPRA)
If you are a California resident, you have the right to:
- Know what personal information is collected, used, shared or sold.
- Request deletion of personal information collected from you.
- Correct inaccurate personal information.
- Opt out of the sale or sharing of personal information.
- Non-discrimination for exercising any of these rights.
We do not sell or share personal information in the CCPA sense. The desktop app collects no personal information about you. The website's only "personal information" is your IP address in access logs and a consent choice in your local storage. To exercise any of the rights above, contact us at the email in section 16.
13. International transfers
Server access logs are stored in Germany. The website is served from Germany. If you accept analytics cookies, Google Analytics may transfer data to the United States; Google relies on the EU-US Data Privacy Framework and Standard Contractual Clauses for such transfers.
Traffic from the AIPointer desktop app to the AI provider you configured may be routed through that provider's infrastructure in any country, depending on which provider you chose. Review the chosen provider's policy.
14. Children
AIPointer is not directed at children under 16, and we do not knowingly collect personal information from children. If you believe a child has provided personal information through the site, contact us at the email in section 16 and we will delete it.
15. Changes to this policy
We may update this policy as the product and the regulatory environment change. The effective date at the top of this page reflects the most recent revision. Material changes are summarised in the AIPointer changelog at CHANGELOG.md. The previous version remains available on request.
16. Contact and Data Controller
The data controller in the sense of Art. 4(7) GDPR is:
Mario Simic
Vienna, Austria
Email: [email protected]
Web: mariosimic.at
For any privacy-related question or request, write to [email protected] with "AIPointer privacy" in the subject line. We respond within 30 days as required by Art. 12(3) GDPR.
AIPointer is a private, non-commercial open-source project. No data protection officer is required under Art. 37 GDPR, and none has been appointed.
Imprint
Information under § 5 of the Austrian E-Commerce Act (ECG) and § 24 of the Austrian Media Act (MedienG).
Operator
Mario Simic
Vienna, Austria
Email: [email protected]
Web: mariosimic.at
Purpose
Private, non-commercial source-available project. AIPointer is licensed under the Business Source License 1.1 (BSL-1.1). The source is published at github.com/gonemedia/aipointer.
Trade and tax registration
No VAT identification number, no trade registration. AIPointer is offered free of charge and is not a commercial activity within the meaning of the Austrian Trade Act (GewO).
Liability for content
Content on this site has been prepared with care. We accept no liability for the accuracy, completeness or topicality of content, except in case of intent or gross negligence.
Liability for links
This site contains links to external websites we do not control. We are not responsible for the content of those sites. Operators of the linked sites are solely responsible for their own content.
Copyright
The AIPointer source code is published under the Business Source License 1.1 (BSL-1.1), reverting to Apache 2.0 on 2030-05-19. See LICENSE in the repository for full terms. The marks "AIPointer" and the AIPointer icon are unregistered marks of Mario Simic.