Public case study · architecture and implementation

Systems / Governance

Access review you can reconcile.

A review and evidence workflow that normalizes data from multiple sources, makes differences visible and publishes results deliberately.

Evidence path

Choose a stage to inspect its responsibility and boundary.

Stage 01

Collect

Selected collectors retrieve source records only after every required configuration passes preflight.

Implementation

Go collector interface with source-specific API clients.

Boundary

One failed collector fails the run instead of producing a partial review.

Stage 02

Normalize

Vendor-specific records map into a shared identity, entitlement and source-reference model before comparison.

Implementation

Shared report types and pagination for link, URL and cursor styles.

Boundary

Normalization aligns shape without erasing source meaning.

Stage 03

Compare

The pipeline calculates differences across selected sources while preserving unknown and conflicting states.

Implementation

Deterministic comparison over normalized records.

Boundary

Missing data is not converted into a claim of missing access.

Stage 04

Review

A person examines discrepancies and records a decision before evidence becomes the published review artifact.

Implementation

Human-readable CSV workflow with explicit source references.

Boundary

The tool prepares evidence; it does not invent review judgment.

Stage 05

Publish

The completed report is staged and replaces the current artifact only after every selected collector and review step succeeds.

Implementation

Staged file creation and atomic replacement.

Boundary

Partial output never becomes the current review.

Stage 06

Preserve evidence

If replacement fails, the last complete artifact remains available and the failed publication retains an explicit outcome.

Implementation

Known-good backup and restoration path.

Boundary

Recovery preserves complete evidence without claiming the failed run succeeded.

Problem

Access sources disagree in schema, timing and meaning. Missing data is not proof of missing access.

Proof in the build
Source adapters handle link, URL and cursor pagination, then map each response into one shared report model.

Review model

Normalize before comparing, expose differences instead of hiding them, and keep human judgment before publication.

Proof in the build
Every selected collector is preflighted before collection begins, and discrepancies remain visible for human review.

Evidence

Record what was reviewed, decided and published without pretending incomplete source data is complete.

Proof in the build
CSV output is staged and published only after every selected collector succeeds; a failed replacement restores the last complete report.

Sanitized system view

Evidence before publication.

Representative workflow using no account, access or review data.

Collection / Preflight

Collector readiness

Sources ready

Validate every selected source before creating any report or treating absence as evidence.

Selected sources

Okta + approved SaaS collectors

Collector contract

Configuration + pagination + shared report model

Preflight checks

  • Configuration is complete
  • Authentication can be attempted
  • Pagination strategy is known
  • No report exists yet

Normalize / Compare

Visible discrepancies

Comparison complete

Map source-specific records into one model, then show disagreement instead of smoothing it away.

Normalized evidence

Identity + entitlement + source reference

Comparison scope

Selected applications + review period

Difference checks

  • Schema differences are normalized
  • Missing remains unknown
  • Source references are retained
  • Conflicts remain visible

Reconciliation / Review

Discrepancy decision

Awaiting review

Compare normalized source evidence and make differences explicit before publishing a review result.

Collected evidence

Okta + SaaS source records

Review scope

Selected applications + reviewer decision

Decision checks

  • Every collector succeeded
  • Differences remain visible
  • Decision stays human
  • Rationale can be recorded

Publish / Preserve

Complete review artifact

Ready to publish

Publish only after collection and review complete, with restoration available if replacement fails.

Staged artifact

Normalized CSV + review decisions

Known-good state

Last complete report + atomic replacement

Publication checks

  • All collectors completed
  • Review decisions are included
  • Replacement is atomic
  • Previous complete evidence can be restored

Inside the review pipeline

Publication behaves like a transaction, not a folder of best-effort exports.

Collection

Go CLI with shared collector contracts

Vendor clients implement a minimal Collector interface and normalize each source into the same report model. Shared pagination handles link, URL and cursor styles.

Preflight

Validate every selected source first

Configuration is checked before collection or report creation begins, preventing a known setup problem from producing a partial review.

Publication

Stage, publish or restore

CSV reports are staged and published only after every selected collector succeeds. A failed replacement restores the last complete review.

Result

More defensible review work and a clearer handoff from evidence to action, without claiming compliance or completeness.