ISO 27001 Aligned Software Engineering for Enterprise ERPs
Selling into international enterprise procurement usually means answering to ISO 27001. ERPStack builds custom enterprise ERPs whose access control, change management, logging, and recovery behaviour produce the evidence an ISO 27001 audit samples — so that the software supports your information security management system instead of quietly undermining it. Delivery runs 6 to 24 weeks on fixed-fee milestones from $25,000, on Next.js, TypeScript and PostgreSQL in your own AWS account, with AES-256 at rest and TLS 1.3 in transit from day 1.
Quick Answer
In short: ERPStack designs and builds custom B2B ERP software engineered against the ISO 27001 control baseline — server-side RBAC, AES-256 encryption at rest, TLS 1.3 in transit, and append-only audit logging — deployed into your own AWS or Microsoft Azure account with 100% source-code ownership and zero per-seat licensing.
ISO 27001 control baseline, in numbers
Every row below is a parameter an assessor can test, not a posture we can assert.
- Authorisation
- Server-side RBAC on 100% of PostgreSQL queries, mapped to SSO groups over SAML 2.0.
- Environments
- 3 isolated AWS accounts — development, staging, production — with 0 shared credentials.
- Standing access
- 0 engineers hold production credentials; deployment runs under a workload identity.
- Pipeline gates
- Semgrep SAST, dependency audit, and secret scanning on every commit in GitHub Actions.
- Encryption
- AES-256 at rest, TLS 1.3 in transit, keys in AWS KMS on a 90-day rotation.
- Log integrity
- Append-only PostgreSQL tables streamed to your SIEM, retained on your own schedule.
- Evidence export
- Access records as JSON or CSV for any date range, in under 60 seconds.
- Recovery
- Multi-AZ standby with automatic failover, plus restore drills run 4 times a year.
- Change management
- 100% of infrastructure in Terraform; every change is a reviewed pull request.
- Handover
- 100% of the repository, Terraform, and the Annex A control mapping.
- Delivery
- 6 to 24 weeks on fixed-fee milestones from $25,000, with a working slice inside 4 weeks.
- Licensing
- 0 per-seat fees; unlimited users and client portals at flat hosting cost.
- Audit turnaround
- 1 access-review export replaces a 2-week evidence-collection exercise.
ISO 27001 Checklist
- Access ControlServer-side RBAC mapped to SSO groups over SAML 2.0, on 100% of PostgreSQL queries.
- Monitoring & LogsAppend-only tables streamed to your SIEM, retained on your own schedule, not a vendor default.
- Change Management100% of infrastructure in Terraform, every change a reviewed pull request in GitHub Actions.
- Incident ResponseDocumented alerting paths and failover across 2 AWS availability zones, drilled 4 times a year.
- Data RetentionAES-256 encrypted backups with point-in-time restore tested, not assumed.
Why ERPStack Custom Engineering?
- Evidence by defaultAccess, change, and incident records exist as artefacts across 100% of the audit period.
- Automated build gatesDependency and secret scanning in GitHub Actions block a merge rather than file a ticket.
- Portable controlsEvery control lives in your repository and your AWS account, so it outlives the engagement.
Grade Your Architecture Readiness
Use our interactive systems grader to evaluate your current PostgreSQL configuration, RBAC model, scaling limits, and audit-evidence gaps against the ISO 27001 controls above. It takes about 4 minutes and returns a written result, not a lead form.
Start Security AuditInformation Security Systems: ISO 27001 Aligned Architecture
Executive Summary
This is the software control set ERPStack builds into enterprise ERPs that will sit inside an ISO 27001 information security management system. The certificate belongs to your organisation, not to the application — but the application decides how much of the audit is a SQL query and how much is a project. Most access-control findings are evidence-collection failures rather than control failures, and that is an architecture problem solvable in advance, on Next.js, TypeScript, and PostgreSQL.
The Annex A Themes Software Actually Touches
ISO 27001 organises its controls into organisational, people, physical, and technological themes. Software reaches two of the four.
Access control. Authorisation is evaluated server-side on every query through RBAC mapped to your SSO directory groups over SAML 2.0 or OIDC, so a quarterly access review is a directory query rather than a spreadsheet exercise. Privileged actions are logged separately from ordinary reads.
Secure development and environment separation. Development, staging, and production are separate AWS accounts with separate PostgreSQL instances and no shared credentials. Production secrets live in a vault; no engineer holds standing production access, because deployment runs under a workload identity. Terraform describes every environment, so the 3 of them cannot drift apart silently.
Logging and monitoring. Authentication events, role changes, privileged actions, and failed authorisations land in append-only tables and stream to your SIEM. Retention follows your policy, not a vendor default you cannot change.
Backup, redundancy, and recovery. Encrypted snapshots, multi-AZ standbys with automatic failover, and restore drills that are actually run — because an untested backup is a documented assumption rather than a control.
Physical and people controls stay where they belong: software cannot vet your staff or lock your server room, and any vendor implying otherwise is selling you a gap.
Verification in the Pipeline
Deployment gates turn several clauses into artefacts nobody has to remember to produce.
// Pipeline gate in GitHub Actions: dependency audit, secret scanning, // and API boundary review. A high finding fails the merge, not a ticket. export async function runSecurityGate(commitSha: string) { const findings = await Promise.all([ scanDependencies(), // public vulnerability databases scanSecrets(), // no credentials committed to the repository reviewApiBoundaries(), // every route asserts RBAC server-side ]); const blocking = findings.flat().filter(f => f.severity === 'high'); return { commit: commitSha, blocking: blocking.length, timestamp: new Date().toISOString() }; }
Semgrep SAST covers the TypeScript codebase, Zod validates every API boundary, and Playwright exercises permission boundaries on each release so a broken RBAC rule fails CI rather than an audit.
Operations and Recovery
PostgreSQL hot standbys sit in separate availability zones with automatic failover, exercised rather than assumed. Backups are encrypted with keys in AWS Key Management Service on a documented retention and destruction schedule. Connection-pattern monitoring raises alerts on anomalous access, tuned per tenant.
Operational Outcomes
Procurement review shortens because a buyer receives documented technical controls instead of a questionnaire answered from memory. Access reviews become exports — any date range, JSON or CSV, in under 1 minute. And because every control lives in your repository and your AWS account, the ERP keeps producing evidence long after the engagement ends.
Stack and Boundaries
Enterprise ERPs built to this standard run on Next.js and TypeScript with PostgreSQL behind Drizzle ORM, deployed by Terraform into your own AWS account. RBAC is enforced in the Next.js API layer, SSO carries identity over SAML 2.0, Redis caches non-sensitive data, and Zod validates 100% of API boundaries. Semgrep SAST, Vitest, and Playwright run in GitHub Actions on every commit, with Sentry for error telemetry. ERPStack operates 0 of it: after handover no ERPStack account reaches your PostgreSQL cluster or your AWS keys, so the ISO 27001 scope boundary sits cleanly around your own organisation.
Compliance Engineering Technology Stack
Frequently Asked Questions
No. ERPStack holds no ISO 27001 certificate and cannot transfer one. A certificate is issued to an organisation's information security management system after an audit by a certification body — it is not a property of a piece of software, and buying enterprise ERPs from a certified supplier does not certify the buyer. What we build is the evidence layer your own audit will test: access control, change management, logging, backup, and recovery behaviour.
Mostly the technological and organisational themes. Access control is enforced server-side on every query through RBAC; secure development separates development, staging, and production accounts, with production secrets in a vault no engineer can read; logging and monitoring produce append-only records; and backup with redundancy covers the recovery clauses. Physical and people controls remain yours — enterprise ERPs cannot vet your staff or lock your server room, and no vendor should imply otherwise.
Secrets are injected at runtime from AWS Secrets Manager, Microsoft Azure Key Vault, or HashiCorp Vault, and nothing sensitive is committed to the repository. Every enterprise build runs automated secret scanning in the pipeline, and a match fails the merge rather than raising a ticket someone triages later. Developers hold no standing production credentials at all, because deployment runs under a workload identity — so the standing access an auditor asks about does not exist.
Yes. An administrative console exports system access records for any date range as JSON or CSV, covering authentication events, role changes, privileged actions, and failed authorisations. Because enterprise ERPs built this way run inside your own cloud account, those records also stream to your SIEM. The aim is to make an access review a query rather than a project, since access-control clauses usually fail on evidence collection rather than on the control itself.
You own it outright. The repository, the Terraform infrastructure-as-code, the runbooks, and the control documentation all transfer at handover, so your enterprise ERPs keep producing audit evidence without us. Dependency and vulnerability scanning continue in your pipeline because they are configured in the repository rather than in our account. Teams that want ongoing help take a retainer for upgrades and architecture reviews; teams that decline lose no capability.