Webneuron
Representative Case Study — Cyber Security

Clearing a security backlog before it cost the enterprise deals

Application security services for an education technology provider losing enterprise deals at the security questionnaire: architectural findings were remediated, controls were moved into the pipeline, and SOC 2 readiness stopped being an annual scramble.

4

Enterprise procurement cycles previously stalled at security review

100%

Critical and high findings remediated before SOC 2 audit fieldwork

Every build

Security scanning moved from annual penetration test to pipeline gate

Days

Security questionnaire turnaround, previously several weeks

The Challenge

The provider sold a learning and student engagement platform used by universities. It had grown well in the mid-market and had then hit a wall: four enterprise procurement cycles in eighteen months had stalled at security review, and two of them had gone to a competitor with a SOC 2 report.

Security had been handled the way it often is in a fast-growing product company — an annual penetration test, findings triaged into the backlog, and most of them still sitting there. The backlog was not evidence of negligence so much as of a team that had prioritised features while the buyer profile changed underneath it.

The findings that mattered were architectural rather than cosmetic. Authorisation was enforced inconsistently across services, tenant boundaries relied on application-layer checks that a developer could forget, secrets were held in configuration files, and audit logging was insufficient to reconstruct who accessed a student record.

Student data raised the stakes. The platform holds education records subject to FERPA in the United States and personal data subject to GDPR for institutions with European students, and the customers asking the hardest questions were the ones with the largest deal values.

Answering a security questionnaire took weeks because the answers had to be researched each time. There was no maintained control documentation, so every questionnaire was effectively a fresh internal investigation.

The objectives: remediate critical and high findings with the architectural causes rather than the symptoms, enforce tenant isolation and authorisation at the platform layer, move security testing into the development pipeline, establish maintained control documentation, and reach SOC 2 Type II readiness.

The Solution

The work started with an architectural review rather than a scanner run. Most of the recurring findings traced back to a small number of structural decisions, and remediating those removed whole classes of finding rather than individual instances.

Authorisation was consolidated into a central policy service. Previously each service implemented its own checks, which is why coverage was inconsistent and why a new endpoint could ship without one. Every request now passes through a single evaluation point with policies defined as code and covered by tests.

Tenant isolation was moved from application logic into the data layer using row-level security tied to the authenticated tenant context. A developer can no longer accidentally write a query that crosses an institutional boundary, because the database will not return the rows.

Secrets were removed from configuration and moved to a managed secrets service with short-lived, automatically rotated credentials. Historic secrets found in the repository history were rotated and the history was cleaned as part of the same exercise.

Audit logging was rebuilt around the question the customers actually asked: who accessed which student record, when, and from where. Logs are structured, tamper-evident, and retained on a defined schedule rather than being an operational byproduct.

Security testing then moved into the pipeline — dependency scanning, static analysis, container image scanning, secret detection, and infrastructure-as-code policy checks on every build — so new findings surface in a pull request rather than in next year’s penetration test. Control documentation was written as the work was done and is maintained alongside the code it describes.

Architecture Highlights

Authorisation runs as a dedicated policy decision point. Policies are expressed as code, versioned, reviewed, and unit tested like any other component, with decisions logged for audit. Services ask the policy service rather than each implementing their own interpretation of the rules.
Tenant context is established at authentication and carried immutably through every layer to the database session, where row-level security policies enforce it. Application code cannot override it, which converts tenant isolation from a coding convention into a database guarantee.
Encryption is applied at rest and in transit throughout, with keys managed in a managed key service and separated by environment. Education records are additionally classified so that field-level access controls apply to the most sensitive attributes.
The pipeline enforces a defined set of gates: software composition analysis for dependency vulnerabilities, static application security testing, container image scanning, secret detection, and infrastructure-as-code policy validation. A critical finding fails the build rather than creating a ticket.
Audit logs are written to append-only storage with integrity verification and are queryable by student record, by user, and by time window — the three dimensions that appear in institutional data requests and in incident response.
Control documentation is maintained in the repository alongside the implementation, so a control and its evidence move together. This is what turned questionnaire responses from research projects into retrieval.

Timeline

Weeks 1–6

Architecture and threat review

Architectural security review, threat modelling, and triage of the existing finding backlog by root cause rather than by individual instance. Remediation sequenced by risk and by procurement impact.

Months 2–6

Structural remediation

Central authorisation service, database-enforced tenant isolation, secrets migration and rotation, and rebuilt audit logging delivered and rolled out across services.

Months 7–10

Pipeline security and control documentation

Security gates embedded into the build pipeline. Control documentation authored alongside remediation and mapped to SOC 2 trust services criteria and to FERPA and GDPR obligations.

Months 11–13

Audit readiness and handover

Independent retest confirming remediation, readiness assessment ahead of audit fieldwork, and handover of security operating practices to the provider engineering team.

Technology Stack

TypeScriptNode.jsPostgreSQLOpen Policy AgentHashiCorp VaultKubernetesAWSTerraformGitHub ActionsSnykTrivyOWASP ZAPOpenTelemetry

We had treated security findings as a backlog to work through. The change in framing was treating them as four architectural problems producing sixty symptoms. Fixing the four removed most of the sixty and made the next sixty harder to create.

Vice President of Engineering, A Higher Education Technology Provider

Let's build the system your business will run on next.

Tell us where it hurts. We'll bring the architects, engineers, and delivery model to fix it — and scale it.