+
+**Entry points** act as a router that organizes your app across different view modes. Each entry point specifies the initial HTML file for the specific context. A user might experience your app inline, when it’s embedded in a post, or launch it in expanded mode for a larger, full-screen mobile experience.
diff --git a/versioned_docs/version-0.14/capabilities/server/launch_screen_and_entry_points/launch_screen_customization.md b/versioned_docs/version-0.14/capabilities/server/launch_screen_and_entry_points/launch_screen_customization.md
new file mode 100644
index 00000000..9bdddb6f
--- /dev/null
+++ b/versioned_docs/version-0.14/capabilities/server/launch_screen_and_entry_points/launch_screen_customization.md
@@ -0,0 +1,166 @@
+# Launch Screen Customization
+
+## Creating Your Launch (Preview) Screen
+
+Create an HTML file that serves as your app's launch screen in inline mode. This is what users see immediately when they encounter your post. Templates include a performant and compliant preview screen.
+
+```html title="preview.html"
+
+
+
+
+ Tap to play in fullscreen
+ +Tap to play in fullscreen
+ +An exciting game
+ +{JSON.stringify(context.postData, null, 2) ?? "undefined"}
+ npm run dev, playtest, upload, or install fail?npx devvit upload and npx devvit publish?npx devvit upload say assets uploaded, then fail with "You must be logged in to upload a new app version"?splash field or HTML launch entry points?
`).
+
+postData, and when should I use it instead of Redis?postData?runAs: 'USER' still post as the app during playtest?
+
+- **Community Drawer.** Our lefthand drawer provides an easy access point for any redditor to see a mix of recently played games and curated popular games.
+
+
+
+
+
+- **Home Feed boosting.** One selected game per week is given an extra algorithmic boost in user home feeds, reaching broad audiences.
+- **r/GamesOnReddit.** The curated [r/GamesOnReddit](https://www.reddit.com/r/GamesOnReddit/) banner highlights new and trending games for Reddit players.
+- **Developer stories.** The [r/devvit](https://www.reddit.com/r/devvit/) community and [Devvit blog](https://kiro.dev/) regularly highlight developer journeys, tips, and behind-the-scenes insights. Some developers will also be tapped for key Reddit marketing and PR materials.
+
+---
+
+## Featuring tiers
+
+| Tier | Description | Featuring Spots | Who It's For | Level of Polish | Approximate Impressions\* |
+| --------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ----------------------------------------------- | -------------------------------------------------- | ------------------------------------------- |
+| **Distributed** | Games get initial exposure on r/GamesOnReddit featuring | Cross-posted by Reddit, pinned banner on r/GamesOnReddit | Developers seeking first players | Early builds of launched apps | Thousands |
+| **Promoted** | Polished games selected to gain more visibility and engagement | Games Feed listing, more visibility in r/GamesOnReddit launch pad | Developers ready to expand their reach | Polished, working seamlessly across all platforms | Tens of thousands of impressions |
+| **Highlighted** | High-performing games that drive significant player engagement | Games Feed top positions, added to Community Drawer "recently played" or one of the popular slots | Developers with highly polished, iterated games | Highly polished, optimized for scale and retention | Hundreds of thousands of impressions |
+| **Hero** | Top-tier, standout games featured broadly across Reddit | Games Feed highlight, featured in Community Drawer, Home Feed highlight | Developers with flagship-quality games | Pro quality, high retention and engagement | Millions to tens of millions of impressions |
+
+\*This is a rough estimate and does not reflect what any particular game will reach at this tier.
+
+Games can be promoted to our highest featuring tiers if they see exceptional engagement and retention at lower featuring levels. Our team looks at CTRs, day 1 and day 3 retention, dwell time, as well as qualitative user feedback. We hope to add more of these metrics to the developer analytics panel in the coming months.
+
+---
+
+## Featuring requirements
+
+In order to promote a game, we need to ensure the experience for redditors meets certain quality criteria. To be featured at any level you must have:
+
+- **A compelling first screen.** Your game must have a custom first screen.
+- **Cross platform support.** Your game's viewport must be accessible and clean on both mobile and desktop platforms.
+- **Self-explanatory design.** Anyone should be able to click into your post and have the context needed to learn, play, or participate.
+- **Responsive design.** All screens should be visible within fullscreen, mobile, and desktop. Avoid unnecessary scrolls. Scrolling within inline webviews is prohibited.
+
+---
+
+## Featuring considerations
+
+Our goal is to feature games that feel great to play and reflect Reddit's creative spirit. With each featuring tier, the quality of featured apps becomes more stringent. Beyond the basic featuring requirements, we want to see:
+
+- **Standout user experience.** Fast, intuitive, and responsive gameplay across devices.
+- **Design and polish.** Cohesive visuals, appealing splash screens, and optimized mobile layouts.
+- **Community engagement.** Features that encourage posts, comments, and user-generated content.
+- **Innovation.** Fresh mechanics or concepts that make Reddit play unique.
+- **Performance and retention.** Stable technical performance and meaningful player return rates.
+- **Iteration.** Regular updates and responsiveness to player feedback.
+
+---
+
+## Celebrating your app
+
+Games that reach featured tiers often see thousands of daily players and dedicated community followings. When your game is featured, you'll receive promotional visibility through banners, feeds, and subreddit posts, as well as the opportunity to share your success across social channels and developer communities.
+
+See stories about successful games like [Honk](https://developers.reddit.com/docs/blog/honk) and [Syllocrostic](https://www.reddit.com/r/Devvit/comments/1n0vn97/reddit_has_acquired_syllacrostic/), which Reddit acquired after successful featuring.
+
diff --git a/versioned_docs/version-0.14/guides/launch/launch-guide.md b/versioned_docs/version-0.14/guides/launch/launch-guide.md
new file mode 100644
index 00000000..80c33aa6
--- /dev/null
+++ b/versioned_docs/version-0.14/guides/launch/launch-guide.md
@@ -0,0 +1,98 @@
+# Launch your app
+
+Once your app is ready, you can launch it to users and moderators across Reddit. This guide outlines what “launch-ready” means and the steps you need to take to submit your app for review.
+
+Polished apps may also apply for **Reddit featuring**, which includes on-platform promotion and distribution support. Make sure to read [this guide](https://developers.reddit.com/docs/guides/launch/feature-guide) before submitting your app.
+
+---
+
+:::warning
+Our team pauses all app reviews during certain holiday periods each year. Please see community announcements in r/Devvit and Discord for specific limited support dates.
+:::
+
+## When is an app ready to be launched?
+
+Apps should be polished and stable before launch. Ensure your data schema is scalable and your UIs are clean and accessible, as **quality and performance directly impact organic distribution and adoption**.
+
+Before submitting your app for review, be sure to:
+
+- Test all functionality across mobile and web.
+- Test from multiple accounts (developer, moderator, regular user), since permissions differ.
+- Have a stable prototype with clear UX flows.
+
+We also recommend getting feedback from the community:
+
+- **All apps:**
+ - [Cross-post](https://support.reddithelp.com/hc/en-us/articles/4835584113684-What-is-Crossposting) your post to [r/Devvit](https://reddit.com/r/Devvit) using the **Feedback Friday** flair.
+ - Share your app in the **#ideas-and-feedback** channel in the Reddit Devs Discord.
+- **Games:**
+ - Cross-post gameplay posts to [r/GamesOnReddit](https://reddit.com/r/GamesOnReddit) with the **Feedback** flair.
+- **Mod Apps:**
+ - Share your app in the **#mod-chat** Discord channel for moderator-specific feedback.
+
+If your app is a **game**, ensure the experience:
+
+- Works across platforms with responsive design.
+- Includes a custom launch or first screen.
+- Avoids inline scrolling (scrolling inside inline webviews is prohibited).
+- Has a dedicated, non-test subreddit (e.g., [r/Pixelary](https://www.reddit.com/r/Pixelary/)).
+- Is immediately understandable to new users.
+
+Launching your app signals to Reddit’s algorithmic feeds that it is ready for broader distribution. Engagement — clicks, dwell time, and voting — determines your organic reach.
+
+---
+
+## How to launch an app
+
+Apps are submitted for review through the CLI. To launch your app:
+
+1. Add the required app [`README.md`](../../devvit_rules.md#app-readme-requirements).
+2. Run `npx devvit publish`.
+
+ You can optionally choose the version bump type with `--bump`:
+ - `npx devvit publish --bump major`
+ - `npx devvit publish --bump minor`
+ - `npx devvit publish --bump patch` (default)
+
+ `--bump` accepts only `major`, `minor`, or `patch`, and cannot be used with `--version`.
+
+ If you prefer to set a specific version directly, use `--version`:
+ - `npx devvit publish --version 1.0.1`
+
+ `--version` must be a stable version (for example, `1.0.1`), prerelease versions are not allowed, and it cannot be used with `--bump`.
+
+Once submitted, your app enters Reddit’s review queue. Our team evaluates your code, example posts, and app documentation.
+
+You will receive email confirmation when your app is approved. If we need more information, a team member may contact you via Modmail or Reddit chat.
+
+Because you must run `npx devvit publish` for **every version** you want to launch, we recommend batching updates into weekly (or less frequent) releases.
+
+Review times vary. We aim to review most apps — especially version updates — within **1–2 business days**. New apps, apps with policy ambiguity, or apps using higher-risk features (e.g., payments, fetch) may require more time.
+If you haven’t heard from us after a week, please reach out in Discord or via [r/Devvit Modmail](https://www.reddit.com/message/compose/?to=r/Devvit).
+
+Ensuring your app complies with all [Devvit Rules](https://developers.reddit.com/docs/devvit_rules) will streamline review.
+
+**By default, published apps are unlisted**, meaning other communities cannot install them. This is ideal for games and community-specific tools.
+
+---
+
+## How to list your app for any community to install
+
+If your app is a general-purpose moderation tool, community utility, or otherwise broadly applicable, you can request to list it in the [App Directory](https://developers.reddit.com/apps). Listing makes your app installable by any moderator.
+
+All apps submitted for review must include an app [`README.md`](../../devvit_rules.md#app-readme-requirements).
+
+To list your app:
+
+1. Run `npx devvit publish --public`
+2. Once approved, it will appear in the Apps Directory for any community to install.
+
+We do not recommend listing apps built for a single subreddit, as this may confuse moderators and clutter the directory.
+
+---
+
+## Resources
+
+- Questions? Join our Discord or post in [r/Devvit](https://www.reddit.com/r/Devvit/).
+- Review the [Devvit Rules](https://developers.reddit.com/docs/devvit_rules) before publishing.
+- Learn more about [how to earn](../../earn-money/payments/payments_overview.md) from your apps.
diff --git a/versioned_docs/version-0.14/guides/logged-out-users.mdx b/versioned_docs/version-0.14/guides/logged-out-users.mdx
new file mode 100644
index 00000000..09d5888e
--- /dev/null
+++ b/versioned_docs/version-0.14/guides/logged-out-users.mdx
@@ -0,0 +1,378 @@
+# Building for Logged Out Players
+
+Reddit has a large base of logged out users who arrive through SEO, shared links, or directly on reddit.com. Your game should support logged out users so that you can reach a larger audience, and you can create a path to convert those users into Reddit accounts who can subscribe to your game and come back to play more.
+
+This guide shows you how to design a Devvit game for logged-out traffic:
+
+- Make your game playable for logged out users: don't gate the core experience behind a login wall.
+- Prompt users to log in at the right moment so they can subscribe to or follow your game.
+- Optimize sharing so shared links and previews attract new players.
+- Save the game state across the login boundary so logged out users who create an account can continue seamlessly after signing up.
+
+## Design for logged out users
+
+
+
+### Create "just play" sessions
+
+Logged-out users:
+
+- Often arrive via search or shared links
+- Lack context (no comments, subscriptions, or community cues)
+
+Recommended patterns:
+
+- Make the entry point obvious (e.g., a clear "Play" button)
+- Provide in-game instructions (don't rely on external UI)
+- Don't require login to start gameplay
+- Reserve advanced features (saved progress, leaderboards, social) for logged-in users
+
+### Detect user state
+
+Distinguish between logged-in and logged-out users in your app logic. In Devvit, use the context:
+
+- `context.userId` is present only when the user is logged in
+- `context.appSlug`, `context.postId`, etc. are available in both cases
+
+```ts
+import type { Context } from "@devvit/public-api";
+
+export async function onPlay(context: Context) {
+ const isLoggedIn = Boolean(context.userId);
+
+ if (!isLoggedIn) {
+ // Logged-out experience: ie, no comments or "run as user" actions
+ // Keep the focus on playing the level.
+ } else {
+ // Enable richer features for logged-in players.
+ }
+}
+```
+
+This pattern is especially important once you start using the login effect to gate certain actions (saving progress, sharing, etc.) behind a login flow.
+
+**Analytics and RDF**
+
+Your app's analytics dashboard distinguishes logged-in vs logged-out users.
+
+Note: logged out traffic does not count towards qualified engagement for Reddit Developer Funds.
+
+
+
+## Prompt users to log in
+
+The biggest reason to convert a logged-out player into a logged-in user is retention: a logged-in user can subscribe to your subreddit, follow your game, and receive notifications that bring them back. A logged-out player who closes the tab is gone.
+
+Use `showLoginPrompt` to trigger Reddit's login/sign-up flow at a moment you choose. After the user creates or logs into their account, they return to your game.
+
+
+
+### When to prompt
+
+Trigger `showLoginPrompt()` during user actions where logging in unlocks something the player already wants, such as:
+
+- Subscribing to your game's subreddit (highest-leverage moment for retention)
+- Following your game for updates or notifications
+- Saving progress
+- Sharing results
+- Accessing social features (leaderboards, comments)
+
+### Best practices
+
+#### Only prompt logged-out users
+
+Check if the user is already logged in. If so, don't trigger the login effect.
+
+```ts
+import type { Context } from "@devvit/public-api";
+import { showLoginPrompt } from "@devvit/client";
+
+export async function onLoginButtonClick(context: Context) {
+ if (context.userId) {
+ return;
+ }
+
+ showLoginPrompt();
+}
+```
+
+#### Trigger at natural breakpoints
+
+The login/sign-up flow reloads the page, so any in-memory game state will be lost unless you s[ave the logged-out game state](#save-the-logged-out-game-state).
+
+Recommendations:
+
+- Trigger `showLoginPrompt()` only at natural stopping points, e.g.:
+ - After a level is completed
+ - On a results or summary screen
+ - Before starting a new game
+- Avoid prompting:
+ - Mid-puzzle or in the middle of an action that can't easily be resumed
+ - Repeatedly on every play; repeated prompts are likely to be ignored
+
+#### Pair the prompt with a clear value proposition
+
+Before triggering the prompt, show in-game messaging that tells the user _why_ they should log in. "Sign in to save game data and subscribe" converts better than a bare login dialog.
+
+:::note
+
+Your CTA must let the user know their game data will be saved when they subscribe.
+
+:::
+
+**Example: gating a "save progress" feature**
+
+```ts
+import type { Context } from "@devvit/public-api";
+import { showLoginPrompt } from "@devvit/client";
+
+export async function onSaveProgress(context: Context) {
+ const isLoggedIn = Boolean(context.userId);
+
+ if (!isLoggedIn) {
+ // Optional: show in-game messaging before the prompt.
+ // e.g. render "Sign in to save your progress" in your own UI.
+
+ showLoginPrompt();
+ return;
+ }
+
+ // User is logged in; proceed with your normal save logic.
+ await saveProgressForUser(context);
+}
+```
+
+## Customize sharing to attract new players
+
+Shares are one of the main ways logged-out users arrive at your game. A well-customized share gives the recipient a clear reason to play and a clean landing experience, instead of a generic Reddit preview.
+
+There are three pieces:
+
+1. `showShareSheet` to trigger sharing from inside your app
+2. **Deeplinks** to attach up to 1024 characters of data to a shared link
+3. **Share previews** to set the image and text shown when links unfurl off-platform
+
+### Trigger sharing from your app
+
+Use `showShareSheet` to invoke Reddit's share behavior from your app.
+
+Example: display an invite banner
+
+
+
+```ts
+import { showShareSheet } from "@devvit/web/client";
+
+await showShareSheet({
+ title: "Play today's puzzle", // optional title
+ text: "I solved the puzzle in 30s. Can you beat my time?", // optional body message
+ data: JSON.stringify({
+ // optional share data (≤ 1024 chars)
+ type: "puzzle_challenge",
+ from: "userA",
+ message: "userA challenged you to solve this puzzle",
+ }),
+});
+```
+
+Parameters:
+
+- `data?: string`
+ - Arbitrary payload (invite code, JSON, etc.)
+ - Must be **≤ 1024 characters**
+ - Becomes the shared "user data" you can read when the link is opened
+- `title?: string`
+ - Optional title for the share sheet or message
+- `text?: string`
+ - Optional pre-filled message body
+- `post?: T3` (on some platforms)
+ - Optional; if omitted, the current Devvit post is used
+
+You don't need to build your own share URLs for the standard "share this post" flow. `showShareSheet` handles that for you.
+
+### Share data and deeplinks
+
+Attach extra `data` to shared links and read it back when a recipient opens them using `getShareData()`.
+
+**Writing share data**
+
+Best practices:
+
+- Keep it short (≤ 1024 characters)
+- Treat share data as untrusted input (users can tamper with links). Do **not** trust share data as an identity or authorization token
+- Validate before using the payload
+
+**Reading share data when the page loads**
+
+```ts
+import { getShareData } from "@devvit/web/client";
+
+const raw = getShareData();
+const shared = raw ? JSON.parse(raw) : undefined;
+
+if (shared?.type === "puzzle_challenge") {
+ // Render challenge UI for the recipient.
+}
+```
+
+### Customize share previews
+
+Set custom share images and text for each post instead of showing the default Reddit branding. This image is used for the thumbnail preview in compact subreddit feeds and for off-platform link unfurls.
+
+
+
+**Set share image when creating a post**
+
+```ts
+// 1. Upload your image to Reddit via the media API.
+import { media } from "@devvit/web/server";
+
+async function uploadShareImageUrl(): Promise
+
+$ npx devvit init --template
+```
+
+### devvit playtest
+
+Installs your app to your test subreddit and starts a playtest session. A new version of your app is installed whenever you save changes to your app code, and logs are continuously streamed. Press `ctrl+c` to end the playtest session. Once ended, the latest installed version will remain unless you revert to a previous version using [`devvit install`](#devvit-install). For more information, see the [playtest page](playtest.md).
+
+#### Usage
+
+```bash
+$ npx devvit playtest [subreddit] [--debounce ] [logging options]
+```
+
+#### Optional arguments
+
+- `subreddit`
+
+ Name of a test subreddit with less than 200 subscribers that you moderate. The "r/" prefix is optional.
+
+- `--debounce `
+
+ Debounce file-change handling by the specified number of milliseconds.
+
+- Logging options
+
+ `playtest` accepts the same public log-formatting and filtering flags as [`devvit logs`](#devvit-logs), including `--dateformat`, `--json`, `--log-runtime`, `--show-timestamps`, `--since`, and `--verbose`.
+
+If no subreddit is specified, the command will use the first available option from:
+
+- DEVVIT_SUBREDDIT environment variable
+- dev.subreddit field in devvit.json
+- The playtest subreddit stored for your app
+
+If none exist, a new playtest subreddit will be automatically created.
+
+### devvit settings list
+
+List settings for your app. These settings exist at the global app-scope and are available to all instances of your app.
+
+#### Usage
+
+```bash
+$ npx devvit settings list
+```
+
+### devvit settings set
+
+Create and update settings for your app. These settings will be added at the global app-scope.
+
+#### Usage
+
+```bash
+$ npx devvit settings set
+```
+
+#### Example
+
+```bash
+$ npx devvit settings set my-feature-flag
+```
+
+### devvit uninstall
+
+Uninstall an app from a specified subreddit.
+
+#### Usage
+
+```bash
+$ npx devvit uninstall [app-name]
+```
+
+#### Required argument
+
+- `subreddit`
+
+ Name of the subreddit. The "r/" prefix is optional. Requires moderator permissions in the subreddit.
+
+#### Optional argument
+
+- `app-name`
+
+ Name of the app. Defaults to the app in the working directory.
+
+#### Examples
+
+```bash
+$ npx devvit uninstall r/mySubreddit
+
+$ npx devvit uninstall mySubreddit
+
+$ npx devvit uninstall mySubreddit my-app
+```
+
+### devvit update app
+
+Update @devvit project dependencies to the currently installed CLI's version
+
+#### Usage
+
+```bash
+$ npx devvit update app
+```
+
+### devvit publish
+
+Create a new app version, upload the app and its source for review, and submit a publish request.
+
+#### Usage
+
+```bash
+$ npx devvit publish [--bump major|minor|patch | --version ] [--public] [--withdraw] [--copy-paste] [--verbose]
+```
+
+#### Optional arguments
+
+- `--bump