Who Should Own GitHub, Hosting and API Accounts on an AI Project?
Production assets should not depend on one developer, contractor or agency account. Client control reduces handover risk and makes vendor changes easier.

If you are asking who should own GitHub, hosting and API accounts on an AI project, the answer is usually straightforward:
The business paying for and operating the system should own the production accounts.
Developers, agencies, consultants, and contractors should receive the access they need to build and support the project, but they should not normally be the only people controlling the:
- Source code
- Hosting
- Domain
- Production APIs
- Billing
- Databases
- Account recovery methods
Account ownership is part of business continuity.
Problems surface when a developer leaves, an agency relationship ends, a billing method expires, an account is suspended, or another team needs to take over.
Decide ownership before production work begins, not during a difficult handoff.
Why Account Ownership Matters on an AI Project
A modern AI application depends on much more than source code.
Production infrastructure can include:
- GitHub
- Cloud hosting
- Databases
- AI APIs
- Domain and DNS
- Email services
- SMS or voice platforms
- Analytics
- Monitoring
- CRM integrations
- Payment systems
- Cloud storage
- Environment secrets
If these assets sit across personal developer accounts, the business can have a working application without full operational control.
Losing access to a domain, production database, deployment settings, API billing, or recovery email can stop the system from operating.
For most custom AI and software projects, the operating model should be simple:
The business owns the production assets, and the technical team receives controlled access.
Who Should Own the GitHub Repository?
Production repositories should normally sit inside a GitHub organisation controlled by the business instead of inside an individual developer's personal account.
GitHub organisations are designed for shared ownership and team access.
They support:
- Organisation roles
- Repository permissions
- Teams
- Outside collaborators
- Different access levels for different contributors
A developer may need Write access.
A technical lead may need Maintain or Admin access.
A contractor can be given access to a specific repository without becoming an owner of the organisation.
For continuity, the organisation should also have more than one trusted owner-level administrator so access does not depend on a single person being available.
The main point is ownership.
A developer can manage the repository without personally owning the business's production source code environment.
Who Should Own the Hosting Account?
The same principle applies to production hosting.
If the application runs on Vercel, AWS, Microsoft Azure, Google Cloud, or another provider, the business should normally control the production account and billing relationship.
That does not prevent the development team from managing deployments.
Modern hosting platforms use role-based permissions so developers can deploy, troubleshoot, configure, or administer projects without controlling every company resource.
For example, a hosting account can separate responsibilities for:
- Ownership
- Development
- Project administration
- Billing
- Viewing
- Deployment
The business should also control its domain registrar and DNS.
Hosting can often be migrated.
Source code can be transferred.
Losing administrative access to a company domain can interrupt the website, email, API endpoints, and customer-facing systems at the same time.
Who Should Own the API Accounts?
Production AI and third-party API accounts should generally be created under the client's business account, business email, and billing method.
The technical team can then be invited into the account or given project-level access.
This model applies to:
- AI model providers
- SMS platforms
- Voice platforms
- Transactional email services
- Mapping services
- Cloud databases
- Monitoring tools
- Payment integrations
- Other paid APIs used by the application
OpenAI's API platform, for example, separates organisation-level access from project-level access.
Projects can have their own:
- Members
- Service accounts
- API keys
- Usage controls
- Project resources
That allows the client to retain ownership while giving developers access to the specific application they are working on.
Do Not Use Shared Personal API Keys as the Ownership Model
An API key is a credential.
It should not become the ownership structure for the project.
A common shortcut is for a developer to create an API account personally and place one key into the production application.
That may work during development, but it creates weak controls around:
- Billing
- Security
- Access removal
- Cost tracking
- Staff changes
- Project transfer
- Business continuity
A better structure is:
- The business owns the API organisation or account.
- People receive individual account access.
- Projects receive dedicated credentials.
- Applications use service or project credentials.
- Production credentials stay outside the source code.
Separate credentials also make it easier to track usage, rotate secrets, remove access, and troubleshoot problems.
Avoid Shared Administrator Logins
Another weak pattern is creating one administrator account and sharing its username, password, and multi-factor authentication details across the founder, agency, and developers.
Shared administrator accounts make activity harder to attribute and access harder to remove.
People should normally have named accounts.
Applications should use service accounts or application credentials when the platform supports them.
Permissions should match the person's role instead of giving every contributor full administrative access.
A developer who only needs deployment access should not automatically receive billing, account recovery, DNS, and organisation ownership permissions.
The same principle applies to automated services.
Give each person or system the access required for its job rather than unrestricted access across every production system.
What Should the Client Own?
| Asset | Recommended Owner |
|---|---|
| GitHub organisation | Client |
| Production repositories | Client |
| Hosting or cloud account | Client |
| Domain registrar | Client |
| DNS | Client |
| Production database | Client |
| AI API organisation | Client |
| Production API accounts | Client |
| Email, SMS and voice accounts | Client |
| Analytics and monitoring | Client |
| Payment accounts | Client |
| Production billing | Client |
| Backup and recovery access | Client |
The agency may administer several of these systems. Administration and ownership are different.
A development partner may configure infrastructure, manage deployments, monitor systems, troubleshoot production issues, or maintain integrations.
The underlying business accounts can still remain under the client's control.
What Access Should the Developer Receive?
Developers still need enough access to work efficiently.
Depending on the project, that can include:
- GitHub Write or Maintain access
- Deployment access
- Development database credentials
- Development API credentials
- Application logs
- Environment configuration
- Testing resources
- Temporary production access for approved troubleshooting
A technical lead may need broader permissions.
The better approach is role-based access tied to responsibility.
When someone changes roles or leaves the project, access should be reviewed and removed where it is no longer required.
Separate Development, Staging and Production
Development and production should not automatically share the same credentials.
A stronger setup separates:
- Development
- Staging
- Production
Each environment can have its own:
- Database
- API project
- API keys
- Service accounts
- Deployment configuration
- Environment variables
- Test data
- Access permissions
This reduces the chance that testing affects live customers or production data.
It also gives the business better cost tracking.
Contractors can work in development or staging without automatically receiving unrestricted production access.
Production access can then be limited to the people who actually need it.
Can the Agency Ever Own the Accounts?
Yes.
There are legitimate situations where an agency owns part of the infrastructure.
For example, an agency may provide a managed service where hosting, monitoring, APIs, infrastructure, and ongoing support are included in a monthly fee.
A prototype may also begin inside an agency sandbox before the client decides to move it into a production environment.
These arrangements can work when they are intentional and documented.
The agreement should explain:
- Who owns the source code
- Who owns the data
- Who owns each production account
- Which assets can be transferred
- Which assets cannot be transferred
- What third-party charges are included
- What remains part of shared agency infrastructure
- What happens when the agreement ends
- How migration or termination will be handled
Problems usually arise when ownership is assumed rather than documented.
Plan the Handoff Before the Project Starts
Account handoff should not begin after the final invoice.
Before production deployment, create a simple account register.
Record:
- Platform
- Account owner
- Billing owner
- Administrative users
- Developer access
- Recovery method
- Renewal details
- Service credentials
- Offboarding process
Then apply a simple continuity test:
If the current developer became unavailable tomorrow, could the business still access the code, production infrastructure, data, billing, and recovery controls and give the project to another qualified team?
If the answer is no, the account structure needs attention before the system becomes more important to daily operations.
The Simple Ownership Rule for AI Projects
A practical ownership model looks like this:
- The client owns production assets.
- The agency receives controlled access.
- Developers use individual accounts.
- Applications use dedicated service credentials.
- Development, staging, and production stay separate where practical.
- At least two trusted people retain recovery-level access to core business systems.
- Access is reviewed when people join, change roles, or leave.
- Production secrets stay outside public repositories.
- Billing remains visible to the business.
- Account ownership and handoff requirements are documented.
Good account ownership makes an AI system easier to operate, maintain, transfer, and expand.
GitHub, hosting, domains, API organisations, production databases, credentials, billing, and recovery access are part of the company's operating infrastructure.
They should be treated that way from the beginning.
Web Inventix AI helps businesses plan and build AI, automation, and custom software systems with clear ownership, access controls, production architecture, and handoff requirements built into the project from the start.
Frequently Asked Questions
Should a developer own the GitHub repository?
For a production client project, the business should normally own the GitHub organisation and production repository.
The developer can receive the repository access required for the work.
This keeps the source code available to the business if the development relationship changes.
Should a client create their own Vercel or cloud hosting account?
For production systems, yes in most cases.
The client should normally control the hosting account and billing relationship, then add the agency or developers using platform roles.
A managed-service arrangement can be different, but ownership, billing, and transfer terms should be written into the agreement.
Who should pay for AI API usage?
For a custom system operated by the client, the client should usually pay the production API charges directly.
This gives the business visibility into usage and removes dependency on a developer's billing account.
In a managed service, API usage may be included in the monthly fee if the agreement clearly explains the limits, pricing, and billing model.
Should API keys be shared with developers?
Do not use one shared personal API key for the entire team.
Give people named account access where the provider supports it, and give the application its own project or service credential.
Store production secrets in the hosting platform, cloud secret manager, or another approved secret-management system rather than inside source code.
What accounts should be transferred when a software project ends?
The handoff may need to cover:
- Production repositories
- Hosting
- Domain registration
- DNS
- Databases
- AI APIs
- Third-party APIs
- Email and messaging services
- Monitoring
- Analytics
- Payment integrations
- Environment variables
- Backups
- Billing
- Recovery access
The exact list depends on the architecture.
Maintain this information throughout the project rather than trying to reconstruct it when the engagement ends.
Can an agency keep ownership of the infrastructure?
Yes, when the client is buying a managed service and the agreement clearly defines the arrangement.
It should state which infrastructure belongs to the agency, which data and assets belong to the client, what happens when the service ends, and which systems or assets can be transferred.
Problems arise when ownership is assumed rather than documented.
How many people should have owner-level access?
Keep owner-level access limited, but avoid relying on only one person for core business accounts.
For important systems such as GitHub, hosting, domain registration, and cloud infrastructure, two trusted business-controlled administrators provide stronger continuity.
Day-to-day contributors can then use lower-permission roles based on the work they need to perform.
