Trust

Security

Connecting your App Store, ad and payment accounts means trusting us with API keys. Here's exactly how they're handled.

How your keys are stored

Read-only, least-privilege access

WhyItChanged only reads reports and payments. It never creates charges, changes campaigns or edits your apps. Create keys with the smallest role each service offers:

ServiceAccess to grant
App Store ConnectA team API key with the Sales and Reports role (not Admin) for sales; Analytics Reports also accept Finance or Sales roles.
Apple Search AdsAn API user with the API Account Read Only role.
Google AdsOAuth for a user with read access to the account; the API is only queried with GAQL SELECT reports.
Google Analytics 4A service account added to the property as Viewer.
RevenueCatA V2 secret key with only the charts & metrics read permissions.
StripeA restricted key (rk_live_) with Balance, Charges and Customers set to Read.
PolarAn organization token with orders:read, refunds:read, organizations:read.
PaddleAn API key with transaction.read and adjustment.read.
Lemon SqueezyLemon Squeezy keys can't be scoped; WhyItChanged only sends GET requests with it.

Infrastructure

Your data

Report a vulnerability

Email admin@vitalsply.com. We reply within two business days and credit researchers who report responsibly.