Which parts of my AI-built app do I actually own?
August 28, 2026
The code, almost certainly. Every platform we tested puts your source code in a git host you control. The harder question is what else was created while you were building. A database, a payment account, and a domain all had to exist for your product to run, and any of them can be in someone else’s name.
Why “you own your code” is the easy question
Putting a repository in your GitHub account is straightforward, and all three platforms we tested do it. So the question most founders ask has a reassuring answer. It is also the one that decides the least.
Your code is a set of instructions. A running product is those instructions plus a database holding your customers, an account taking their money, and a domain they arrive at. Each of those is a separate commercial relationship, and each belongs to whoever the account was opened under.
The useful version of the question is whose name is on each of the things your product needs in order to run.
Four things that get owned separately
The code. The repository and its history. Nearly always yours. Worth confirming which git hosts a platform supports, and whether it builds from your repository or syncs to it afterwards, because those are different relationships with the same files.
The accounts. The database project, the payment account, the domain registration. Each is a commercial relationship with a provider, and it sits either with you or with the platform that opened it for you. Both are workable. Only one lets you reach your customers’ payment history after you stop paying for the platform.
The data, and separately its structure. These come apart more often than people expect. An export gives you rows. It does not always give you the schema, the constraints, and the migration history that make those rows mean something.
The keys. Whether you hold usable credentials to the services running your product, or only a console that displays them. An account in your name whose connection string you cannot obtain is an account you own on paper.
What each platform holds
Forged ran Emergent, Replit, and Lovable through the same test rounds. Everything below we observed first-hand, in the product, on our own accounts, in August 2026.
| What gets created | Lovable | Replit | Emergent |
|---|---|---|---|
| Source code | LovableYours, synced to GitHub or GitLab | ReplitYours, on GitHub, GitLab, or Bitbucket | EmergentYours, GitHub only |
| Database | LovableAuto-enabled in chat, on a Supabase project owned and managed by Lovable rather than your own Supabase account | ReplitProvisioned by default rather than opt-in | EmergentNo database service |
| Database credentials | LovableNo access to service role keys or direct database URLs | ReplitThe connection string is yours, as a DATABASE_URL field with copy and reveal controls | EmergentNone created |
| Payment account | LovableStripe and Paddle switched on by default on an account that connected neither. Lovable provisions the Stripe account and you claim it at go-live | ReplitNo payments service. Stripe appears as a sign-in integration for read access to your own account | EmergentNo payments service |
Observed August 2026.
All three put your code in a git host you control, so the question everyone starts with has the same answer everywhere. They diverge on everything created alongside it. Lovable opens accounts and holds them. Replit provisions the same kind of service and gives you the credentials. Emergent creates none of them. A platform that never opens an account in its own name has none to hand back.
The database is where this gets expensive. Lovable documents a way out and is explicit that it is manual: there is no one-click migration, so you export your Cloud data, connect a Supabase project to a new Lovable project, and rebuild the schema there yourself. So the data is yours to take and the structure is yours to rewrite. That is a smaller claim than “you cannot leave”, and it is far cheaper to act on while the schema is still small.
Domains belong on the same list. Replit sells them as well as connecting one you already own, and a domain bought there is a registrar relationship like any other.
How to find out what you hold
You do not need to leave a platform to learn what leaving would involve. Four checks, about ten minutes, on the product you have now.
Open the billing page of every service your product touches. The database, the payment processor, the domain registrar, the email sender. You are looking for one thing on each: whose name is on the account. If you cannot reach a billing page for something, somebody else is paying for it on your behalf.
Ask for the database connection string. Not a console, not an admin panel, the string itself. If you can get it, you hold the database. If there is no way to get one, you do not, whatever the ownership page says.
Run the export and open the file. Do it early, while nothing depends on the answer. You are checking whether the schema came with the rows, because that is the difference between a restore and a rebuild.
Check the domain. Who the registrar is, whose account it sits in, and whether you can move it.
Where Forged stands
Forged is an AI product-building system for founders, built for existing products where the fiftieth change matters more than the first. The product arrives in a repository you already have, rather than being created inside a workspace and handed over later.
| Forged approach | |
|---|---|
| Source code | In your own repository, on the git host you connected |
| Existing integrations | Preserved, and connected directly by your application |
| Payments | Customer-owned Stripe |
| Managed Forged services | Provided where you choose them, such as Forged email services and Forged hosting |
| How a change arrives | As a pull request you review before it reaches your users |
Customer-owned integrations do not become dependent on Forged. When your application connects directly to a service you own, such as Stripe or Auth0, Forged does not insert itself into that connection. Managed Forged services are different, because you have explicitly chosen Forged to provide that capability, and that choice is made one service at a time rather than as a bundle.
Payments stay yours. Stripe is normally a direct commercial relationship between you and the processor, and Forged treats it that way rather than sitting in the middle of the account your customers pay into.
And a change arrives where your code already lives. The output of a Forged build is a pull request in your own repository, so it is reviewed in the same place, by the same people, as any other change to your product.
Your questions, answered
Do I own the code an AI platform writes for me?
In our August 2026 rounds, all three platforms put source code in a git host you control. Confirm two things rather than assuming them: which git hosts are supported, since one of the three is GitHub only, and whether the platform builds from your repository or syncs to it afterwards.
Who owns the database Lovable creates?
Lovable. A Lovable Cloud instance is a Supabase project owned and managed by Lovable rather than by your own Supabase account, and Supabase’s documentation states that you get no access to service role keys or direct database URLs. Your data is exportable, and Lovable’s documentation is explicit that there is no one-click migration, so plan for the structure to be rebuilt rather than moved.
Who owns the Stripe account Lovable created?
You do, once you claim it. Lovable provisions the account, and its documentation describes claiming it at go-live through a link in the Payments tab. Worth doing early rather than at launch, since it is the account your revenue arrives in.
Does Replit give me my database connection string?
Yes. Replit provisions a database by default and exposes the connection string as a DATABASE_URL field with copy and reveal controls, described in the product as something to copy into any service that needs to connect.
What does Emergent create in your name?
Nothing. Emergent provides no application services: no database, authentication, payments, email, or storage. We verified that at the account level, within a project, and across all three of its published tiers. It also connects to GitHub only, where the other two support more than one git host. That makes ownership simple, and it leaves those services for you to arrange yourself.
See what you would own with Forged
Connect your repository and ask for one change. The result arrives as a pull request in the repository you already control.
Last reviewed: August 28, 2026.