> ## Documentation Index
> Fetch the complete documentation index at: https://api.fanvue.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Publishing Your App

> Everything you need to submit an app to the Fanvue App Store, the review flow, and what the different app states mean.

This page covers the publishing flow: what you need before you submit, what listing fields are required, how the review process works, and the states an app moves through during its lifetime.

<Info>
  ##### Submissions today are pre-approvals

  The App Store is still rolling out public listings. Today, submission goes through the same review against the same policy described on this page, but the outcome is a **pre-approval**. Approved apps will appear publicly on the App Store once listings launch. See the [App Store Introduction](/app-store/introduction) for details.
</Info>

## Before you submit

Make sure all of the following are true before you begin the submission flow:

* You have a Fanvue **creator account with KYC completed**, see [Quick Start prerequisites](/introduction/quick-start).
* Your app is **functional end-to-end** and has been tested against the live Fanvue API.
* You have decided on an [app type](/app-store/app-types) (embedded or off-platform). {/* HIDDEN — future feature (embedded app surfaces). Originally also required: "and, for embedded apps, configured your app surfaces and iframe permissions." */}
* You have **test credentials** ready so reviewers can sign in with Fanvue and exercise your app.
* Your app meets the [Listing Requirements](/app-store/listing-requirements), including a SFW store listing, secure credential handling, Terms of Service, Privacy Policy, GDPR compliance, and a data-deletion path for creators.

## Required listing fields

Every App Store listing must include:

* **Logo**, your app's icon. Must meet the format, size, and style constraints defined in the [Listing Requirements](/app-store/listing-requirements).
* **App name**, the name shown on your listing and in the creator's installed-apps list.
* **Tagline**, a short one-line summary that appears in listing previews.
* **Description**, longer-form copy explaining what your app does and who it's for.
* **Preview images**, screenshots or visuals shown on the listing page.
* **Test credentials**, a username and password reviewers can use to sign in and exercise your app against its integration. Without these, review cannot proceed.

## Optional listing fields

These are not required, but filling them in is strongly recommended:

* **"What's changed in this version"**, release notes shown both to reviewers (to explain what changed since the last approved version) and to creators who have the app installed. Recommended on every submission.

## Submission and review

When you submit, your app moves into the **Submitted** state and enters Fanvue's review queue. Review typically takes several business days and results in one of two outcomes:

* **Approved**, your app has passed the policy review. Once public App Store listings launch, approved apps will appear on the store and become installable by creators automatically.
* **Rejected**, review feedback will explain why. To address the feedback, create a new draft, make the changes, and resubmit.

<Warning>
  ##### Editing after submission reverts to Draft

  Modifying any of the listing fields, logo, name, tagline, description, preview images, test credentials, app type, or URL, on a **Submitted** or **Approved** app will revert it to the **Draft** state. You must resubmit the draft and go through review again for the changes to take effect.

  Plan edits carefully: for small copy fixes, it may be worth batching them together rather than making several submissions.
</Warning>

## App states

| State         | Who sets it             | What it means                                                                                                                                                                                                                                          |
| ------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Draft**     | Builder                 | In-progress or freshly created. Not visible on the App Store.                                                                                                                                                                                          |
| **Submitted** | Builder                 | Review is in progress. The listing is locked from edits (editing reverts to Draft).                                                                                                                                                                    |
| **Approved**  | Fanvue (review outcome) | Your app has passed review. Once public App Store listings launch, approved apps will appear on the store and become installable by creators.                                                                                                          |
| **Rejected**  | Fanvue (review outcome) | Review identified issues. The app returns to Draft so you can address feedback and resubmit.                                                                                                                                                           |
| **Withdrawn** | Builder                 | You have withdrawn a previously Approved app. The app is disabled, existing OAuth consents are revoked, and the listing is removed. You can resubmit later to relist.                                                                                  |
| **Suspended** | Fanvue                  | Fanvue has suspended the app (for policy, security, stability, or other reasons). The listing is disabled. Only Fanvue can restore a suspended app, reach out in the [Fanvue builder community on Discord](https://discord.gg/dZe3tqVTq4) for details. |

### Withdrawing an app

Withdrawing is the builder-initiated way to take an approved app down. Use this if:

* You no longer want to operate the app.
* You need to take the app offline while you work on a significant update.
* You're sunsetting the integration.

Withdrawing revokes all existing OAuth consents, users will need to reauthorise if you later resubmit and relist.

### Suspended apps

Only Fanvue can suspend or restore an app. If your app is suspended, review any communication sent to you, address the underlying issue, and reach out in the [Fanvue builder community on Discord](https://discord.gg/dZe3tqVTq4) to discuss restoration.

## Related reading

* **[App Store Introduction](/app-store/introduction)**, high-level overview of the App Store and the build-to-publish journey.
* **[App Types](/app-store/app-types)**, embedded vs off-platform and the listing × payment-rails matrix.
* **[Listing Requirements](/app-store/listing-requirements)**, the full policy baseline every listed app must meet.
* **[Managing your OAuth client secret](/authentication/implementation-guide#managing-your-oauth-client-secret)**, lifecycle and rotation guidance for the credentials generated when you create your app.
