Audit log (who changed what and when)
INSERT INTO AuditLog (
EntityType, EntityId, Action, ChangedBy, ChangedUtc, DetailJson)
VALUES (
'QaScoreForm', 'qa-scorecard-v4', 'UPDATE', @userId, SYSUTCDATETIME(), @detailJson);
Recent audit trail entries:
[2025-01-08 09:02] jlee updated form qa-scorecard-v4 (sections=2, questions=6)
[2025-01-08 09:11] kpatel updated role compliance_lead (added audit.write)
[2025-01-08 09:21] mrobinson toggled feature flag new-qa-dashboard ON
Feature flags + config driven behavior
public sealed class FeatureFlagService
{
private readonly IDictionary<string, bool> _flags;
public FeatureFlagService(IOptions<FeatureFlagOptions> options)
=> _flags = options.Value.Flags;
public bool IsEnabled(string name) => _flags.TryGetValue(name, out var isOn) && isOn;
}
- Flags scoped by environment and business unit.
- Rollout rules tied to user roles and cohorts.
- Feature exposure tracked in audit logs.