Privacy
API declaration
ITMS-91053
software development
app compliance

ITMS-91053 Missing API declaration - Privacy

System Design practice on Codemia

Work through 120+ system design problems with detailed solutions, from rate limiters to multi-region storage.

Practice system design

Introduction

In today’s app development landscape, privacy and security remain pivotal considerations. An oversight in these areas can lead to severe implications for user trust and regulatory compliance. One of the common issues developers face concerning privacy in iOS app development is the ITMS-91053 warning: "Missing API Declaration - Privacy." This issue occurs when an app uses private APIs or accesses device data without properly declaring the usage in its `Info.plist` file. This article explores the ITMS-91053 warning, its implications, and how developers can effectively address it.

Understanding ITMS-91053

The ITMS-91053 warning is issued by Apple during the app submission review process on the App Store Connect. This notification alerts developers that their application accesses private APIs or system features without adequate disclosure to users.

Why Does ITMS-91053 Occur?

The warning predominantly occurs due to the following reasons:

  1. Private API Usage: If an app calls upon Apple’s private APIs, which are generally undocumented and intended for internal use, the app will likely face rejection due to privacy violations or stability risks.
  2. Missing Privacy Usage Descriptions: Apps need to declare the use of sensitive data or resources in their `Info.plist` file. If your app accesses sensitive information without providing the appropriate usage description, the ITMS-91053 warning may be triggered.

Commonly Affected Privacy Sensitive Features

  • Location Services
  • Camera
  • Microphone
  • Contacts
  • Photo Library

Technical Explanation

Private API Usage

Private APIs are those that are not part of the public SDK. Using these can lead to unpredictable behavior and is a major violation of Apple's App Store Review Guidelines. To check if your app incorporates private APIs, scrutinize your codebase and any third-party frameworks for calls to undocumented methods or classes.

Privacy Usage Descriptions

Apple mandates that apps which access certain system resources provide a privacy usage description. This is managed by including the appropriate keys in your app’s `Info.plist` file. The structure typically appears as follows:


Related reading
Course
Beginner
27 lessons
10 hours
System Design Fundamentals

Build a strong foundation in designing scalable, reliable distributed systems.

View the course
Track what you have practised

A free account saves your progress, solutions and study plan across every problem on Codemia.

System Design practice on Codemia

Work through 120+ system design problems with detailed solutions, from rate limiters to multi-region storage.

Practice system design

All Rights Reserved.