Skip to content
RefinoStart free

Do you actually own your Replit site?

A Replit app is ordinary code you can download or push to GitHub any time. What makes Replit different is how much of the rest of the site Replit runs for you: hosting, database, sign-in, storage, managed API keys. That integration is the convenience and the dependency. This guide is honest about both.

Published September 14, 2026 · About a 8 minute read · Last reviewed September 2026

The short answer

You own the code of a Replit app, and getting it out is easy: the project can be downloaded as a ZIP or pushed to a GitHub repository from the built-in Git pane at any time, and Replit’s documentation says you own the code Agent generates. What you don’t own by default is most of what surrounds the code. Replit Agent builds on Replit’s own services: its hosting, its databases, Replit Auth for sign-in, App Storage for files, and managed credentials for Stripe and AI models. Each of those is convenient precisely because Replit runs it, and each is a dependency until you replace it. A Replit site is portable at the code layer and integrated at every other layer, and how much that matters depends on which services the app uses.

The tradeoff, honestly

Replit isn’t a trap for being integrated. An app whose database, sign-in, storage and API keys are all provisioned in one place with no setup is genuinely easier to build and run, and for many projects that’s the right deal. The cost is that leaving means replacing each service rather than moving it, and one of them, Replit Auth, can’t be exported at all. Ownership here means knowing which services your app uses, so the deal is one you chose rather than one you discover on the way out.

What you should own

LayerYours when
DomainIt’s in a registrar account you can sign in to. A Replit-bought domain lives in Replit until transferred out through support; see the builder-domain guide.
Source codeIt’s pushed to a GitHub repository under your account, or you hold a current ZIP.
HostingYou accept Replit publishing as a rented service, or a host you control runs the app from the repository.
DatabaseYou have a dump of the production database and, ideally, it runs on a Postgres provider in your own account.
Sign-inUsers sign in through a provider you own, such as Clerk, rather than Replit Auth.
FilesUploaded objects are downloaded and in a storage account of yours.
CredentialsEvery key in Secrets was issued from an account you own; Stripe and AI models use your keys, not Replit’s.

What Replit runs by default

  • Hosting, through publishing to a replit.app address or a custom domain, on Google’s infrastructure. On the free Starter plan a published app expires after 30 days.
  • Two databases: a development database on Replit’s own infrastructure (since December 2025), reachable only from inside Replit, and a production database on Neon, reachable from anywhere with its connection string. Replit keeps one daily restore point for the production database.
  • Replit Auth, which signs users in with Replit accounts through Replit’s shared login apps. Only Agent can set it up, and there’s no documented user export.
  • App Storage, Google Cloud Storage with one bucket per project.
  • Secrets, encrypted, viewable in an “Edit as .env” form, never included in a ZIP or a push.
  • Managed credentials for Stripe (when connected through Replit’s Marketplace app) and for AI models through Replit’s integrations.

Moving toward a repo-owned setup

You can do these in any order, and stop wherever the tradeoff suits you.

  1. Push to GitHub. Link GitHub in Replit’s connected services, initialize the repository in the Git pane if needed, connect it to a repository under your account, and push. Agent’s checkpoints are Git commits, so history comes with it. Turn on auto-sync if you want pushes to happen without clicking.
  2. Export the secrets by hand. Edit as .env, copy, store in your password manager. Check both development and deployment secrets.
  3. Dump the production database with the connection string from the Database tool’s Settings tab, which works from any Postgres client; the development one has to be dumped from Replit’s Shell.
  4. Replace Replit Auth while the app is still in Replit. Replit’s documented migration lands in a Clerk tenant that Replit manages; moving to a Clerk app you own is a support request, and no documented path carries users into it. The Replit Auth guide separates a new site from a live one with users and gives the safe sequence.
  5. Download App Storage objects and note their addresses.
  6. Create your own keys at Stripe and your AI provider, and store them as secrets.
  7. Prove the deployment path by running the app from the repository on a host you control. Replit doesn’t document this; a developer or agent sets it up from .replit and package.json.

The full sequence is in moving a Replit site to GitHub and your own hosting. Steps 1 and 2 alone make the code yours and recoverable; the rest is what makes the whole site movable.

What may not move automatically

  • Replit Auth users. No export. Migrate to Clerk first, ideally to a Clerk app you own rather than the Replit-managed one.
  • Secrets, which never leave except by hand, and which the .cache folder can leak if you zip the project yourself.
  • The development database, which can’t be reached from outside Replit.
  • Managed credentials for Stripe and AI integrations, which authenticate through Replit.
  • Code that reads Replit’s environment: the REPLIT_DOMAINS, REPLIT_DEPLOYMENT, REPL_ID and REPL_OWNER variables, and the @replit/object-storage client, each of which needs replacing off-platform.
  • The project itself, which can’t be transferred directly between personal accounts; the route is sharing and forking, without secrets, database or publishing settings.

What happens if you stop using Replit

What Replit’s documentation says, and only that; the cancellation guide compares all four builders.

  • Cancelling keeps the plan until the end of the billing period, then moves the account to Starter. Replit warns that before that transition, published apps may go offline, custom domain connections are removed and storage is reduced, and tells you to download anything you want to keep first.
  • Downgrading deletes nothing; projects and data stay intact, and the plan reduces what it includes going forward.
  • Continued payment failures can lead to published apps being suspended, after a 24-hour grace period.
  • A Starter plan’s published app goes down after 30 days and can be republished.
  • Free accounts inactive for a year can be terminated and their apps deleted; paid accounts aren’t subject to inactivity termination.
  • Deleted projects are recoverable for 30 days; deleting the account purges everything, unrecoverably.
  • Databases have a seven-day soft-delete window.

What we could not verify: who the registrar is for domains bought through Replit, whether custom domains need a paid plan, and what happens to a published app’s custom domain when the account lapses.

Ownership checklist

  • The app is pushed to a GitHub repository under my account, and I’ve opened it.
  • I have a copy of every secret, from both the development and deployment stores, in my password manager.
  • I have a dump of the production database and know which provider runs it.
  • I know whether the app uses Replit Auth, and if so, whether I’ve migrated to Clerk or accepted the dependency.
  • I know whether the app uses App Storage, Stripe through Replit, or Replit’s AI integrations, and what each would need replacing with.
  • I can sign in to the registrar that holds the domain.
  • I know my plan, whether the published app expires, and that my account isn’t at risk of inactivity deletion.

The real test

The test

Could another developer, or another AI coding agent, take over this site tomorrow without rebuilding it?

For a Replit app pushed to GitHub with its secrets exported and no Replit-only services, yes. For an Agent-built app using Replit Auth, App Storage and managed keys, the honest answer is “the code, yes; the running site only after each service is replaced”. That isn’t a reason to leave; it’s the thing to know before you depend on it. The portability test scores each layer.

Sources

The rules and product behaviour described above were checked against these pages when the guide was last updated. If something here has changed, these are the places to look.

Keep going

Or go back to the overview of what owning your site means, which ties all of these together.

  • How to move a Replit website to GitHub and your own hosting

    What Replit lets you take with you today: pushing to GitHub, downloading the project, the Replit database, auth and storage services and how portable each is, deployments and custom domains, and the migration sequence.

    About a 9 minute read

  • Is your AI-built website actually portable?

    A concrete portability test for a website built with an AI tool: nine questions about the code, the accounts, the hosting, the domain, the data, the credentials and the deployment path, with a way to score where you stand and what to fix first.

    About a 7 minute read

Get started

Your first site is free.

Sign in with GitHub, connect the site you built with AI, and change its words yourself. Free covers one site, with no card and no end date. Pro covers up to five.

Questions first? Email hello@refino.dev. We read every message and reply ourselves.