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.