← All case studies
2026.08–09Professional work

Education-service QA — make sensitive-data access explicit and testable

Next.jsTypeScriptPostgreSQLAccess controlRegression tests

Evidence71 related tests · draft PR, not deployed

Context

An accepted lesson-report assignment led to a QA engagement. In the live-service codebase, I designed and implemented permission, access-reason and audit-log safeguards on top of an existing account-reveal feature.

Problem

Masking a value in the interface does not establish server-side permission or an audit trail. Allowed roles, access reasons, logging failures and permission revocation needed to be verified as one flow.

Decisions

Check a dedicated business permission on every request

The changes require a separate payroll-data grant and a reason for revealing one person’s details. Values remain masked by default; bulk export is outside this flow.

Return the value only after the audit record succeeds

The audit record captures who accessed the data and why without retaining the sensitive value. If logging fails, the value is withheld. Regression tests cover unauthorized roles and failure paths.

Separate implementation checks from production evidence

I implemented temporary reveal, automatic re-masking and masking on window departure. Verification covered 71 related tests, CI, an SQL rehearsal and browser flows with mocked responses. Production checks remain a post-deployment step.

What I owned

  • Safeguard design
  • Permission and logging patches
  • Regression and browser verification
  • Database rollout and production-check documentation

Actual deliverables

  • Permission, reason and audit-log changes with regression tests
  • Desktop/mobile verification with mocked responses and a database rollout guide

Scope and verification

71 related tests · draft PR, not deployed

As checked on 8 September 2026, the safeguard PR is draft and unmerged. A colleague implemented the original reveal feature; my contribution is the safeguards and verification. I claim no production rollout or user-impact result. Internal screens and personal data are withheld.

If you need this kind of work

Describe the thing you're currently stuck on. I'll reply by first separating what I can take on from what I can't.

More in this field