Факты
Моим клиентом был небольшой разработчик B2B SaaS-плагина, распространяемого через крупный app store для продуктивности. Плагин расширял возможности рабочего процесса внутри хост-платформы и использовался несколькими сотнями платных бизнес-клиентов. App store выпустил уведомление об удалении со ссылкой на положение политики, касающееся объёмов доступа к данным, утверждая, что запрошенные плагином разрешения превышают необходимые для заявленной функции плагина. Удаление вступило в силу немедленно по уведомлению; клиенты потеряли доступ к плагину за одну ночь.
Позиция разработчика заключалась в том, что запрошенные scope необходимы для документированной функции плагина и что эти же scope утверждались при каждой предыдущей подаче. Текст политики app store был достаточно гибким, чтобы оба прочтения находили текстуальное обоснование. Клиентская база разработчика начала звонить в течение часов.
Что я сделал
Я изучил Developer Program License Agreement app store, соответствующую политику data scopes в её действующей редакции и собственную документацию плагина по scope и их обоснованию в том виде, в котором она подавалась. Я составил по функциям отображение каждого запрошенного scope на конкретную пользовательскую функциональность, которую он поддерживал, со ссылками на UI-флоу плагина и на документацию хост-платформы, описывающую, что именно разблокирует каждый scope.
Я составил письменную апелляцию команде проверки политики разработчиков app store. Апелляция проходила по карте функция-scope, включала скриншоты UI-флоу плагина, зависящих от каждого scope, и предлагала более узкий набор scope для параллельного «low-permissions»-тарифа плагина, чтобы разработчик мог продолжать обслуживать клиентов, не нуждающихся в полном функционале. Также я составил клиентскую коммуникацию, простым языком объясняющую удаление, чтобы у клиентов разработчика был письменный учёт происходящего.
Результат
После письменной апелляции и предложенного параллельного low-permissions-тарифа app store восстановил плагин в течение следующей недели с полным набором scope при условии, что разработчик опубликует в листинге карту функция-scope. Параллельный low-permissions-тариф был запущен вместе с полным. Клиентская база сохранилась. Каждое дело зависит от своих фактов; результат здесь не предсказывает результата в аналогично оформленном удалении из app store.
Урок
Удаление из app store решается внутри собственных политических и апелляционных каналов платформы, в письменной форме. Сильнейший письменный материал - это тот, в котором за рецензента сделана его работа: пофункциональная карта scope, UI-доказательства для каждого scope и предложенная graceful-degradation-схема, которую платформа может принять, не теряя лица. Разработчик, формирующий такую базу заранее, в рамках рутинной практики подачи, а не под давлением удаления, имеет существенно более сильную апелляционную позицию, если удаление всё же случится.
Похожее дело по платформе или маркетплейсу?
Отправьте уведомления платформы и историю подачи письменно. Я читаю каждое обращение лично.
См. страницу практики по платформам Написать на owner@terms.law