---
title: App quality
description: >-
  Learn the performance, security, accessibility, and privacy standards that
  your app needs to meet, and where each one is checked.
source_url:
  html: 'https://shopify.dev/docs/apps/build/app-quality'
  md: 'https://shopify.dev/docs/apps/build/app-quality.md'
---

# App quality

The quality standards on this page are easiest to meet if you plan for them early. Performance, security, and privacy all depend on architectural choices, and retrofitting them into a finished app often means restructuring it.

Not all standards are mandatory, but to list your app for public distribution, it must meet the [Shopify App Store requirements](https://shopify.dev/docs/apps/launch/shopify-app-store/app-store-requirements). The [Built for Shopify](https://shopify.dev/docs/apps/launch/built-for-shopify) requirements are a more demanding set of criteria that your app must meet to carry the badge.

Meeting the remaining requirements makes merchants more likely to keep your app after they install it.

***

## What app quality covers

[Performance\
\
](https://shopify.dev/docs/apps/build/performance)

[Load times and responsiveness across admin, checkout, storefront, and POS.](https://shopify.dev/docs/apps/build/performance)

[Security\
\
](https://shopify.dev/docs/apps/build/security)

[Protect tokens and sessions, and verify requests really came from Shopify.](https://shopify.dev/docs/apps/build/security)

[Accessibility\
\
](https://shopify.dev/docs/apps/build/accessibility)

[Make your app usable by everyone who has to run the store.](https://shopify.dev/docs/apps/build/accessibility)

[Localization\
\
](https://shopify.dev/docs/apps/build/localize-your-app)

[Translate your app and handle currency, dates, and locale correctly.](https://shopify.dev/docs/apps/build/localize-your-app)

[Integrating with Shopify\
\
](https://shopify.dev/docs/apps/build/integrating-with-shopify)

[Look and behave like part of the admin instead of an embedded website.](https://shopify.dev/docs/apps/build/integrating-with-shopify)

[Mobile support\
\
](https://shopify.dev/docs/apps/build/mobile-support)

[Work properly in the Shopify mobile app, where many merchants manage their stores.](https://shopify.dev/docs/apps/build/mobile-support)

***

## Performance budgets differ by surface

Each surface has its own performance budget because slowness has different consequences in each one. A slow admin page frustrates the merchant, a slow [checkout](https://shopify.dev/docs/apps/build/performance/checkout) extension costs the merchant sales, and a slow [storefront](https://shopify.dev/docs/apps/build/performance/storefront) script affects every page view even when no one is using your app.

Shopify measures app performance and shows it to merchants, so poor performance can affect your install and uninstall numbers.

***

## Data and privacy

Privacy obligations apply as soon as your app is installed on any store, including a development store. They apply before you ever submit your app to the Shopify App Store. Learn what counts as [protected customer data](https://shopify.dev/docs/apps/launch/protected-customer-data) and what you need to do to access it, set up the mandatory [privacy webhooks and data handling rules](https://shopify.dev/docs/apps/launch/privacy-requirements), and check what [GDPR and CCPA](https://shopify.dev/docs/apps/build/compliance/privacy-law-compliance) mean for an app on Shopify.

Request only the [access scopes](https://shopify.dev/docs/api/usage/access-scopes) that your app needs, and don't store protected customer data that you aren't using. Both are common reasons that apps fail review, and both are easier to get right from the start.

***

## Next steps

* Check your app against the [App Store requirements](https://shopify.dev/docs/apps/launch/shopify-app-store/app-store-requirements) before you submit.
* Read the [Built for Shopify requirements](https://shopify.dev/docs/apps/launch/built-for-shopify/requirements) if you're going for the badge.
* Follow the [App Design Guidelines](https://shopify.dev/docs/apps/design) for the interface itself.

***
