The 5 Lines of Defence for Business Data Inputs
The 5 Lines of Defence for Business Data Inputs
August 27, 2026 / in Announcements / by Allan Bowe

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

Data Controller is the product of a UK company with a singular focus on SAS Web Apps.

Source Code

Data Controller source is on our self-hosted Gitea Repository; the underlying SASjs framework is on GitHub.

Other Resources

Connect on LinkedIn, read the docs, or subscribe to the RSS feed for updates.