Web/Guru

Onboarding a Dedicated Shopify Developer: Access, Security and the First 30 Days (Checklist)

Give a new Shopify developer safe store access: collaborator permissions by task, theme and app ownership, a first-30-days plan and an offboarding list.

Published
Updated
October 5, 2026
Read time
11 min read
Written by
Webguru
Onboarding a Dedicated Shopify Developer: Access, Security and the First 30 Days (Checklist)
/On this page01 / 13

You've picked your developer and the first task is waiting. The next 30 days decide whether this becomes a safe, well-run engagement or a mess of shared passwords, missing code and an ex-freelancer who still has store access a year later.

This checklist starts after you've chosen someone. If you're still comparing candidates, use our vetting checklist first. Here we cover access, security, the theme and app workflow, the first month, and offboarding.

Pick the right kind of access

Shopify gives you several ways to let someone work on your store. None of them require sharing your own login.

Access typeUse it forGood to know
Your owner loginNobody but youNever share it. There's always a better option below.
Collaborator accountFreelancers and agencies with a Shopify Partner accountDoesn't count toward your user limit. The Partner must have two-step authentication turned on, or they can't log in.
Staff accountSomeone working inside your companyCounts toward your plan's user limit: 0 on Starter and Basic, 5 on Grow, 15 on Advanced, unlimited on Shopify Plus.
App developer roleA developer building custom apps in your organization's Dev DashboardGives Dev Dashboard access but no access to production stores or financial and billing information.
Theme Access passwordTheme work through Shopify CLI when the person has no staff or collaborator accountGrants only the write_themes scope. You revoke it by deleting the password.

For most outside developers, use a collaborator account. It uses no seat, requires two-step authentication, and can never be given the Administrator role on a single store, the POS app, or ownership of your store.

How to give a developer access to your Shopify store (step by step)

For a freelancer or agency with a Shopify Partner account, the collaborator request is the safe route. It takes a few minutes:

  1. In your Shopify admin, go to Settings > Users > Security and copy your 4-digit collaborator request code. Send it to the developer privately.
  2. The developer requests access from their Dev Dashboard, using your permanent myshopify.com address (custom domains don't work) and your code. They choose the permissions they're asking for.
  3. The request appears on the Users page of your admin. Open it and check the details Shopify shows, such as when the Partner account was created and its sign-up country. If anything looks off, ask before accepting.
  4. Shopify suggests a role named <Collaborator name>x<Store name>. Edit its permissions down to what the work needs (see the table below), or assign an existing role, then accept.
  5. After access is granted, click Generate new code so the old code can't be reused.

Two things to know. First, if the developer's organization already has an app installed on your store, Shopify doesn't ask them for a request code at all. Second, collaborators can request every permission in your store, and store permissions apply to the whole store. You can't limit a collaborator to certain orders or customers. The role you approve is the only real boundary.

If the developer has no Partner account and only needs to push theme code with Shopify CLI, create a Theme Access password for them instead. If they work inside your company, add them as a staff account with a role limited to their work.

Day 0: set up access before the first task

Which permissions to grant for which job

Type of workGrantLeave off unless there's a clear reason
Theme work (sections, templates, speed)Online Store > Themes, Edit code if they edit code in the admin, plus view access to the products or content the templates showCustomers, Orders, Finance, payment settings
App or integration workApps and channels > Manage and install apps and channels, plus view access to the data the integration touches (products, orders, inventory)Customers > Request data, Export, Finance
Checkout and Thank you page workCheckout and customer accounts > View and edit, plus Apps and channels to install the app that holds the extensionsPayment settings, billing
Never for a developerManage payments settings, Manage other payment settings, Edit billing payment methods and pay invoices, View tax documents, Customers > Request data

Shopify labels every permission in that last row as sensitive, for good reason: they reach banking, payment and personal customer data. A developer building a theme section has no use for them. If someone asks for a permission you don't understand, ask them why. That's Shopify's own advice too.

Day 0 checklist

ItemDone when
Collaborator request accepted with a trimmed roleThe role only contains the permissions from the table above
Request code regeneratedThe old code no longer works
Two-step authenticationShopify requires it for every collaborator. For staff accounts, set Secure sign-in method is required on each user under Settings > Users
Git repository in your GitHub organizationThe developer is an organization member with write access, not an outside collaborator
Backup of the live themeYou duplicated the published theme and noted the date
Access registerA shared document lists every account, role, password and token the developer has, with the date granted
Secrets channel agreedCredentials go through a password manager, never through chat or email
Analytics and ad accountsThe developer is invited with their own login and a limited role (see below)

Set up the theme workflow before any code changes

The rule: nobody edits the live theme directly. Shopify gives you two tools for this.

The GitHub integration. Shopify can connect a GitHub branch to a theme and keep the two in sync both ways: a push to the branch updates the theme, and edits saved in the theme editor or code editor are committed back to the branch, usually within about 10 seconds. We connect the main branch to the published theme, so the live store always matches main, and do feature work on other branches connected to unpublished themes.

Three details catch people out:

  • Outside collaborators can't connect branches. Only members of the GitHub organization with write access can. Add your developer as a member, or connect branches yourself.
  • A disconnected branch can't be reconnected to the same theme. Reconnecting it creates a new theme.
  • Merchant edits become commits. When your team changes settings in the theme editor, those changes land in the branch. Your developer should pull before starting work.

Shopify CLI development themes. For day-to-day work, the developer runs shopify theme dev. This creates a hidden development theme with a local preview that reloads as they save. Development themes don't count toward your theme limit and are deleted after seven days of inactivity, or when the developer logs out of the CLI. To give you a preview link that lasts, they push to an unpublished theme:

bash
# Local preview against your store (needs the Themes permission)
shopify theme dev --store your-store.myshopify.com
# Share a preview that survives logout: create an unpublished theme
shopify theme push --unpublished --store your-store.myshopify.com
# Pull merchant edits from a theme before starting new work
shopify theme pull --theme "Live theme name" --store your-store.myshopify.com

A collaborator needs the Themes permission to run these commands. If you'd rather not create an account at all, a Theme Access password works with the --password flag. Shopify emails the developer a link to it that expires after seven days or after one viewing.

Decide who owns apps before one is built

New custom apps are built in the Dev Dashboard, not the Shopify admin (custom vs public apps explained). Collaborators can't access the Dev Dashboard, because they have no organization-level permissions. That leaves two setups:

SetupHow it worksTrade-off
App in your organization (our default recommendation)Your organization owner or an organization administrator gives the developer the App developer role. They build the app in your Dev Dashboard.You own the app and its credentials from day one. The role can't reach production stores, so they still need a collaborator account for store work.
App in the developer's organizationThey build it in their Dev Dashboard with custom distribution, and you install it from a link.Quicker to start, but the app, its client secret and its settings live in someone else's account.

If you go with the second setup, put the exit plan in writing now: the source code lives in your repository, and the developer will help recreate and reinstall the app under your organization if you part ways. We found no documented self-serve way to move an existing app from one organization to another, so don't count on one.

API credentials hygiene

  • Never paste admin tokens or client secrets into chat, email or tickets. Share them through a password manager and keep them out of the repository.
  • Keep scopes narrow. Ask what each requested access scope is for. An integration that only reads inventory doesn't need write access to orders.
  • Rotate when it matters. Shopify recommends rotating a Dev Dashboard app's client secret if it's been exposed, if someone with access has left, and as regular hygiene. You rotate it under Dev Dashboard > Apps > your app > Settings > Credentials.
  • Rotate in order. Shopify signs webhooks with the app's oldest unrevoked secret, so the app must accept both secrets during the switch. Replace the access tokens, then revoke the old secret. Any token still tied to it stops working.
  • Legacy admin-created custom apps have no secret to rotate. To change their credentials, you uninstall and reinstall the app, which issues a new token.

If you use the Admin API heavily, also read our guide to expiring offline access tokens.

Third-party tools: roles, not shared passwords

Your developer will often need Google Analytics 4, Google Ads or Meta to check tracking. Invite their own login with the lowest role that covers the task.

In GA4, the predefined roles are Administrator, Editor, Marketer, Analyst and Viewer. A developer checking that events arrive usually needs Viewer or Analyst. One who configures events and key events needs Marketer or Editor. Only you should hold Administrator, because it can manage users. You can also apply the No Cost Metrics and No Revenue Metrics data restrictions if the developer doesn't need to see those figures.

Do the same in Google Ads and your Meta business portfolio: give access to the specific assets needed, such as the pixel or ad account, never a shared login. If your tracking runs through Customer Events pixels (why that changed), record who installed each one.

Week 1: a small first task and a definition of done

Start with something real, small and easy to roll back. For example:

  • fix one layout bug on a single template, on an unpublished theme
  • add one section with settings your team can edit in the theme editor
  • write a read-only script that lists products missing a metafield

The point is to test the whole loop (access, branch, preview, review, release) before anything risky depends on it.

Definition of done

Agree on this in writing before the first task:

CheckWhat you should see
PreviewA preview link on an unpublished or development theme, tested on mobile and desktop
Code reviewA pull request into your repository, reviewed by you or a second developer before merging
No secrets in codeNo tokens, passwords or client secrets anywhere in the diff or commit history
Editable where it should beText, images and colors your team changes often are theme editor settings, not hard-coded
Checkout changes testedA test order placed for anything touching cart, checkout or the Thank you page
RollbackYou know which theme or commit to go back to if something breaks
NotesA short entry in the project documentation: what changed and why

Week 1 checklist

ItemDone when
First task shippedMerged, released and checked on the live store
Review loop testedAt least one pull request was commented on, fixed and approved
Communication setOne task board, one channel, agreed overlap hours
Access confirmedThe work got done with the permissions granted, and nothing extra was requested without a reason

Weeks 2–4: cadence and documentation

By week two, the work should run without you chasing it.

AreaWhat good looks like
CadenceA short written update (daily or weekly): shipped, next, blocked. A preview or demo each week.
BacklogTasks have acceptance criteria and are prioritized by you
DocumentationA README in the repository covering how to run the theme or app locally, where each custom feature lives, and the names (never the values) of environment variables
Integration notesFor every app or integration: its scopes, webhooks, API version and who owns its credentials
Platform changesShopify deadlines that affect your store, such as API version upgrades, are flagged early

Day 30 review

  • Filter Settings > Users by collaborators and confirm each account still needs access.
  • Remove permissions the work hasn't used, and update the access register.
  • Agree on the next month, or end the engagement cleanly.

Offboarding: close every door

Don't rely on Shopify's automatic expiry. Collaborator access only lapses after 90 days without a login, and it can be reactivated. When the work ends, work through this list on the same day:

StepWhere
Remove the collaborator accountSettings > Users > select the collaborator > Remove collaborator account. This is permanent.
Remove staff accounts or the App developer roleSettings > Users, or your organization's user settings
Delete Theme Access passwordsThe Theme Access app
Rotate client secrets of any app they could seeDev Dashboard > your app > Settings > Credentials, then revoke the old secret once tokens are replaced
Reset legacy custom app tokensUninstall and reinstall the app
Remove them from GitHubRemove them from your organization. Transfer any repository they created under their own account to yours.
Remove analytics and ad accessGA4, Google Ads, Meta and any other tool from your access register
Regenerate the collaborator request codeSettings > Users > Security > Generate new code
Review installed appsUninstall apps from their organization, or rebuild them in yours first
Collect the handoverDocumentation and open tasks, checked against the access register

Red flags during onboarding

  • Requests for payment, billing or customer-data permissions without a clear reason.
  • Tokens or passwords sent over chat.
  • Pushing straight to the live theme, or refusing to work in your repository.
  • A collaborator request you weren't expecting, or from a name you don't recognize. Shopify's advice is not to accept it.

Want help with a dedicated Shopify developer?

Our dedicated Shopify developers work this way from day one: trimmed collaborator roles, code in your repository, apps in your organization, and a clean offboarding. See how to hire a dedicated Shopify developer from our team.

Sources

/Tags#Shopify#Hiring#Security

Written by

Webguru

Shopify Development Team

Webguru.pk is a Shopify development team in Lahore, Pakistan, building stores, custom apps and integrations for brands worldwide.

/Share

Need a hand with this?

We design, build and fix this kind of work for Shopify, SaaS and AI products.

/faqs

Onboarding a Shopify Developer: Frequently Asked Questions

Use a collaborator account for freelancers and agencies with a Shopify Partner account. Collaborator accounts don't count toward your plan's user limit, and Shopify requires the Partner to use two-step authentication. Staff accounts suit people inside your company and count toward the limit: 0 on Starter and Basic, 5 on Grow, 15 on Advanced and unlimited on Shopify Plus.

You copy the 4-digit code from Settings > Users > Security in your Shopify admin and send it to the developer, who enters it when requesting access. You can generate a new code at any time so old codes stop working. A code isn't needed if the developer's organization already has an app installed on your store.

Usually Online Store > Themes, Edit code if they edit code in the admin, and view access to the products or content the templates display. Leave off customer data, orders, finance and payment settings unless the task clearly needs them.

No. Collaborators can't access the Dev Dashboard because they have no organization-level permissions. To have an app built in your own organization, your organization owner or an organization administrator can give the developer the App developer role.

Go to Settings > Users, select the collaborator and click Remove collaborator account, which is permanent. Then delete any Theme Access passwords, rotate client secrets for apps they could see, remove them from GitHub and your analytics and ad accounts, and generate a new collaborator request code.

Yes, if the collaborator hasn't logged into your store within 90 days, their access expires automatically. It can be reactivated from the Users page, so remove the account yourself when the work ends instead of waiting.

Want a Shopify developer who onboards this safely?

Our dedicated developers work in your repository with trimmed collaborator access, and hand everything back cleanly when the work ends.

or write to+44 7882 755642