How does Data Controller for SAS® defend data quality for data workflows deriving from business inputs?
⚔️ 1st Line of Defence - Data Model ⚔️
The interface will only accept inputs conforming to this model (columns, types, lengths, indexes, constraints etc). The schema determines the behaviour - eg, a date format results in a date picker.
⚔️ 2nd Line of Defence - Data Permissions ⚔️
Changes are made using a SAS System Account (eg sassrv). This means you can safely DENY write-access to data for business users, preventing un-controlled data ingestion.
⚔️ 3rd Line of Defence - Validation Checks ⚔️
Additional validation checks (eg value ranges, specific patterns) can be configured to run at the point of data capture, prior to SAS upload. See the validation documentation for details.
⚔️ 4th Line of Defence - Post Edit Hook ⚔️
Complex / customer specific validation can be deployed as SAS code, to run after every EDIT (prior to APPROVAL) using a post edit hook. A failure here results in immediate user feedback / change rejection.
⚔️ 5th Line of Defence - Approval Step(s) ⚔️
Changes are reviewed with one or more approvals BEFORE being applied to the target database. A full audit trail is also maintained.
All functionality is ZERO-CODE, works on SAS Viya / EBI / SASjs Server, and applies to any database you have an ACCESS engine for. There is also a community edition - free for unlimited users.
If you'd like to strengthen your own defences - let's chat.
Data Controller is the product of a UK company with a singular focus on SAS Web Apps.
Data Controller source is on our self-hosted Gitea Repository; the underlying SASjs framework is on GitHub.
