🚀 Welcome to MDriven Learn –  MDriven is now on Discord!  Don’t miss the latest Release Notes.
PII handling
This page was created by Wikiadmin on 2026-07-29. Last edited by Wikiadmin on 2026-07-29.

MDriven Turnkey is designed to limit the information exposed to a client by defining the data available for a specific authorized use case.

Limit exposed data with server-side ViewModels

Use the Access Control System together with ViewModels to define the information an authenticated and authorized user can receive for a specific use case.

A ViewModel defines a slice of data for that use case. The reduction from the complete model happens on the server. Each ViewModel is implemented with declarative Object Constraint Language (OCL), providing an explicit definition of the information subset it contains.

For a use case that requires access to a customer case, define a ViewModel containing the case information needed for that task. Review the ViewModel definition to ensure that it does not include information outside the use case.

The resulting data slice, including changes to that slice, is streamed to the client. According to the MDriven security documentation, the framework does not expose information outside the ViewModel-defined slice.

  1. Identify the information needed for a specific user task.
  2. Define authorization rules for that use case in the model.
  3. Define a ViewModel containing the information required by the use case.
  4. Review the ViewModel and its OCL definition as the information subset available to the user.
  5. Keep information filtering on the server.

Define access-control rules in the model

MDriven Turnkey provides its Access Control System on the server. The access-control rules are defined declaratively in the model, can depend on data in the model, and can be statically verified.

The server-side Access Control System also applies when building WPF, AngularJS, or Android clients.

Authentication and communication protection

MDriven Turnkey user authentication uses OAuth2. The documentation states that implementations can include optional social login or single sign-on (SSO) with OpenID, and that multifactor authentication can be made part of the Access Control System. OAuth2 server-to-server authentication is also supported.

The security documentation states that all communication is performed over SSL. Where stronger cryptographic protection is needed, it states that a tunnel can be used to protect traffic between the user and server.

OpenID configuration

OpenID-related settings are documented as being placed in App_Data/TurnkeySettings.xml, a TurnkeySettingsExtra file, or TurnkeySettingsOverride.xml. The documentation recommends TurnkeySettingsOverride.xml when settings should not be replaced during an upgrade.

The supplied OpenID configuration excerpt identifies <ShowPII>true</ShowPII> as enabling clear-text PII-level logging and <SharedSecret> as encrypting tokens stored in the database (SysToken). It does not document logging-output destinations. Verify those settings against the complete OpenID configuration documentation before publishing operational guidance.

Review access definitions as the application evolves

MDriven states that the declarative Access Control System can be inspected by non-coders, allowing security officers to understand the risk level posed by individual screens as a system evolves.

See also