Skip to main contentChat with us

ISO 27001:2022 Annex A  ·  Technological Control

A.8.30
Outsourced development

To ensure the information security measures the organization requires are actually designed and built into systems developed on its behalf by external parties.

Last reviewed: June 12, 2026  ·  Authored by TÜV SÜD & BSI Certified Lead Auditors

Control Definition

When system or software development is outsourced, the organization must direct the external party's work by setting security requirements up front, monitor the work while it is in progress, and review what is delivered to verify that it meets those requirements.

Control Objective

To ensure the information security measures the organization requires are actually designed and built into systems developed on its behalf by external parties.

What This Really Means

You can outsource the coding; you cannot outsource the risk. When an agency, freelancer, or offshore team writes software that runs under your name, every vulnerability they ship is your breach, your disclosure, and your customer conversation. A.8.30 exists because "the vendor wrote it" has never once worked as a defense.

The control hangs on three verbs. Direct means security expectations are stated before work begins — secure coding standards, the application security requirements from A.8.26, who owns the code, how it will be delivered, and what testing the vendor must perform — written into the statement of work and contract, not mentioned on a kickoff call. Monitor means visibility while development is in flight: sprint demos, access to the repository, security acceptance criteria in the definition of done, and sight of the vendor's own test and scan results. Review means you verify deliverables before they are integrated — code review rights, your own scans, formal acceptance testing — rather than discovering problems in production.

Around those verbs sit the commercial mechanics that make oversight enforceable: intellectual property assignment and licensing terms, source code escrow where you depend on code the vendor holds, secure delivery channels (vendor developers working in your repository beats zip files over email), due diligence on the vendor's own development lifecycle before you sign, and rules about subcontracting. None of this requires distrust — it requires the same engineering discipline you apply to your own team, expressed contractually.

For auditors, the heart of A.8.30 is evidence of active oversight, not the existence of a contract. A certification auditor will pick one delivered release and ask to walk the trail: where the requirements were given, what monitoring happened during the build, and what review the deliverable passed before acceptance. A beautifully drafted MSA with zero review records fails; a thin contract backed by pipeline scans, review notes, and recorded acceptance decisions passes.

Why It Matters

Outsourced code runs with exactly the same privileges as code your employees wrote — your customers cannot tell the difference, and neither can attackers. For startups and mid-size companies, a large share of the product is often built by external teams, which means the security of the business rests on developers who have never read your policies, may reuse code across clients, and will be gone when the engagement ends.

The failure modes are commercial as much as technical. Companies discover during acquisition due diligence that they do not legally own their core product, or find themselves unable to patch a critical vulnerability because the agency that holds the code has folded.

Without directed, monitored, and reviewed outsourced development, organizations face:

  • Inherited vulnerabilities – injection flaws, hardcoded secrets, and outdated dependencies written in someone else's office ship under your brand, and the breach obligations land on you
  • Code ownership disputes – without contractual IP assignment you may not own the product you paid for, which can stall funding rounds, acquisitions, and future development
  • Vendor failure lock-in – if the agency disappears or the relationship sours with no escrow or repository handover, you lose the ability to maintain and patch your own product
  • Supply-chain compromise – unreviewed third-party commits are a direct route into production for malicious or compromised-developer code
  • An easy audit finding – a contract with no security clauses plus an absence of review records is one of the simplest nonconformities for an auditor to write

Regional Compliance Context

India sits on both sides of this control. If you are the customer: RBI-regulated entities that outsource IT development are subject to RBI master directions on IT outsourcing, which expect documented oversight of service providers, audit rights, and exit plans — a well-evidenced A.8.30 implementation doubles as regulatory evidence. And where external developers handle personal data of Indian data principals, the DPDP Act 2023 keeps you accountable as the data fiduciary, so contracts must bind the developer to your security requirements rather than their defaults.

If you are the provider — the everyday reality for Indian IT services firms, agencies, and GCCs — expect your customers' A.8.30 obligations to arrive as contract clauses: secure SDLC evidence, audit rights, subcontracting consent, and personnel controls. Mature, demonstrable A.8.25 through A.8.29 practices shorten those negotiations and turn this control from a compliance cost into a sales asset.

Implementation Guidance

1

Set Security Requirements Before the Contract Is Signed

Derive the deliverable's security requirements from A.8.26 and your secure coding standard, and write them into the statement of work: required practices, vulnerability-handling expectations, confidentiality terms, IP assignment, and the delivery method. Requirements added after signature become change requests the vendor can price or refuse. Have the security lead review every development SOW before procurement signs.

2

Vet the Vendor's Own Development Lifecycle

Before award, run due diligence on how the vendor actually builds software: their secure coding practices, testing and review process, environment separation, subcontractor use, and any certifications such as ISO 27001 or SOC 2. A short questionnaire plus a walkthrough call is usually enough. Keep the responses — they serve as both a selection record and the baseline for later reviews.

3

Contract the Oversight Mechanics

Working with whoever owns supplier agreements (A.5.20), put the enforcement levers in writing: acceptance criteria for deliverables, your right to review and security-test delivered code, the vendor's obligation to share test and scan evidence, secure delivery channels, breach notification duties, and consent requirements for subcontracting. Add source code escrow where you depend on code the vendor hosts or owns.

4

Bring Vendor Developers Into Your Controlled Environment

Wherever possible, have external developers work in your repositories with named, least-privilege accounts rather than delivering code from theirs (A.8.4). Your branch protections, CI checks, and review rules then apply automatically, and offboarding becomes a single access removal. Keep a register of all external developers and set access expiry dates at account creation.

5

Monitor While Development Is in Flight

Assign a named engagement owner on your side. Track security acceptance criteria in the definition of done, attend sprint demos, review the vendor's scan and test results as they are produced, and log security findings in a shared register with remediation status. Monitoring evidence accumulated during the build is far cheaper than trying to reconstruct it at audit time.

6

Run Acceptance Testing Before Integration

Before outsourced code merges into your mainline or ships to users, put it through the same gates as in-house code: static analysis, dependency and secret scanning, peer review, and — for major releases — independent penetration testing (A.8.29). Record the results and the explicit acceptance decision, including who accepted and on what evidence. Rejected deliverables and their rework records are evidence too.

7

Review the Arrangement Periodically

Reassess the engagement at a defined frequency — quarterly or per release works for most teams: vendor performance against the security clauses, findings trends, whether escrow deposits are actually current, and whether scope changes require contract updates. Feed the results into your supplier review process and keep minutes; they close the loop between direct, monitor, and review.

Audit Evidence

During your ISO 27001 certification audit, auditors will expect to see the following evidence to demonstrate compliance with A.8.30:

Documentation

  • Development contracts and statements of work showing security requirements, IP assignment, and review or audit rights
  • Vendor due diligence records for development partners — questionnaires and certification evidence such as ISO 27001 or SOC 2 reports
  • Acceptance records for delivered code: review notes, scan and test reports, and the documented acceptance decision
  • Register of security findings raised to the vendor with remediation status
  • Source code escrow agreement or repository handover terms where the organization depends on vendor-held code

Interviews

  • Engineering lead or CTO on how security requirements reach external developers and what review deliverables pass before merge
  • Procurement or vendor manager on security clauses in development contracts and the due diligence performed before award
  • Developers who review outsourced code on what they check and what would cause them to reject a deliverable

Observations

  • Repository access lists showing vendor developers with named, least-privilege accounts and expiry dates
  • A recent outsourced deliverable traced live from contractual requirement through review evidence to acceptance
  • CI pipeline output showing third-party code passing the same security gates as in-house code

Practitioner Insights

Surendra Pal Singh

A pattern I see across audits: the organization produces an impressively drafted master services agreement full of security clauses, then cannot produce a single record showing any deliverable was ever checked against them. The contract is only the "direct" part of this control. Auditors will pick one delivered release and ask you to walk the whole trail — requirements given, monitoring during the build, review evidence, and a recorded acceptance decision. If your acceptance is a chat message saying "looks good, merging", you have a finding waiting to be written.

Surendra Pal Singh · CISO, DPO, CISA, ISO 27001, 27701, 42001 Lead Auditor
Saundhi Chauhan

The cheapest fix I recommend to startups is to make your own repository and pipeline the only door. Instead of the agency building in their environment and handing over a zip file or one final push, vendor developers work as named guests in your repo, and every pull request passes the same scanners and review rules as your employees' code. That single decision generates monitoring and review evidence automatically, makes offboarding a one-click access removal, and ends the "we never actually saw the code until handover" problem that small companies fall into with offshore and nearshore agencies.

Saundhi Chauhan · ISO 27001, 27701 Lead Auditor

Common Challenges & Solutions

Challenge

The development contract was signed years before the ISMS existed and contains no security, IP, or review clauses.

Solution

Do not wait for renewal. Issue a security addendum covering secure development obligations, evidence sharing, review rights, and breach notification — most agencies sign without much resistance because their other clients ask for the same things. Track any holdout on the risk register and make the clauses a condition of the next renewal or scope change.

Challenge

The vendor refuses to share source code or detailed test evidence, claiming their platform is proprietary.

Solution

Separate the two kinds of code. Anything built for you under work-for-hire terms should be fully accessible — that part is non-negotiable. For the vendor's proprietary platform, agree an alternative assurance model: independent penetration tests of the delivered application, their certifications and summary scan reports, and escrow for continuity. Document the agreed model so the auditor sees a deliberate decision, not an unmanaged gap.

Challenge

Nobody in-house is technical enough to meaningfully review the code the agency delivers.

Solution

Automate the floor: static analysis, dependency, and secret scanning in your pipeline catch the worst defect classes without expert reviewers. Make acceptance criteria objective — no critical findings, reports attached — so a non-specialist founder or product manager can enforce the gate credibly. For major releases, commission an independent code review or penetration test.

Challenge

Freelancers and micro-agencies work from personal laptops and personal accounts, outside all of your controls.

Solution

Onboard them like lightweight employees: NDA and IP assignment signed before the first commit, a named account in your repository and SSO, your branch protections applied, and an access expiry date set at creation. Maintain a register of all external developers and review it quarterly so departed freelancers do not retain access.

Challenge

The vendor quietly subcontracts parts of the build, so unknown third parties end up holding your code.

Solution

Add consent-to-subcontract and requirement flow-down clauses to the agreement, ask the subcontracting question explicitly in due diligence and at every periodic review, and require the vendor to maintain a current list of personnel with access to your code and systems. Where subcontracting is approved, the same security and confidentiality terms must bind the subcontractor — this is A.5.21 territory.

Frequently Asked Questions

Does A.8.30 cover freelancers and staff augmentation, or only agencies?
It covers any development performed by people who are not your employees — agencies, freelancers, offshore development centers, and outsourced product teams. The practical test is who directs the work: if a third party manages the developers and delivers results, treat it as outsourced development with full A.8.30 oversight. If augmented staff work entirely inside your processes, repositories, and review gates under your direction, much of the oversight collapses into your normal SDLC controls — but document that reasoning.
We do all development in-house — can we mark A.8.30 as not applicable?
Yes, if it is genuinely true, with a justification recorded in your Statement of Applicability. Expect the auditor to test the claim: the marketing website built by an agency, the mobile app a contractor wrote two years ago, and the customizations a vendor made to your ERP all count. If any externally developed code is still in service, you need at least a maintenance-mode position on it rather than a blanket exclusion.
Is source code escrow mandatory under A.8.30?
No — escrow is a risk-based option the guidance suggests considering, not a requirement. It earns its cost when the vendor owns or hosts code your business depends on and could not rebuild. If external developers work in your repositories, you already hold the code and escrow adds little; spend the effort on review rights and delivery controls instead.
Who is accountable if outsourced code causes a breach?
You are. Contracts can give you financial recourse against the vendor afterwards, but regulators, customers, and data protection laws hold the organization operating the system accountable — under regimes like India's DPDP Act, the data fiduciary answers for its processors. That is exactly why A.8.30 emphasizes review before integration rather than blame after an incident.
Can we rely on the vendor's ISO 27001 certificate instead of reviewing their deliverables?
A certificate is good due-diligence input but not a substitute for deliverable review. It tells you the vendor operates a certified ISMS within its own scope — it says nothing about whether the specific code they ship you is secure. Use certifications to shorten questionnaires and reduce vetting effort, and keep acceptance testing of what they actually deliver.
How is A.8.30 different from the supplier controls A.5.19 and A.5.20?
A.5.19 and A.5.20 govern supplier relationships in general — selection, contractual security clauses, and lifecycle management for every supplier type. A.8.30 is the technological deep-dive for one specific supplier activity: writing software for you. It adds the engineering obligations the general controls do not reach — directing development methods, monitoring work in progress, and technically reviewing deliverables before integration. In practice, A.5.20 puts the clauses into the contract and A.8.30 is engineering enforcing them.

Written By Expert Auditors

Saundhi Chauhan
Saundhi Chauhan
Lead Auditor
ISO 27001 Lead AuditorISO 27701 Lead Auditor
Surendra Pal Singh
Surendra Pal Singh
Chief Information Security Officer & Data Protection Officer
CISODPOCISAMCSEITILISO 27001 Lead AuditorISO 27701 Lead AuditorISO 42001 Lead Auditor
Last reviewed: June 2026Content verified by certified lead auditors

Get in touch

Book a free consultation or send us your requirements. We respond within 24 hours.

Quick Call

Pick a time slot

Send Requirements

Get a custom quote in 24 hours

We're Online

⚠️ Business inquiries only. Personal email addresses will be rejected.

24hr Response
Free Consultation
No Obligations