Catalogue › Security and Compliance › security-model-review
Security model review
- Department
- Security and Compliance
- Stages
- Initiate, Implement, Prepare, Operate
- Modules
- All
- Status
- reviewed
- Copilot Cowork
- Security and Compliance plugin for Copilot Cowork, or this skill on its own: Download SKILL.md
- Claude Code
/plugin install security-compliance@d365forge- Licence
- CC BY 4.0, by Simon Foote, Robert Peledie
Few CRM security failures are dramatic. Most are quiet: a seller who can read every account because someone widened read depth to make a lookup work, an integration account running as System Administrator, or a service team that shares records by hand until the sharing table slows every view. Each shortcut made sense under deadline pressure, and none was reviewed against the whole model.
This skill is the independent check on the model as designed and as deployed. It is reviewer-class: every finding is classified as blocking or advisory, and blocking findings are not overruled by the department under review. Disagreement escalates to the executive sponsor or steering committee, never back to the team that built the model.
When to use
- A role matrix or persona design is ready for sign-off.
- Before UAT starts, and again as an input to the go-live decision.
- After go-live, when someone reports seeing records they should not (or missing records they need), or before a release adds a module.
- When an organisation inherits an environment and needs to know what access it actually grants.
Not this skill: security-compliance:business-units-and-teams to design the business unit tree and team types, security-compliance:field-level-security to protect individual columns, platform-administration:environment-setup to configure environments and admin settings.
Questions to ask first
- Which personas exist, and what must each read, create, change and delete? Without a persona-by-table view there is nothing to review against.
- Which data is personal, special category or commercially restricted? This sets how hard to push on depth and sharing.
- Is the business unit structure settled? Privilege depth only has meaning relative to it.
- Which non-human identities exist (application users, integration accounts, flows owned by service accounts)? Excess privilege usually hides here.
- Who owns Entra ID groups and conditional access? Usually not the CRM team, so findings there need a named owner outside the project.
Approach
Review evidence, not intentions. Ask for the role matrix (persona, table, privilege, depth), an export of the custom roles from the target environment, the application users with their roles, and the team list. Compare the design with what is deployed; drift between the two is a finding in its own right.
- Roles. Check that custom roles are copies or built from scratch rather than edits to out-of-box roles, which platform updates can change. Favour a small base role that every user holds plus additive functional roles over one large role per job title. Challenge every organisation-wide read, write or delete on a table holding personal data and ask for the business reason.
- Quiet privileges. Assign, Share, Append To and delete are where leakage and data loss begin. Share lets one user widen access for everyone downstream, so it should be rare. Customisation privileges in production belong to administrators only.
- Teams and hierarchy. Confirm that owner teams carry shared ownership, access teams handle per-record collaboration, and Entra ID group teams keep membership in step with the directory. If hierarchy security is on, check which model (manager or position) and depth were chosen and whether anyone has tested it at realistic volumes.
- Sharing and cascades. Heavy manual sharing, and cascading share or assign across parent and child records, grow the access table quickly and slow queries. Ask how much sharing the design expects; if nobody knows, record it.
- Identity. Application users need a role scoped to what the integration touches. At a high level, confirm that conditional access covers the environment (multi-factor authentication, device rules for mobile and offline use) and that an environment security group limits who can be given access.
- Testing. Ask for evidence of tests run while signed in as each persona, including negative tests. Hiding a form, view or button is not a control.
Log each finding with an id, area, evidence, classification and required action. A finding is blocking when data is exposed beyond need-to-know, a privilege escalation path exists, or persona testing has not happened; the rest are advisory. Where a finding raises a legal question, such as whether a persona may lawfully see special category data, frame the question and refer it to the organisation's DPO or legal adviser.
Outputs
- Security findings log (id, area, evidence, blocking or advisory, action, owner, due date), with blocking items copied to the
raid-log. - Annotated role matrix recording what was approved and on what conditions.
- Persona test checklist for inclusion in the
test-strategy-and-uat-scripts. - Sign-off statement naming the reviewer, the scope, the environment reviewed and any open blocking findings.
Scale notes
SMB
One consultant often designs and builds the whole model, so the review must come from someone else: a partner colleague, the customer's IT lead or an external reviewer for a day. Keep the review to the essentials: persona tests, application users, organisation-wide depth on personal data and the Share privilege. Two or three custom roles are usually enough, and a smaller model is easier to keep right.
Enterprise
Review at design, before UAT, before go-live and after every major release. The security-lead owns the model and the reviewer must be someone else, as the role combination rules expect. Look for a role naming standard, a persona-to-role register under change control, automated checks in the pipeline where feasible, and periodic access recertification after go-live with the Entra ID owners involved.
Hand-offs
Blocking findings return to the builders, usually through platform-engineering:solution-layering for role packaging and platform-administration:environment-setup for environment access. Persona tests go to testing-quality:user-acceptance-testing, and open blocking findings are an input to programme-management:go-no-go. Changes to an approved model come back through design-authority:change-impact-assessment and then through this review again.
Sources
references/sources.md in this skill lists the outside authorities for the questions here, what each is authoritative for, and what you may do with it. Check the current Microsoft Learn documentation before stating how a feature behaves, because Dynamics 365 changes monthly, and cite what you used.
Never
- Approve a model that nobody has tested by signing in as each persona.
- Accept System Administrator on an application user or integration account for convenience.
- Treat hidden forms, views or buttons as a security control.
- Let the department under review downgrade or close its own blocking finding.
- Give a view on whether access is lawful instead of referring it to the DPO or legal adviser.
Sources for this skill
Direct marketing and privacy and electronic communications
- Publisher: Information Commissioner's Office (UK)
- Link: https://ico.org.uk/for-organisations/direct-marketing-and-privacy-and-electronic-communications/
- Authoritative for: The UK rules for electronic marketing by email and text, including consent and the soft opt-in.
- What you may do: Reuse terms not yet confirmed. Treat as read and cite only.
- Last checked: 2026-10-15
Microsoft responsible AI principles and practices
- Publisher: Microsoft (Global)
- Link: https://www.microsoft.com/en-us/ai/responsible-ai
- Authoritative for: The principles Microsoft applies to its AI features, used as the reference point for reviewing Copilot and agent use.
- What you may do: Read and cite. Summarise in your own words; do not reproduce the text.
- Last checked: 2026-10-15
Ownership-based security in Microsoft Dataverse
- Publisher: Microsoft (Global)
- Link: https://learn.microsoft.com/en-us/power-platform/admin/wp-security-cds
- Authoritative for: Security roles, business units, teams and record ownership in Dataverse.
- What you may do: Read and cite. Summarise in your own words; do not reproduce the text.
- Last checked: 2026-10-15
UK GDPR guidance and resources
- Publisher: Information Commissioner's Office (UK)
- Link: https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/
- Authoritative for: The UK regulator's guidance on lawful basis, individual rights, retention and accountability under UK GDPR.
- What you may do: Reuse terms not yet confirmed. Treat as read and cite only.
- Last checked: 2026-10-15
Credit
This skill was created by Simon Foote and Robert Peledie as part of D365Forge, licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Credit them when you share or adapt it; see https://github.com/SimonFoote-greensparx/D365Forge/blob/main/NOTICE.md.