App Store Review self-assessment

VersionDateAuthorStatus
0.12026-09-03Daniel RothmannSubmitted

Introduction

Eigin is a local-first personal AI app, described in the compliance overview.

This document is our self-assessment against Apple's App Store Review Guidelines, as last updated 8 June 2026. It walks every numbered guideline, states whether it applies to the Eigin App, and gives evidence for how it is met.

It is written for the reviewer. Each claim can be checked in the App or in App Store Connect. Source links are provided for anyone who wants to go deeper.

System context

See the compliance overview.

Scope

The target is the Eigin App for iOS, submitted by Eigin ApS as an organisation developer. Eigin's hosted AI service is in scope where a guideline reaches through the App to its backend: in-app purchase, hosted inference, and a live backend during review.

Metadata

ItemValue
CategoryProductivity
Age rating18+. Chosen conservatively: the agent can fetch content from the open web, so the App is rated like a browser
PriceFree, with consumable in-app purchases for AI credits
AccountsNone. No sign-up, no login
Privacy policyeigin.ai/privacy

Highlights

The parts of the guidelines that matter most for an app like Eigin, and where they are assessed.

TopicGuidelines
AI-generated conversation1.1, 1.2, 4.7
Conversations sent to hosted AI providers5.1.2
Connected accounts4.8, 5.1.1, 5.2
Health data1.4, 5.1.3
AI credit purchases2.1, 3.1
On-device model download2.5, 4.2
Microphone, dictation, live call2.5
Proactive notifications4.5

1. Safety

1.1 Objectionable content

Eigin ships no content of its own. Text in the App is written by the user or generated by an AI model in response to the user, in a private one-to-one conversation. Nothing is published or shown to anyone but the person who asked.

ReqVerdictEvidence
1.1.1 – 1.1.5, 1.1.7MetNo first-party content of these kinds. The AI is instructed to be respectful and direct (system prompt). Safety tuning comes from the model providers. Rated 18+
1.1.6MetNo fake features or trick functionality. The App does not place calls or send messages anonymously. Any action that communicates outside the App runs from the user's own connected account and needs the user's explicit approval (permissions)

1.2 User-generated content

ReqVerdictEvidence
1.2N/ANot a user-generated content or social app. Conversations are private to one user on one device. There is no feed, sharing, or contact between users, so filtering, reporting, and blocking of other users do not apply. Contact details are published (1.5), and a bad response can be reported from Settings → Feedback
1.2.1N/ANo creator content

1.3 Kids category

ReqVerdictEvidence
1.3N/ANot in the Kids Category. Rated 18+. No "for kids" language in metadata

1.4 Physical harm

ReqVerdictEvidence
1.4.1MetNot a medical app. No accuracy claims for health measurements. The App reads and logs Health data only when the user asks. The AI is instructed that it is not a substitute for medical advice and to encourage the user to consult a professional (health instructions)
1.4.2 – 1.4.5N/ANo drug dosage, substance, DUI, or dare content

1.5 Developer information

ReqVerdictEvidence
1.5MetSettings → Feedback opens an email to support. The support URL in App Store Connect leads to the same contact

1.6 Data security

ReqVerdictEvidence
1.6MetCredentials and tokens are stored in the iOS Keychain, device-only (KeychainService.swift). Eigin's hosted service holds no user identity and does not retain conversation content (CASA)

1.7 Reporting criminal activity

ReqVerdictEvidence
1.7N/ANot a crime-reporting app

2. Performance

2.1 App completeness

ReqVerdictEvidence
2.1(a)MetNo login, so no demo account is needed. The backend is live. Metadata is complete and URLs resolve. Review notes explain the credit model, hosted inference, and the permission system. In-app purchases work in the review sandbox, so the reviewer can buy credits and use hosted AI end to end
2.1(b)MetAI credit purchases are reachable from onboarding and from Settings → Connections → Eigin. Price and credit amount are shown before purchase. Each purchase item has a review note in App Store Connect

2.2 Beta testing

ReqVerdictEvidence
2.2MetThe submission is a finished release. Nothing is offered to beta testers for compensation

2.3 Accurate metadata

ReqVerdictEvidence
2.3MetDescription, subtitle, screenshots, and privacy answers describe the shipped App. The App Privacy answers match the GDPR assessment
2.3.1MetNo hidden or dormant features. Developer tooling is compiled out of release builds (SettingsView.swift). Marketing claims match behaviour: conversations stay on the device unless the user chooses a hosted model
2.3.2MetThe description and review notes say hosted AI through Eigin is paid with credits, and that the user can instead connect their own provider or run a model on-device
2.3.3, 2.3.4MetScreenshots show the App in use. No preview video at launch
2.3.5MetProductivity
2.3.6MetAge rating questionnaire answered honestly: the AI fetches content from the open web and generates text. Result: 18+
2.3.7MetUnique name. Subtitle and keywords describe the App. No competitor names or irrelevant terms
2.3.8MetIcon and screenshots are suitable for all ages. No "for kids" wording
2.3.9MetScreenshot content is fictional. All artwork is first-party
2.3.10MetNo other mobile platforms or alternative marketplaces referenced in the App or metadata
2.3.11, 2.3.13N/ANo pre-order, no in-app events
2.3.12MetRelease notes describe what changed in each version

2.4 Hardware compatibility

ReqVerdictEvidence
2.4.1MetTARGETED_DEVICE_FAMILY: 1 — the App Store build is iPhone-only. Runs on iPad in compatibility mode
2.4.2MetOn-device AI runs only while the user is in a conversation and only on devices with enough memory (local model). Background work is a scheduled system task, not a continuous process. No mining or unrelated background activity
2.4.3, 2.4.5N/ANo Apple TV or Mac App Store build
2.4.4MetThe App never asks the user to restart or change unrelated system settings

2.5 Software requirements

ReqVerdictEvidence
2.5.1MetPublic APIs only. HealthKit is used for health and fitness: reading and logging nutrition, sleep, and body measurements to the Health app
2.5.2MetThe App can optionally download an AI model to run on-device. Model files are data read by the App's built-in runtime, not code, and add no features beyond the on-device AI described in the listing (local model). Downloads are checksum-verified and stay in the App's container
2.5.3MetNo malicious payloads
2.5.4MetBackground modes: audio, VoIP and processing. The live voice call (live call) runs on the native call screen through CallKit, which requires the VoIP mode. Audio keeps the call speaking and listening while the App is backgrounded or the screen is locked. Processing covers the scheduled proactive check-in (initiative). Each mode is declared for the feature that uses it, in its intended purpose
2.5.5MetAll networking uses hostnames over URLSession, so IPv6-only networks work
2.5.6MetWeb content is shown with WebKit (WKWebView and SFSafariViewController)
2.5.7, 2.5.10N/ARetired numbers; Apple's text reads "intentionally omitted"
2.5.8, 2.5.9MetNo alternate home screen. No system switches or native behaviours altered
2.5.11N/ANo Siri intents or Shortcuts actions
2.5.12, 2.5.13N/ANo call blocking, no facial recognition
2.5.14MetMicrophone and speech recognition each have a purpose string and OS permission prompt. While listening, the live transcript and a "listening" indicator are on screen. The live call uses the native call screen. Speech recognition runs on-device using Apple's speech framework (voice)
2.5.15MetAttachments use the system photo picker and camera. No custom file browser
2.5.16MetNotifications carry the AI's own proactive messages, which is the App's function. The home-screen widget offers quick actions into the App. No App Clips
2.5.17, 2.5.18N/ANo Matter smart-home support, no advertising

3. Business

The App is free. Hosted AI through Eigin is paid with prepaid credits bought as in-app purchases. Users may instead connect their own AI provider or run a model on-device at no charge. This is stated in the review notes.

3.1 Payments

ReqVerdictEvidence
3.1.1 In-app purchaseMetCredits are sold only through in-app purchase. No other unlock mechanism exists. Purchased credits do not expire. A "Restore credits" action re-redeems the Apple ID's purchase history so credits survive a reinstall. No loot boxes, gifting, or trials
3.1.1(a)N/ANo external purchase links
3.1.2 SubscriptionsN/ANo subscriptions
3.1.3 Other purchase methodsMetThe user may connect an AI provider they already have a relationship with by entering their own API key. The App does not sell or promote those providers' plans and contains no calls to action to purchase outside the App
3.1.4, 3.1.5N/ANo hardware-unlocked content, no cryptocurrency

3.2 Other business model issues

ReqVerdictEvidence
3.2.1N/ANo promotion of other apps, rentals, Wallet passes, insurance, fundraising, gifting, or financial trading
3.2.2 (i) – (ix)N/ANo app catalog, ads, fundraising, trading, or loans. Availability is set per territory in App Store Connect and not restricted by carrier or location within a territory
3.2.2 (x)MetNothing is gated on rating, reviewing, or downloading other apps

4. Design

4.1 Copycats

ReqVerdictEvidence
4.1MetOriginal name, icon, and design. No other developer's brand

4.2 Minimum functionality

ReqVerdictEvidence
4.2MetNative SwiftUI app with an on-device AI runtime, memory, tools, voice, and account integrations. Not a repackaged website
4.2.1, 4.2.6, 4.2.7N/ANo ARKit, no template, no remote desktop
4.2.2MetNot marketing material or a link collection
4.2.3 (i)MetWorks on its own. Connected accounts and third-party tool servers are optional
4.2.3 (ii)MetNo download is required to start. In onboarding the user picks an AI source: Eigin's hosted AI, their own provider, or an on-device model. The on-device model is opt-in; the offer shows the download size and needs a tap to start. Voice models are offered the same way

4.3 Spam

ReqVerdictEvidence
4.3MetSingle bundle. Not a variant of an existing app: local-first design, on-device memory, and per-action permissions are a meaningfully different experience from hosted chat apps

4.4 Extensions

ReqVerdictEvidence
4.4MetOne WidgetKit home-screen widget. No marketing, advertising, or purchases in it

4.5 Apple sites and services

ReqVerdictEvidence
4.5.1, 4.5.2, 4.5.5N/ANo scraping of Apple sites, no Apple Music, no Game Center
4.5.3MetNotifications are local, scheduled on the device, and contain the AI's own message to its user. There is no push notification infrastructure
4.5.4MetNotifications are not required. The user chooses in onboarding whether the AI may be proactive and can change it in Settings, including off (initiative). No marketing content. Notifications appear with the AI as sender through the Communication Notifications capability
4.5.6MetApple emoji are rendered by the system. None are embedded in the App

4.7 Mini apps, chatbots, plug-ins

This guideline covers software a host app offers that is not part of its binary. Eigin is itself the AI assistant, not a host for third-party chatbots.

ReqVerdictEvidence
4.7, 4.7.1 – 4.7.5N/AEigin offers no catalog of third-party software. A user may connect a tool server of their own (MCP) by entering its address (MCP). Even so, the spirit of 4.7.3 is met: every action on such a server needs the user's approval, and external tools ask by default (permissions)

4.8 Login services

ReqVerdictEvidence
4.8N/AThe App has no primary account, so no login service sets one up. Third-party sign-in is used only to connect the user's own mail and calendar accounts, as a client of those services, which the guideline exempts

4.9, 4.10

ReqVerdictEvidence
4.9N/ANo Apple Pay
4.10MetCredits pay for hosted AI, a service Eigin operates. On-device features, notifications, camera, and microphone are free

5.1.1 Data collection and storage

ReqVerdictEvidence
(i) Privacy policyMetLinked in App Store Connect and from Settings in the App. The policy states what data Eigin's service processes, which third parties receive it, how long it is kept, and how to request deletion (GDPR)
(ii) PermissionMetPermissions are requested progressively: the OS prompt appears the first time a feature needs it, never up front, with a purpose string. No analytics or usage data is collected; no analytics, crash, or telemetry SDK is included. Paid functionality does not depend on any data grant. Consent is withdrawn in iOS Settings
(iii) Data minimisationMetPhotos use the system picker. Calendar and reminders need full access because the AI reads and creates entries on request. Health read types are limited to what the health features use. No Contacts access
(iv) AccessMetEvery permission is optional. If declined, only the feature that needs it is unavailable
(v) Account sign-inMetNo login exists and the App works fully without one, so account deletion does not arise. Connected accounts can be disconnected in-app, which deletes their credentials from the device. Credentials are stored only on the device and used only to call that service directly from the App (integrations)
(vi)MetThe App does not covertly discover passwords or private data
(vii)MetSFSafariViewController is shown visibly for sign-in and never used for tracking. When the AI reads a web page, it does so in a visible browser sheet the user can watch
(viii)MetThe App does not compile personal information from public databases or other outside sources. What the AI remembers comes from the user and the accounts the user connected, and stays on the device (knowledge)
(ix)MetSubmitted by Eigin ApS, a legal entity. Not in a regulated field
(x)MetOnboarding asks for a first name for the AI to use. It is optional and stored on the device, and the screen says so

Privacy manifest

The App and its WidgetKit extension each bundle a privacy manifest (PrivacyInfo.xcprivacy). It declares:

DeclarationValue
TrackingNo tracking, no tracking domains
Collected data typesNone. Hosted inference sends conversation content only to answer the request, under zero-retention terms, which Apple's definition treats as ephemeral processing, not collection
UserDefaults [CA92.1]Reads and writes the App's own settings
Disk space [85F4.1, E174.1]Free space is checked before an on-device model download and surfaced when a model cannot be installed
File timestamps [0A2A.1]A downloaded voice model's files, inside the app container, are fingerprinted to detect changes

SwiftPM dependencies that call required-reason APIs either ship their own manifest (swift-crypto, swift-nio, swift-nio-ssl, Factory) or are covered by the App's declaration above. Xcode's generated privacy report (Product → Generate Privacy Report) reflects this content.

5.1.2 Data use and sharing

ReqVerdictEvidence
(i) Sharing, third-party AIMetConversation content reaches a third-party AI provider only when the user chooses a hosted model. Onboarding presents that choice explicitly with the alternatives, and it can be changed in Settings at any time. The privacy policy names the providers. There is no tracking, so App Tracking Transparency does not apply. No feature requires enabling notifications or location
(ii)MetContent sent for inference is used only to answer that request. It is not stored, analysed, or used for training (GDPR)
(iii)MetEigin ApS holds no user data to profile. Purchased credits are tied to the purchase, not to a person
(iv), (v)MetNo Contacts access. Photos are attached one at a time by the user. Any action that sends something outside the App runs from the user's own connected account and needs the user's approval of the exact content (permissions)
(vi)MetHealth data is never used for marketing or data mining. See 5.1.3
(vii)N/ANo Apple Pay

5.1.3 Health and health research

The AI can read and write Health data when the user asks. Each health action asks for approval before it runs.

ReqVerdictEvidence
(i)MetHealth data is used only to answer the user. Never for advertising, marketing, or data mining, and Eigin ApS never sees it. If the user has chosen a hosted model, health data the AI read is part of the conversation sent for inference, under zero-retention terms (GDPR Annex B). The purpose strings state which health data is read
(ii)MetWrites to Health reflect what the user logged and are approved by them. No health data is stored in iCloud; the App has no iCloud container
(iii), (iv)N/ANo human-subject research

5.1.4 Kids

ReqVerdictEvidence
5.1.4N/ARated 18+. Not directed at children

5.1.5 Location services

ReqVerdictEvidence
5.1.5MetLocation is read only at the moment the AI needs the user's place, such as for local time, weather, or directions. When-in-use, with a purpose string, requested at first use

5.2 Intellectual property

ReqVerdictEvidence
5.2.1MetFirst-party name, icon, and design. Third-party code is attributed in LICENSES/. Downloadable AI and voice models are redistributed under their published licenses (local model, voice)
5.2.2MetConnected services are accessed through their public APIs or standard protocols, from the user's device, with the user's own credentials, under those services' terms. Web search uses a search API under contract
5.2.3MetNo media downloading
5.2.4MetNo suggestion of Apple endorsement
5.2.5MetNot confusable with an Apple product. No Apple emoji in the App. No Activity rings or Apple Weather

5.3 – 5.5

ReqVerdictEvidence
5.3 Gaming, gamblingN/ANone
5.4 VPNN/ANo VPN
5.5 MDMN/ANo MDM

5.6 Developer code of conduct

ReqVerdictEvidence
5.6MetFree app. Credit pricing is stated plainly before purchase, including what a credit buys. No manipulation
5.6.1MetNo custom review prompt
5.6.2MetEigin ApS, CVR 46428765, Denmark. Support email is live
5.6.3, 5.6.4MetNo discovery manipulation. Quality is tracked through beta feedback and support email