1123Interactive - Technical Consultancy for Founders
MVP Development

How to Make Sure You Own Your Code, Domain and Hosting

John Coleman • • 8 min read

You’re about to pay someone to build your product, and you’ve been told to make sure you own your code, your domain and your hosting. Good advice. Nobody told you what any of those are or which buttons to press. This is the walkthrough: what each account is, how to open it in your own name, and how to let a developer in without handing over the keys.

It takes about an hour, and you don’t need a developer to do it. I’ve explained why this matters so much elsewhere. This post is the how.

The rule that covers everything

You open the account. You invite the developer.

It never goes the other way around. If a developer opens an account and adds you to it, they own it and you’re the guest, however it was described to you. Whoever created the account, and whose email and credit card are on it, is the owner as far as that company is concerned.

Use one email address for all of this, and make it one you’ll have for years. A business address you control is best. Never use an address the developer set up for you.

Your code: GitHub

Code has to live somewhere, and for most projects that place is GitHub. Think of it as a shared folder built for software. It stores every file in your product, and it keeps a dated record of every change anyone has ever made, so nothing is lost and anything can be undone.

The folder for one project is called a repository, usually shortened to “repo.”

How to set up GitHub so you own your code

  1. 1

    Create your account

    Go to github.com and sign up with your business email. A free account is enough for this.

  2. 2

    Create a repository

    Click the plus sign at the top right and choose "New repository." Give it your product's name. Set it to Private, so only people you invite can see it. Click "Create repository." It will be empty, and that's fine.

  3. 3

    Invite your developer

    Inside the repository, open Settings, then Collaborators, and add the developer by their GitHub username or email. They can now put code there. You can remove them from the same screen at any time.

  4. 4

    Turn on two-step login

    In your account settings, under Password and authentication, turn on two-factor authentication using your own phone. This account now holds your product, so protect it like your bank login.

That’s all of it. You never have to write or read code to own the place it’s kept.

💡 If the code is already in your developer's account

Ask them to transfer it. In GitHub, the owner opens the repository’s Settings, scrolls to the bottom section called the Danger Zone, and chooses “Transfer ownership,” then types in your username. You get an email asking you to accept. It takes a few minutes and nothing about the code changes. A developer who hesitates over a transfer that small is telling you something.

Your domain

The domain is your address on the internet, the yourcompany.com part. You don’t buy a domain outright. You rent it by the year from a company called a registrar, and whoever holds that account controls where the address points. That includes your website and, usually, your email.

Buy it yourself, at any well-known registrar, with your own email and card. Turn on automatic renewal. A lapsed domain can be bought by a stranger the day it expires.

Your developer will need one thing from this account, which is to change a few settings called DNS records. Those are the instructions that say “send visitors to this server.” You have two ways to handle that. They can send you the exact values and you paste them in, which takes five minutes. Or, if the registrar allows it, you can add them as a user with limited access. Either way the account stays yours.

Your hosting

Hosting is the computer your product runs on, rented by the month. When someone opens your app, this is the machine that answers.

Your developer will have a preference for which hosting company to use, and that’s a reasonable thing for them to choose. Ask which one, then create the account yourself and add them as a team member. Most hosting companies have a way to do this.

The monthly bill comes to you. That’s a feature. You see exactly what the product costs to run, and nobody can mark it up or switch it off.

The other accounts

Depending on what you’re building, there are a few more. The same rule applies to each.

  • Payments. If your product takes money, the payment account (Stripe is the common one) has to be in your name or your company’s. It’s tied to your bank account and your legal identity. A developer should never hold it.
  • App stores. For a phone app, you need your own Apple and Google developer accounts. Apple’s is a yearly fee and Google’s is a one-time fee. Whoever owns these accounts owns the listing, the reviews and the relationship with your users.
  • The database. Often it comes with the hosting account. If it’s separate, it’s yours, because it holds your customers’ data.
  • Email sending, analytics, maps and the rest. Anything the product signs up for gets your email and your card.

Keep the list somewhere safe, with each login in a password manager. Invite people to accounts. Don’t share passwords, because a shared password can’t be taken back.

You open the account. You invite the developer. It never goes the other way around.

What a good developer does with all this

They’re relieved. Working in a client’s accounts means a clean exit for them too: when the job ends, you remove their access and nobody has to chase anybody for a login. I work this way with every client, and I’d be wary of a developer who argues against it.

The usual objection is that it’s faster to set everything up in their own accounts and transfer it later. Later is when the relationship is under the most strain. An hour of setup today costs nothing and everyone is still friendly.

Owning the accounts doesn’t make you able to judge the work that goes into them. That’s a separate problem, and I Think My Developer Is Lying to Me covers the checks for it. If you’d like someone on your side for both, that’s the work I do as a fractional CTO.

Key Takeaway

Open every account yourself, with your own email and card, then invite the developer in: GitHub for the code, a registrar for the domain, the hosting company, and anything that touches payments or customers. It takes about an hour. If a developer already holds something, a transfer takes minutes, and how they respond to being asked tells you a lot.

Frequently Asked Questions

What is GitHub?
GitHub is where software code is stored. Think of it as a shared folder built for code, which also keeps a dated record of every change anyone makes. The folder for one project is called a repository. You can own a GitHub account and a repository without ever reading or writing code.
How do I create a repository?
Sign up at github.com with your business email. Click the plus sign at the top right, choose New repository, name it after your product, set it to Private, and click Create repository. Then open Settings, then Collaborators, and invite your developer. You are the owner and they are a guest you can remove.
How do I make sure I own the code when I hire a developer?
Create the GitHub account and the repository yourself before work starts, then invite the developer to it. If the code is already in their account, ask them to transfer the repository to yours, which takes a few minutes. Your AI Prototype Stalled. How to Hire Someone to Finish It explains why this matters.
How do I make sure I own my domain?
Buy it yourself at a registrar, using your own email address and credit card, and turn on automatic renewal. When a developer needs to change where the domain points, they can send you the settings to paste in, or you can give them limited access. The account itself should never be in anyone else's name.

Not Sure Who Owns What?

Tell me which accounts you have and which your developer holds. I'll tell you what I'd move first and how to ask for it, whether or not you hire me.

JC

John Coleman

Founder, 1123Interactive

I work inside my clients' accounts as a guest, and I ask every new client to set them up this way before I write anything. 25 years building software, seven ventures of my own.

Learn more
Get in Touch

Have a project in mind?

Let's talk about what you're building.

[email protected]