Scheduled audit of employee accounts across multiple identity sources.
Problem
Managers and account owners had no reliable view of the accounts they were responsible for. Account data was spread across several systems, including expiring exemptions, so gathering it was a manual process that risked missing key privileged accounts.
Solution
Developed a scheduled pipeline of four independent Go services: a collector to gather account data, an auditor to apply business rules and audit the accounts, a notifier to email owners and admins about problem accounts, and a reporting API that feeds dashboards. Set up a postgres database to store audit logs and historical account data.
Impact
Owners and admins can see which of their accounts are in good standing and flag or remove the rest.
The independent services architecture separate concerns and make modifications simpler: new business rules can be added easily into the auditor, new data sources into the collector, and API endpoints can be updated without affecting the rest. Responsible parties can be updated in real time without touching the core services.
The database provides a reliable audit trail and enables trend reporting through admin dashboards.