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

# Your listing

> The fields owners read in the Tap Store, and where each one comes from.

A public extension needs a listing. Some of it is in your manifest and ships in the bundle;
the rest is editable in the developer portal without publishing.

```bash theme={null}
tappify extension set listing.longDescription "What this extension does, in markdown."
```

## The fields

| Field                     | Where it lives                   | Rules                                                                 |
| ------------------------- | -------------------------------- | --------------------------------------------------------------------- |
| `name`                    | Manifest                         | 2–40 characters. Shown on the store card and every surface you render |
| `description`             | Manifest                         | 10–200 characters. The one line on the store card                     |
| `icon`                    | Manifest, file in the bundle     | png or svg, square, at most 512 KB                                    |
| `category`                | Manifest                         | One of the eighteen Tap Store sections owners filter by               |
| `listing.longDescription` | Manifest, editable in the portal | Markdown, at most 5,000 characters. The body of your listing page     |
| `listing.screenshots`     | Manifest, files in the bundle    | 1–6 png files at 1600 by 1000                                         |
| `listing.website`         | Manifest, editable in the portal | Where owners go to learn more. `https` only                           |
| `listing.supportUrl`      | Manifest, editable in the portal | Where owners go when something breaks. `https` only                   |
| `listing.privacyUrl`      | Manifest, editable in the portal | Linked from the consent screen, before anyone installs. `https` only  |

A public manifest is invalid without all five `listing` fields, so the publish that would
put you in the store is the publish that fails first if one is missing.

## Editing without publishing

The Listing page in the developer portal writes the long description, the three URLs and
visibility onto the release the store is already serving — the draft, if nothing is live yet.
It does not create a release, does not change your bundle or your version, and does not go to
review. The save lands on the review timeline as a note, so the change is on the record.

Screenshots and the icon come from your bundle. Change them in your project and publish.

## The store card

Owners see five things in the Tap Store's grid: your icon, your name, your one-line
description, your vendor name and your category. The Listing page draws that card above the
form, next to the screenshots your bundle carries, so you are editing the long description
and the URLs with the card an owner sees in front of you. The five fields on the
card are manifest fields, so changing one of those is a publish.

## The consent screen

Installing shows every scope you asked for with its label, its description and the
justification you wrote, a line stating what data the extension receives and what it never
receives, and a link to your privacy policy. Write the justification for the person deciding,
not for the reviewer — it is the sentence that decides whether they install.

The listing carries uptime, response time and approval rate once Tappify computes them. See
[Reporting and quality](/extensions/publish/reporting-and-quality).
