Головне
- Збірку 11 відхилили за двома пунктами: наскільки чітко ми повідомляємо про передачу даних стороннього постачальника ШІ, і кнопку HealthKit «Підключити», яка на iPad мовчки нічого не робила.
- Я додав явний екран згоди, який називає постачальника ШІ (Anthropic, чиї моделі Claude живлять Refuel AI) перед кожним першим запитом, чітко пише, що надсилається, а що ні, і вимагає активного натискання «Дозволити й продовжити».
- Баг HealthKit виявився відсутнім entitlement у конфігурації застосунку — виправлення в один рядок, плюс зрозуміле повідомлення і перехід у Налаштування, якщо доступ так і не надано.
- Обидва виправлення перевірено в симуляторі та наявним набором з 246 тестів, які й далі проходять.
- Повторна подача несе стрибок версії до 2.0.0 (збірка 12), бо збірки 10 і 11 уже були використані в App Store Connect під версією 1.0.0.
Що насправді сталося
Збірка 11 пішла на App Review і повернулася відхиленою. Два зауваження, обидва конкретні й обидва справедливі. Це чесна розповідь про те, що Apple відзначив і що я з цим зробив, бо краще прямо сказати про відмову, ніж вдавати, що шлях в App Store був прямою лінією. Він не був такою, і не мусив би виглядати нею.
Зауваження перше: як ми розповідаємо про стороннього ШІ
Refuel AI, розмовна функція в застосунку, працює на моделі Claude від Anthropic. Правила Apple (пункти 5.1.1(i) та 5.1.2(i)) вимагають явної, поінформованої згоди перед тим, як будь-які дані користувача передаються такій третій стороні, — і перевірка виявила, що наше попереднє повідомлення про це не було достатньо явним і завчасним.
Вони мали рацію. Виправлення — новий екран, RefuelAIConsentGate, який з'являється перед вашим першим запитом до Refuel AI і:
- Називає справжнього постачальника — Anthropic і моделі Claude за Refuel AI, — а не розмите «наш партнер зі штучного інтелекту».
- Прямо каже, що надсилається (повідомлення, яке ви вводите, і безпечний, узагальнений контекст на кшталт тенденції чек-інів), і так само чітко — що ніколи не надсилається (ваше ім'я, особа, будь-що з HealthKit).
- Веде прямим посиланням на повну політику приватності для тих, хто хоче побачити повну картину.
- Вимагає активного натискання «Дозволити й продовжити» — жодного «так» за замовчуванням, жодних темних патернів, жодної попередньо позначеної галочки.
Я також додав другу, «оборонну» перевірку всередині коду, який справді надсилає запит, щоб навіть якщо екран згоди якимось чином обійти, запит усе одно не міг піти без зафіксованої згоди. І оновив вебполітику приватності, англійською й українською, щоб явно назвати Anthropic і описати, що означає «еквівалентний захист» для даних, надісланих туди.

Зауваження друге: HealthKit нічого не робив на iPad
Друге зауваження (пункт 2.1(a)) було приземленішим, але не менш реальним: натискання «Підключити» для HealthKit на iPad не робило геть нічого. Ні системного вікна дозволу, ні помилки, нічого. Причина була майже смішно дрібна — у файлі entitlements застосунку бракувало самого entitlement com.apple.developer.healthkit, тому iOS мовчки відмовлялася навіть показати запит на авторизацію. Я додав entitlement, а зверху — справжній запасний варіант: якщо доступ усе одно не надано з якоїсь іншої причини, тепер з'являється зрозуміле повідомлення з прямим переходом у Налаштування замість кнопки, яка тихо нічого не робить.

Чому я пишу про це, а не просто тихо випускаю виправлення
Бо суть екрана згоди — саме в цьому пості: прямо казати вам, що відбувається, а не сподіватися, що ви не помітите чи не спитаєте. Refuel AI ніколи не бачив ваше ім'я чи дані HealthKit, і не мав би. Бракувало того, щоб це було настільки ж очевидно вам у застосунку, наскільки тепер очевидно рецензентам Apple. Це виправлення робить застосунок чеснішим, а не просто «прохідним».
Чому версія стрибнула до 2.0.0
Повторна подача несе стрибок версії з 1.0.0 до 2.0.0, а номера збірки — з 10 до 12, в основному застосунку, віджеті й застосунку для Watch. Це суто технічний облік, а не заява про нові функції: збірки 10 і 11 уже були використані в App Store Connect під версією 1.0.0, тож повторній подачі знадобилася нова версійна лінія. Я перевірив, що й дебаг-збірка для симулятора, і підписаний release-архів для пристрою несуть 2.0.0 (12), і що архів підписаний уже з реально присутнім entitlement HealthKit.
Де і коли
- 7 вересня, ~13:56 — реалізовано й перевірено в симуляторі екран згоди на ШІ (RefuelAIConsentGate) і виправлення entitlement HealthKit; 246 юніт-тестів і далі проходять (92eb15a).
- 7 вересня, ~13:57 — змержено в реліз-гілку (PR #19).
- 7 вересня, ~14:17 — версію піднято до 2.0.0, збірка 12, у застосунку, віджеті й Watch-таргетах, перед повторною подачею (e1f9a76).
Що це означає, якщо ви користуєтесь застосунком або збираєтесь
Найпершого разу, коли ви спробуєте Refuel AI, ви побачите екран згоди і маєте активно погодитись, перш ніж хоч щось кудись піде. Якщо підключаєте Apple Health на iPad, системний запит тепер справді з'являється. Те, які саме дані бачить чи не бачить Refuel AI, не змінилося — змінилося лише те, наскільки чітко й явно вам про це повідомляють заздалегідь.

Питання, які ставлять мами
Чи надсилались дані користувачів до ШІ без згоди?
Ні. Відхилення стосувалось чіткості та явності повідомлення й потоку згоди, а не того, що дані надсилались взагалі без будь-якого механізму згоди. Виправлення робить цю згоду явною, поінформованою і з названим постачальником, як вимагає Apple.
Який постачальник ШІ живить Refuel AI?
Anthropic, з використанням моделей Claude. Це тепер прямо вказано на екрані згоди в застосунку, у Privacy Center, у налаштуваннях ШІ й у вебполітиці приватності англійською та українською.
Які дані насправді отримує Refuel AI?
Повідомлення, яке ви вводите, і безпечний, узагальнений контекст, наприклад тенденцію чек-інів. Він ніколи не отримує ваше ім'я, особу чи будь-що з HealthKit — екран згоди прямо каже про це перед першим використанням.
Чому застосунок одразу перескочив на версію 2.0.0?
Виключно тому, що App Store Connect уже використав номери збірок 10 і 11 під версією 1.0.0 для першого раунду перевірки, тож повторній подачі знадобився новий номер версії, 2.0.0 зі збіркою 12. Це не заява про масштабний новий набір функцій.
Застосунок уже доступний в App Store?
Цей допис описує виправлення й повторну подачу 7 вересня. Про те, що сталося з цим раундом перевірки, — окреме оновлення.
Доступність може залежати від встановленої версії застосунку. Статуси підтверджені засновником на момент публікації.



