Kokil Thapa - Professional Web Developer in Nepal
Freelancer Web Developer in Nepal with 15+ Years of Experience

Kokil Thapa is an experienced full-stack web developer focused on building fast, secure, and scalable web applications. He helps businesses and individuals create SEO-friendly, user-focused digital platforms designed for long-term growth.

ISO 27001 Basics for Engineers

By Kokil Thapa | Last reviewed: August 2026

Your product team just received a security questionnaire asking whether you operate under an ISMS aligned with ISO 27001 Basics for Engineers—and nobody on the engineering side knows what that actually means for daily work. ISO/IEC 27001 is not a checklist of firewall rules; it is a management system standard that defines how an organisation identifies information-security risks, selects controls, runs them consistently, and proves they work. If you build or operate web applications, APIs, or cloud infrastructure, you will encounter ISO 27001 during enterprise sales, government procurement, or partner due diligence. This guide translates the standard into concrete engineering responsibilities—what to document, what to automate, and where application security controls intersect with formal compliance.

What is ISO 27001 and why should engineers care about it?

ISO/IEC 27001:2022 is the current edition of the international standard for an Information Security Management System (ISMS). An ISMS is the organisational framework—policies, processes, roles, and records—that keeps information assets confidential, intact, and available. Certification is awarded by an accredited auditor after a stage-one documentation review and a stage-two operational audit; the certificate itself is a business outcome, but engineers supply most of the technical proof.

In practice, ISO 27001 matters to engineers for three reasons. First, enterprise buyers and regulated sectors (finance, healthcare, legal services) increasingly require vendors to demonstrate a certified or aligned ISMS before signing contracts. Second, the standard's Annex A control set gives you a structured vocabulary for security conversations with management—instead of ad-hoc "we should probably encrypt that" debates. Third, many controls map directly to work you already do: server hardening, access control, backup testing, and secure SDLC practices.

ISO 27001 does not replace OWASP, CIS Benchmarks, or your cloud provider's shared-responsibility model. It sits above them as the governance layer that asks: did you identify the risk, choose an appropriate control, implement it consistently, and review it on schedule?

ISO 27001 ISMS — PDCA CyclePLANScope, risk assessment, Statement of ApplicabilityDOImplement controls, deploy, operateCHECKInternal audit, monitoring, management reviewACTCorrective actions, improve controlsEngineers contribute evidence mainly in DO and CHECK phases
ISO 27001 ISMS lifecycle — engineers own implementation evidence in the Do and Check phases

What ISO 27001 is not

It is not penetration testing alone, although pen tests may satisfy specific control objectives. It is not a one-time project—surveillance audits happen annually, and recertification typically every three years. It is also not prescriptive about technology; the standard tells you what outcomes to achieve, not which firewall vendor to buy.

How does the ISO 27001 risk assessment process work for engineering teams?

Clause 6.1.2 requires organisations to establish an information-security risk assessment process. For engineers, this means you must inventory the assets you own—databases, APIs, CI runners, S3 buckets, admin panels—and describe what could go wrong, how likely it is, and what impact it would have.

A typical risk register row looks like this:

  • Asset: Production MySQL database on RDS containing customer PII
  • Threat: Credential leak via misconfigured backup bucket
  • Vulnerability: Backup exports stored without encryption; overly broad IAM policy
  • Risk level: High (likelihood × impact scoring per your org's methodology)
  • Treatment: Apply A.8.24 (cryptography), A.5.15 (access control), A.8.13 (backup)
  • Owner: Backend lead / DevOps engineer
  • Residual risk: Low after controls implemented and tested

You do not need to become a GRC analyst, but you will be asked to validate technical accuracy. When risk owners claim "we encrypt data at rest," you confirm whether that means RDS encryption, application-level encryption, or both—and whether encryption in transit covers internal service-to-service traffic, not only browser-to-server HTTPS.

Risk Assessment WorkflowAssetInventoryThreat &Vulnerability IDRiskScoringTreatmentDecisionSelect Annex A controls → Statement of Applicability (SoA)MitigateImplement controlsTransferInsurance / outsourceAcceptDocument residual riskEngineers implement Mitigate controls and prove they operate
ISO 27001 risk treatment flow — from asset inventory to residual risk acceptance documented in the SoA

The Statement of Applicability (SoA)

The SoA is the document auditors scrutinise most closely alongside your risk register. For each of the 93 Annex A controls in ISO 27001:2022, your organisation states whether it applies, how it is implemented, and which risks it addresses. Controls marked "not applicable" need justification—"we have no physical office" is valid for some physical-security controls; "we forgot about it" is not.

Which Annex A controls matter most for software engineers?

Annex A in the 2022 edition reorganised controls into four themes: Organisational (37 controls), People (8), Physical (14), and Technological (34). Engineers spend most of their time in the Technological theme and selected Organisational controls tied to supplier relationships and secure development.

High-impact controls for web and API teams include:

  1. A.8.9 Configuration management — Infrastructure as code, version-controlled server configs, drift detection. Your Terraform modules and Ansible playbooks are evidence.
  2. A.8.24 Use of cryptography — TLS 1.2+, encrypted database storage, hashed passwords (bcrypt/argon2), key rotation procedures.
  3. A.8.25 Secure development life cycle — Code review, dependency scanning, SAST in CI, separation of dev/staging/production environments.
  4. A.8.15 Logging — Centralised logs, retention periods, protection against tampering, correlation for incident investigation.
  5. A.8.13 Information backup — Automated backups, off-site copies, documented restore tests with timestamps.
  6. A.8.2 Privileged access rights — MFA on production access, break-glass accounts, quarterly access reviews.
  7. A.8.8 Management of technical vulnerabilities — Patch cadence, CVE triage, container image scanning with tools like Trivy.
  8. A.5.23 Information security for use of cloud services — Shared-responsibility documentation, CSP security attestations, IAM least privilege.

On production Laravel applications I maintain, these controls translate into concrete artefacts: GitLab CI pipelines that run composer audit and frontend dependency scans, Deployer 7 deployments with immutable release directories, Redis-backed sessions with encrypted cookies, and nightly database dumps tested via quarterly restore drills aligned with our disaster recovery playbook.

How do you implement ISO 27001 controls in a Laravel or web application stack?

Translating Annex A into engineering tasks means building controls into systems rather than bolting on PDFs after launch. Below is a practical mapping for a typical PHP/Laravel deployment on Ubuntu with MySQL and Redis.

Access control (A.5.15, A.8.2, A.8.3)

Enforce role-based access in application code using packages like Spatie Laravel Permission. Production server access should be SSH key-only with MFA on the bastion or cloud console. Document who has database admin rights and review quarterly.

# Example: restrict production SSH via UFW — only bastion IP
sudo ufw default deny incoming
sudo ufw allow from 203.0.113.50 to any port 22 proto tcp
sudo ufw enable

Secure SDLC (A.8.25, A.8.28, A.8.29)

Integrate security gates into CI/CD. A minimal GitLab CI stage for a Laravel 12 project on PHP 8.3:

security_scan:
  stage: test
  script:
    - composer audit --format=plain
    - vendor/bin/phpstan analyse --level=6
    - npm audit --audit-level=high
    - gitleaks detect --source . --verbose

Pair automated scanning with mandatory peer review on merge requests. Store evidence: pipeline URLs, scan reports, and approval records.

Logging and monitoring (A.8.15, A.8.16)

Log authentication events, authorization failures, admin actions, and payment callbacks. Ship logs to a central store (ELK, CloudWatch, or similar) with retention matching your policy—often 12 months for security logs. Protect log integrity: append-only storage or object-lock on S3.

Backup and recovery (A.8.13)

Automate nightly database backups to off-site storage. The control is not "we take backups" but "we tested restoration on 2026-03-15 and recovered within RTO." Document the test result, who performed it, and any issues found.

Engineering Stack → Annex A ControlsApplication Layer — A.8.25 SDLC, A.8.26 App security, A.5.15 Access controlCI/CD PipelineA.8.28 Secure coding, A.8.8 Vuln mgmtSecrets & ConfigA.8.9 Config mgmt, A.8.24 CryptoDatabaseA.8.24 Encryption, A.8.13 BackupServer / OSA.8.2 Privileged access, A.8.20 NetworkLoggingA.8.15 Logging, A.8.16 MonitoringAudit Evidence: configs, CI logs, restore tests, access review exportsStored centrally — retrievable within minutes during stage-two audit
Mapping a typical Laravel web stack to ISO 27001 Annex A technological controls and audit evidence sources

Incident response (A.5.24–A.5.28)

Engineers need a runbook, not a policy binder. Define severity levels, on-call rotation, communication channels, and evidence preservation steps (snapshot logs, freeze deployment). Run tabletop exercises at least annually; save meeting notes and improvement actions—that is audit evidence.

Supplier and third-party risk (A.5.19–A.5.23)

When you integrate payment gateways (eSewa, Khalti, Stripe), SMS providers, or cloud hosting, document their security certifications, data processing agreements, and what data you send them. For Nepal-based client portals handling legal documents, this control intersects with local data privacy requirements—ISO 27001 does not replace national law, but the ISMS gives you a place to record compliance decisions.

How does ISO 27001 compare to SOC 2 and other security frameworks?

Engineers often confuse ISO 27001 with SOC 2, PCI DSS, and GDPR. They overlap on technical controls but differ in scope, audience, and audit model.

FrameworkPrimary focusAudit typeEngineer relevance
ISO 27001ISMS — systematic risk management across all information assetsAccredited certification (Stage 1 + 2, annual surveillance)Broad: org-wide policies + technical controls; global recognition
SOC 2 Type IITrust Services Criteria (security, availability, confidentiality, etc.)CPA firm attestation report (often US-market driven)Control-focused; less prescriptive on management system structure
PCI DSSPayment card data protectionQSA assessment or SAQ self-assessmentNarrow: cardholder data environments only; very specific technical reqs
GDPR / local privacy lawPersonal data rights and lawful processingRegulatory enforcement (not a voluntary certification)Data subject rights, consent, breach notification timelines
CIS BenchmarksHardening configuration baselinesSelf-assessment / automated scanningTechnical how-to; supports but does not replace ISMS governance

Many SaaS companies pursue both ISO 27001 and SOC 2 because US enterprise buyers ask for SOC 2 reports while European and Asia-Pacific clients prefer ISO certification. The good news: roughly 60–70% of technical evidence overlaps—access reviews, encryption configs, backup tests, and CI security scans satisfy both with different packaging. If you are early-stage, read our comparison of SOC 2 compliance for startups alongside this guide to decide sequencing.

Framework Evidence OverlapISO 27001ISMS + Annex ASOC 2Trust CriteriaOWASP / CISTechnical baselinesShared EvidenceAccess, encryption, backups, SDLC scansBuild evidence once — map to multiple framework requirements
ISO 27001, SOC 2, and technical security baselines share substantial audit evidence — automate collection centrally

What documentation and evidence do engineers need for ISO 27001 audits?

Auditors follow the trail from policy to practice. Your job is to prove controls operate as described—not to author every policy. Typical engineering deliverables include:

  • Asset inventory — Spreadsheet or CMDB listing servers, databases, SaaS tools, data classifications
  • Network diagrams — Production architecture showing trust boundaries, firewalls, encryption points
  • Configuration standards — Baseline hardening docs (reference CIS Benchmarks where applicable)
  • Change management records — Git history, merge request approvals, deployment logs
  • Access review exports — Quarterly CSV of users/roles with manager sign-off
  • Vulnerability scan reports — Monthly or per-release, with remediation tickets for highs/criticals
  • Backup and restore test logs — Dated proof with outcome (success/failure, time to recover)
  • Incident tickets — Security-related incidents with root cause and corrective actions
  • Vendor assessments — Security questionnaire responses for critical third parties

Common audit failures engineers cause

These show up repeatedly on real projects:

  1. Stale access: Former contractors still in the production AWS IAM group. Run automated access reviews.
  2. Untested backups: Backups exist but nobody has restored one in 18 months. Schedule quarterly drills.
  3. Secrets in Git history: An auditor runs a scanner and finds API keys from 2023. Use gitleaks in CI and rotate exposed credentials.
  4. Environment parity gaps: Staging lacks the same WAF rules as production. Document known differences or fix them.
  5. Missing logging: Admin panel actions not logged. Add audit trails before the audit, not during it.

Certification timeline expectations

For a 15–30 person product company starting from scratch, expect 6–12 months to certification-ready status depending on scope and existing practices. Engineering effort concentrates in months 3–8: implementing controls, collecting three months of operating evidence (logs, scans, access reviews), and fixing gaps found in internal audit. Budget for external consultant support if nobody internally owns the ISMS—typically Rs 800,000–2,500,000 (~USD 6,000–18,000) for Nepali SMEs, higher for complex multi-region setups. Certification audit fees are separate.

Clause 4.4 — keep scope realistic

ISMS scope defines what the certificate covers. A sensible scope for a web agency might be: "Design, development, and hosting of client web applications from the Kathmandu office and AWS ap-south-1 production environment." Excluding unrelated business units reduces audit surface. Engineers should validate that scope matches actual systems—auditors will trace a random production URL back to your asset register.

Practitioner note: On legal-tech portals where clients upload identity documents and court papers, ISO 27001 risk assessments almost always classify those files as confidential with high impact. That drives mandatory encryption, strict access logging, and shorter retention policies. Treat document-upload features as in-scope assets from day one—not as a post-launch compliance afterthought.

Staying current after certification

Surveillance audits verify continuous operation. Engineering changes that trigger ISMS updates include: new cloud region, major framework upgrade (Laravel 11 → 12, PHP 8.3 → 8.4), new payment integration, or AI features processing user data. Each needs a change-risk assessment logged in your ISMS tool (Confluence, Vanta, Drata, or a spreadsheet if you must). The standard requires evidence that you evaluated security impact before deployment—not after an incident.

External authoritative reference: the ISO/IEC 27001:2022 standard page at iso.org lists the official scope and control structure. Your organisation purchases the full text; engineers rarely need every clause but should read Annex A control descriptions for anything marked applicable in your SoA.

Next steps: where engineers should start with ISO 27001

Start with three actions this week. First, request your organisation's current SoA and risk register—read which Annex A controls apply to systems you maintain. Second, run a gap check on the highest-risk assets you own: encryption status, backup restore date, production access list, CI security scan coverage. Third, pick one control with weak evidence (usually backup testing or access reviews) and produce a dated record auditors can inspect.

ISO 27001 basics for engineers boil down to this: understand the ISMS cycle, know which Annex A controls touch your stack, implement them in code and infrastructure, and keep evidence that proves they ran continuously—not just on audit day. Security posture improves either way; certification is the formal recognition that your organisation manages information risk systematically.

If your team needs help mapping ISO 27001 controls to a Laravel production environment, hardening Ubuntu servers, or building CI evidence pipelines before an audit, get in touch—I work with Nepal-based and international teams on exactly this intersection of application development and operational security.

Frequently Asked Questions

ISO 27001 is an international standard for building and running an Information Security Management System (ISMS). For engineers, it is not a coding framework. It defines how your organisation identifies information risks, chooses controls, documents decisions, and proves security is managed consistently. You will encounter it through required policies, change controls, access reviews, logging expectations, and evidence requests during audits. Think of it as a structured security operating model your team must align with, not a single tool or checklist you install once.

Engineers need practical working knowledge, not auditor-level expertise. On production Laravel applications and client portals I have maintained, ISO 27001 work lands on developers when auditors ask how code is deployed, who can access production databases, how secrets are stored, and whether changes are reviewed. Security teams own the ISMS, but engineering owns the systems that must satisfy Annex A controls. If you build, deploy, or operate software, you will be interviewed or asked for evidence. Ignoring the standard until audit week creates last-minute fire drills.

ISO 27001 defines ISMS requirements and certification criteria. ISO 27002 is a control reference guide with implementation advice. Engineers usually work from the organisation’s Statement of Applicability, which maps chosen Annex A controls to actual systems.

Budget roughly Rs 800,000 to Rs 2,500,000 (~USD 6,000 to 18,000) for a first certification cycle at small scale, excluding major remediation. Costs include a consultant or internal project time, gap assessment, documentation, staff training, internal audit, and an accredited certification body audit. Annual surveillance audits add Rs 150,000 to Rs 400,000 (~USD 1,100 to 3,000). Engineering costs are often hidden: hardened hosting, logging tools, access management, backup testing, and developer time producing evidence. Treat certification as an ongoing programme, not a one-off invoice.

Most small software teams need six to twelve months for a first certification if they already run reasonable baseline security. Greenfield organisations with weak documentation, shared production credentials, or no formal change process often need twelve to eighteen months. Engineering work typically spans risk treatment plans, fixing access control gaps, implementing centralised logging, defining secure SDLC steps, and documenting runbooks. Certification body scheduling adds weeks. Do not promise clients a certificate in ninety days unless a consultant has already pre-built your ISMS templates and your stack is unusually clean.

No. GDPR is a privacy law with legal obligations around personal data. SOC 2 is an attestation report, common among US SaaS vendors, focused on Trust Services Criteria. ISO 27001 is a certifiable ISMS standard recognised globally, including for Nepal-based firms serving international clients. They overlap on topics like access control, encryption, logging, and vendor management, but evidence formats differ. I have seen teams reuse control documentation across frameworks, which saves time, but you cannot treat one certificate as automatic proof of the others. Map requirements explicitly rather than assuming equivalence.

Annex A areas that hit engineering hardest include secure development and change management, logging and monitoring, backup and recovery, access control, cryptography, vulnerability management, and supplier relationships for cloud hosting. On Ubuntu servers running PHP-FPM, Apache, and MySQL, auditors routinely ask who can SSH to production, how .env secrets are managed, whether Deployer or CI pipelines enforce review before deploy, and how database backups are tested. Spatie packages and Laravel queues do not satisfy controls by themselves. You must show process: approvals, testing, rollback, and retained evidence.

Expect requests for architecture diagrams, asset inventories, access lists, change records, deployment logs, vulnerability scan results, penetration test summaries, incident tickets, backup restore tests, and vendor contracts for hosting or SaaS tools. GitLab CI history, Deployer release logs, and production cron configurations have all been useful evidence on projects I have worked on. Auditors prefer dated, named artefacts over verbal assurances. Keep ticket references linking a change to approval, testing, and release. Screenshots alone are weak; reproducible logs and version-controlled policy documents carry more weight.

The Statement of Applicability (SoA) lists every Annex A control, whether it applies, justification for exclusions, and how each applicable control is implemented. Developers should read it because it translates legal and policy language into system obligations. If the SoA says production access uses individual accounts with MFA and quarterly review, shared root SSH keys become a nonconformance. If secure coding is in scope, your team needs defined review steps, dependency scanning, and evidence of fixes. Treat the SoA as the contract between security governance and engineering reality.

ISO 27001 pushes you toward repeatable, authorised, auditable deployments. That usually means protected main branches, mandatory merge requests, automated tests where feasible, separation between staging and production, secrets injected via CI variables rather than committed files, and deployment logs retained long enough for audit. On Deployer 7 plus GitLab CI setups I use, evidence comes from pipeline IDs, tagged releases, and post-deploy PHP-FPM reload steps documented in runbooks. Ad-hoc FTP uploads and manual server edits fail audits quickly. Build the pipeline so security checks are normal workflow, not a separate audit-season scramble.

Shared credentials, missing production access reviews, undeclared shadow IT tools, backups that exist but are never restored, verbose debug logging of sensitive data, and undocumented emergency changes top the list. Laravel apps with APP_DEBUG=true in production, open .env backups in web roots, or queue workers running as the wrong system user have caused findings on real projects. Another frequent gap is third-party API keys stored in chat or email instead of a secrets manager. Auditors also flag stale dependencies with known CVEs and no remediation ticket. Fix the boring items early; they cause more findings than exotic threat models.

No framework-specific certification exists, but your application must support organisational controls. For Laravel 11 or 12 on PHP 8.2+, that means enforced authentication and authorisation (policies, Spatie Permission where RBAC is needed), encrypted sessions, secure file upload handling, rate limiting on auth routes, queued jobs for sensitive processing, and audit trails on document or payment workflows. WordPress and WooCommerce sites need hardened admin access, update discipline, least-privilege roles, and reliable backups. Legal-tech portals with client document sharing attract extra scrutiny on access logging, retention, and encryption at rest and in transit.

Pursue ISO 27001 when enterprise clients, regulated sectors, or RFPs explicitly require certifiable assurance, or when rapid growth makes informal security decisions unmanageable. Basic hardening—TLS, firewall rules, patched PHP, tested backups, MFA on admin panels—is enough for many small Nepal businesses until contractual pressure appears. Certification makes sense once you handle sensitive client data at scale, operate multi-tenant SaaS, or compete internationally where SOC 2 or ISO 27001 is a procurement gate. Do not delay sensible engineering controls while debating certification timing.

Certification is organisational, not hosting-brand specific, but shared cPanel hosting makes evidence harder. You need clear responsibility splits, patch visibility, access control, logging, and backup proof. Dedicated VPS or cloud instances on Ubuntu with documented Apache, PHP-FPM, MySQL, UFW, fail2ban, and Let's Encrypt configurations are easier to audit. If a vendor manages the server, their ISO certificates and contracts become part of your supplier control evidence. Engineers should avoid environments where nobody can explain who patched OpenSSL last month or who holds root access.

After initial certification, annual or semi-annual surveillance audits verify controls still work. Engineers attend interviews, demo systems, and pull logs showing ongoing compliance. You will show recent deployments followed change procedure, access reviews happened, vulnerabilities were remediated within agreed timelines, and incidents were recorded. Certification is not permanent autopilot. New microservices, AI API integrations, payment gateway changes, or moving from MySQL on a single server to managed RDS all trigger risk reassessment. Keep runbooks and evidence current or the next audit becomes a costly remediation project.

Share this article

Quick Contact Options
Choose how you want to connect me: