# GEO Agent Shopify App Review Submission Checklist

Use this as the final Partner Dashboard checklist before submitting GEO Agent for Shopify App Store review.

## App Identity

- App name: GEO Agent
- Developer name: 8BitConcepts
- Developer contact: hello@8bitconcepts.com
- Category: Marketing -> SEO
- Language support: English only
- Required sales channel: Online Store

## Public URLs

- App URL: https://geo-agent.fly.dev/
- Support URL: https://geo-agent.fly.dev/support
- Privacy Policy URL: https://geo-agent.fly.dev/privacy
- Terms URL: https://geo-agent.fly.dev/terms
- Reviewer packet: https://geo-agent.fly.dev/app-review
- Machine-readable reviewer packet: https://geo-agent.fly.dev/app-review.json
- Screenshot and screencast media plan: https://geo-agent.fly.dev/app-review-media-plan.md
- Tester instructions: https://geo-agent.fly.dev/app-review-tester-instructions.md
- App proxy verification guide: https://geo-agent.fly.dev/app-review-app-proxy-verification.md
- Shopify Billing verification guide: https://geo-agent.fly.dev/app-review-billing-verification.md
- Data-use appendix: https://geo-agent.fly.dev/app-review-data-use.md
- AI self-review answer packet: https://geo-agent.fly.dev/app-review-ai-self-review.md
- Evidence ledger: https://geo-agent.fly.dev/app-review-evidence-ledger.md
- Partner Dashboard field packet: https://geo-agent.fly.dev/app-review-partner-dashboard-fields.md
- Final submission runbook: https://geo-agent.fly.dev/app-review-final-submission-runbook.md
- Review feedback response playbook: https://geo-agent.fly.dev/app-review-response-playbook.md
- OpenAPI spec: https://geo-agent.fly.dev/openapi.yaml

## Shopify Configuration

- App type: Embedded Shopify app
- Billing: Shopify Billing subscriptions only
- App proxy prefix/subpath: apps / geo
- Requested scopes: read_products, write_products, write_app_proxy
- Do not request: read_content, read_themes, read_metaobjects

## Required Pre-Submission Proof

- Run local verification:

```bash
npx -y -p node@20.19.0 -p yarn@1.22.22 -c 'node -v && yarn -v && yarn test && yarn build'
```

- Run live app-review smoke:

```bash
npm run review:smoke
```

This covers the live review URLs, static API index, commerce/agent/catalog/quote/checkout surfaces, structured review JSON, direct-origin app-proxy auth expectation, and unsigned webhook fail-closed checks.

It also confirms `/auth/login?shop=8bitconcepts.myshopify.com` returns a Shopify Admin OAuth install redirect with the submitted app client ID.

- Verify public routes return HTTP 200:
  - https://geo-agent.fly.dev/
  - https://geo-agent.fly.dev/health
  - https://geo-agent.fly.dev/app-review
  - https://geo-agent.fly.dev/app-review.json
  - https://geo-agent.fly.dev/privacy
  - https://geo-agent.fly.dev/support
  - https://geo-agent.fly.dev/terms
  - https://geo-agent.fly.dev/openapi.yaml

## Partner Dashboard Gates

- Run Shopify's App Store AI self-review from the Partner Dashboard or Shopify AI Toolkit. Use `marketing/app-review-ai-self-review.md` for the pasted answer and guardrails.
- Install and open the production app in a development store from Shopify Admin.
- Interact with embedded routes after install so Shopify's App Bridge/session-token checks can observe live usage.
- Attach a demo screencast that follows `marketing/app-store-listing.md`.
- Use `marketing/app-review-media-plan.md` for screenshot captions and the screencast runbook.
- Paste `marketing/app-review-tester-instructions.md` into the Partner Dashboard testing instructions field.
- Use `marketing/app-review-app-proxy-verification.md` for the signed storefront app-proxy smoke after install.
- Use `marketing/app-review-billing-verification.md` for Shopify Billing approval and callback checks after install.
- Use `marketing/app-review-data-use.md` when filling protected-customer-data or data-minimization review fields.
- Use `marketing/app-review-ai-self-review.md` when filling AI feature disclosure fields.
- Use `marketing/app-review-evidence-ledger.md` to separate code-backed proof from Partner Dashboard-only gates before final submission.
- Use `marketing/app-review-partner-dashboard-fields.md` for the final paste-ready Partner Dashboard field values.
- Use `marketing/app-review-final-submission-runbook.md` for the last dashboard sequence and submit boundary.
- Use `marketing/app-review-response-playbook.md` for narrow replies if Shopify sends review feedback after submission.

## Guardrails

- Do not include pricing in screenshot captions or promotional copy; pricing belongs in Shopify's pricing details section.
- Do not claim guaranteed ranking, guaranteed recommendations, or AI sales lift.
- Do not mention direct Stripe, Payment Link, SPT, direct card checkout, machine-payment, or other off-platform app charges.
- Do not imply GEO Agent reads theme files. Theme activation is merchant-controlled through the Shopify theme editor.
