Build your compliance check library, organize it with folders and groups, and bundle it into run templates
Compliance Settings is where MSP staff build the checks, groups and run templates used to assess clients. The library is shared across all companies. Company users do not configure it.
Before you start
The Compliance feature must be available for your account.
Open Settings > Compliance. The tabs you see depend on your permissions and features: Checks, Playbooks, Metrics (needs a Liongard integration), Groups, Runs, Schedule, Scoring and Risk.
Permissions differ by action. Add Group, New Check, Add New Template and the Schedule controls need Compliance settings write access. Editing library content needs write access to Compliance. Deleting and approving needs manage access to Compliance. See Permissions.
Runs here means reusable run templates, not the history of completed assessments. To run a template on a recurring basis, use Schedule.
The Checks, Groups and Runs tabs share a split-pane layout. The list is on the left and the detail is on the right. Click the panel icon at the top of the list to collapse it.
Organize checks in folders
The Checks tab lists every check your tenant can use. Folders only organize this settings page. They do not change how checks behave in a run.
1
Create a folder
On the Checks tab, click the New folder icon at the top of the Compliance checks list. To nest a folder, open a folder’s menu and click New subfolder.
2
Name it
Enter a name such as “Microsoft 365” or “CIS Controls v8” and click Create.
3
Add checks
Open the folder’s menu and click New check here, or drag existing checks into the folder (see below).
A folder’s menu also has Rename and Delete. Deleting a folder removes its subfolders. Checks inside move to Uncategorized, so no check is lost.
Move checks
1
Select the checks
Click a check to open it on the right. Hold Cmd (macOS) or Ctrl (Windows) and click more checks to add them. Hold Shift and click to select a range. The list shows how many are selected.
2
Drag them to a folder
Drag any selected check onto a folder. The folder highlights while you hover. Drop to move every selected check at once.
3
Or use the menu
For one check, open its Check actions menu and click Move to folder.
To take a check out of a folder, drag it onto Uncategorized at the bottom of the list. If you drag a check that is not in your selection, only that check moves.
Search and filter
Type in the search box to filter by check title. Folders with matches open automatically. Click the filter icon to filter by Approval status, Priority, Criticality, Frequency, Status list or Compliance type. Click Clear all to reset.
Create a check
1
Open the new check form
Click New Check in the page header, or New check here in a folder’s menu. A check made from a folder starts in that folder. Otherwise it starts in Uncategorized.
2
Fill in the check
Enter the details, such as title, description, criticality, priority, frequency, status list and compliance type.
3
Save
Save the check. It appears in the list.
To have AI draft many checks at once, click Bulk Generate with AI in the page header.
AI generation and refinement prompts use the same rounded composer as the assistant. Write your instruction, then select the up-arrow to generate or regenerate. Enter sends; Shift+Enter adds a new line. Review the proposed check and save it from the check editor.
AI prompt
Phone prompt
Generate a compliance check with the shared AI composer.
The same prompt and send arrow on a phone.
Edit a check
1
Open the check
Click a check in the list. Its form opens on the right.
2
Change the fields
Edit the fields (see the table below). Click Improve with AI to have AI suggest a better description, how-to-check, remediation and references from the title.
3
Save
Click Save in the form header. A toast says Check updated. If you open another check first, MSPortal asks whether to discard your unsaved changes.
Section
Fields
Identity
Title, Description, How to Check, Why It’s Important
Remediation
Remediation, Remediation Impact, References, Default Value
Assessment
Criticality (Minimal to Critical), Priority (High, Medium, Low), Frequency (Daily to Annually)
Classification
Status list, Compliance type, and Default risk category when risk tracking is on
Note templates by status
A note template per answer (see below)
Applies to
Conditions that decide which companies and devices get the check
Group assignments
The groups this check belongs to
Changing the Compliance type can remove group assignments that no longer match when you save. Note-template links and group membership save separately and at once. Cancelling the main form does not undo them. If a save fails partway, such as on custom fields, reopen the check and look at what saved before you retry.Checks have an approval status: Draft, Pending review, Approved or Rejected. Users with manage access can approve a check from its Check actions menu, or select several and click Approve selected.
Link note templates to answers
Each check uses a status list that defines its answer choices, such as Pass, Fail and Needs review. You can link a note template to each answer. When an assessor picks that answer in a run, the template text is added to their public notes.
1
Choose a status list
In the check form, pick a Status list. The Note templates by status section appears. Save the check so the status list is stored.
2
Pick a template for each answer
Choose a note template for each answer you want filled in. Leave the others on No template. Each choice saves at once. Clear template removes a link.
3
Assessor picks the answer
In a run, when the assessor picks an answer with a linked template, the template text is added under any existing public notes, after a blank line.
Only templates in the Compliance Check Note category appear. Create them in Settings > Customization > Note Templates first. See Note Templates. The template is applied once per answer and template in a session, so switching between answers does not repeat it.
Choose which companies and devices get a check
By default a check goes to every company, location or device a run covers. Add conditions under Applies to to narrow it. For example, send a FileVault check only to Macs, and a HIPAA check only to healthcare clients.
1
Add a condition
Scroll to Applies to and click Add condition. Choose the Condition, a Comparison such as is any of, and the Value.
2
Combine conditions
With two or more conditions, choose whether the check applies when all conditions match or any condition matches.
3
Save
Click Save in the check header. A toast says Conditions saved. New runs, and checks added to runs, use the conditions. Existing assignments stay as they are.
Condition
Tests
Company computer platforms
The company’s active computers: PCs, Macs or PCs and Macs
Company device types
The company’s active device types, with has any of and has none of
Industry, Company type, Standards tier
The company’s industry, PSA company type, or the Standards tier mapped to its company type
Company fields
Any company custom field. Dates use is on, is after and is before
Operating system
The device’s OS family, such as Windows, Windows Server, macOS or Linux
Device type, Manufacturer, RMM
The device’s type, manufacturer and source RMM
Device conditions apply only to checks with the Device compliance type. Company, location and control checks use their company conditions and skip device conditions. You can add a limited number of conditions per check.
A company or device with no value for a condition still gets the check. To skip records with no value, use is empty or is not empty. For example, add Operating system is not empty to skip devices whose OS is unknown.
Delete checks
Open a check’s Check actions menu and click Delete, or select several checks and click Delete selected. Both need manage access. Deleting is permanent and removes the check from every group it was in.
Build groups
Groups bundle related checks so you can add a whole set to a run at once. A check can be in any number of groups.
1
Open the Groups tab
Go to Settings > Compliance and click Groups. The list on the left shows every group. Search by name, or filter by compliance type.
2
Click Add Group
Click Add Group in the page header, or the + icon at the top of the list.
3
Fill in the details
Enter a Name and an optional description. Choose a Compliance type. If you pick one, only checks of that type can be added. Choose None (any type) to allow any check. For a Device group, also pick Device types. Devices of those types are evaluated against the group’s checks.
4
Create
Click Create. The group appears in the list and opens on the right.
New group is an unsaved draft. Choose the compliance type before you create it. Adding checks is a separate step.
If the device-type update fails after the group saves, reopen the group and check what saved before you retry.
Add and remove checks
1
Find the checks
The group page has two columns, Available checks on the left and Members on the right. Each column has its own search box. Click a check to select it. Hold Cmd or Ctrl to add more, or Shift to select a range.
2
Drag them across
Drag from Available checks to Members to add. Drag from Members to Available checks to remove. A toast says how many were added or removed. Each move saves at once, so wait for the toast before the next one.
If the group has a compliance type, only matching checks appear under Available checks. Clear the type to see all checks.
Edit or delete a group
Use the Edit group and Delete buttons in the group header, or the menu on a list row. Deleting a group does not delete its checks. Deleting needs manage access.
Build run templates
A run template bundles groups and individual checks into a reusable assessment package. A run made from the template assigns every check in each member group, plus each individual check.
1
Open the Runs tab
Go to Settings > Compliance and click Runs. The list shows each template with its group and check counts. Filter by All templates, Active only or Inactive only.
2
Click Add New Template
Click Add New Template in the page header, or the + icon at the top of the list.
3
Fill in the basics
Enter a Name (for example, “Quarterly security review”), an optional Description and the Active switch. Inactive templates stay in this list but are left out of the schedule’s template list.
4
Create
Click Create. The template opens on the right with empty Groups and Individual checks tabs.
New template starts with Active on. Create saves the template. Add groups and checks afterward.
Add groups and checks to a template
1
Open the Groups tab
On the template, click Groups. Available groups is on the left and Groups in this template on the right.
2
Drag groups across
Drag groups into Groups in this template to add them. Every check in those groups runs whenever the template is used. Drag them back to remove them.
3
Add individual checks (optional)
Click Individual checks for one-off checks that are not in a group. They run in addition to the groups. The drag and drop works the same way.
Group and check moves save at once. Cancelling the template’s edit dialog does not undo them. Groups and individual checks are independent, so you can use either or both.
Activate, edit or delete a template
Use the Active switch in the template header, or Activate and Deactivate in the row menu. It saves at once. Turning a template off does not pause schedules that use it, so check your schedules separately.
Edit template opens the name, description and active dialog.
Delete removes the template. Runs already created from it are not affected. Deleting needs manage access.
Deleting a run template does not stop or change runs already created. It only prevents new runs from it.
Schedule, scoring and risk
Schedule assessments: choose an active run template, targets and a recurrence. New schedules target all companies by default.
Configure Compliance Scoring: edit weights and grade thresholds, then click Save Changes. Reset to Defaults saves the defaults at once.
Playbooks: import library content before assigning it to companies.
Liongard Metrics: provider-backed metrics when Liongard is connected.
Permissions
Action
Required permission
Open a tab
The matching Compliance settings read permission, and the Compliance feature
View checks, groups and templates
read_compliance
Create, edit, move, add and remove members
write_compliance
Delete checks, groups or templates, and approve checks
manage_compliance
The page header buttons (New Check, Bulk Generate with AI, Add Group, Add New Template) and the Schedule controls need Compliance settings write access. Scoring and risk changes need Compliance settings manage access.
Keyboard and mouse reference
Action
How
Open a check, group or template
Click the row
Select several
Cmd/Ctrl + Click more rows
Select a range
Shift + Click a second row
Clear a selection
Click Clear, or click a row without a modifier
Move items
Drag selected rows. Drop targets highlight
Collapse the list
Click the panel icon at the top of the list
Best practices
Start with folders. Organize checks by framework (CIS, NIST, SOC 2) or domain (Microsoft 365, networking) before the library grows.
Use note templates for repeated findings. Link a template to the Fail answer once instead of typing it every assessment.
Set a compliance type on groups. It stops mismatched checks being added.
Build templates from groups. They are easier to maintain than long lists of single checks.
Deactivate, do not delete. Turn a template off with its Active switch to keep its history and keep pickers short.
Troubleshooting
Problem
What to do
A tab is missing
You lack that tab’s permission, or the feature is off. Metrics also needs a Liongard integration
New Check, Add Group or Add New Template is disabled
You need Compliance settings write access
I cannot delete or approve
These need manage access to Compliance
A check will not save
Read the error under Couldn’t save check. If conditions are incomplete, finish or remove them first
A note template is missing from the list
Only templates in the Compliance Check Note category show
A check is missing from Available checks
The group has a compliance type that the check does not match. Clear the type or change the check’s type
No. Runs here holds reusable templates. See completed assessments in the Compliance workspace.
Does cancelling a check discard note-template link changes?
No. Each link saves at once, separately from the check’s fields.
Do group and template moves wait for a Save?
No. Each drag between columns saves at once.
Does turning off a template pause its schedules?
No. Check your schedules separately. An inactive template is left out of the schedule’s template list.
Does changing a group's type change its membership?
It can. Only checks of the matching type stay eligible, and a Device group also uses its device types. Check the members afterward.
Does creating a run template start an assessment?
No. Create a run from the template, or set up a schedule that uses it.
Does deleting a group delete its checks?
No. The checks stay in the library.
Was this page helpful?
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"MSPortal.ai Documentation","colors":{"primary":"#0C8376","light":"#15B79E","dark":"#107569"},"logo":{"light":"https://mintcdn.com/msportal/KnbwIXtZSTlVJTt6/logo/light.svg?fit=max\u0026auto=format\u0026n=KnbwIXtZSTlVJTt6\u0026q=85\u0026s=eb69f6d6bf16b2c401770aef19ade1d2","dark":"https://mintcdn.com/msportal/KnbwIXtZSTlVJTt6/logo/dark.svg?fit=max\u0026auto=format\u0026n=KnbwIXtZSTlVJTt6\u0026q=85\u0026s=03f8df7191e7a8ea7da084df57f6107f"},"favicon":"https://mintcdn.com/msportal/KjsKytvp08K0bejm/favicon-16x16.png?fit=max\u0026auto=format\u0026n=KjsKytvp08K0bejm\u0026q=85\u0026s=378df7f039bbff7885231fec799d29ac","navbar":{"links":[{"href":"/release-notes/roadmap","label":"Roadmap"},{"href":"mailto:support@msportal.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.msportal.ai"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/msportal"},"links":[{"header":"Resources","items":[{"label":"MSPortal.ai","href":"https://msportal.ai"},{"label":"Support","href":"mailto:support@msportal.ai"},{"label":"Status","href":"https://status.msportal.ai"}]}]},"fonts":{"family":"Inter"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"msportal","hasAudioNarration":false,"actualSubdomain":"msportal","customDomains":["docs.msportal.ai"],"gitSource":{"type":"github","owner":"msportal-ai","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6af75ae5643517979ab0f116","clientVersion":"0.0.4131","searchFilterCounts":[{"language":"default","tag":"MSP Guides","count":470},{"language":"default","tag":"API Reference","count":433},{"language":"default","tag":"Operations","count":126},{"language":"default","tag":"Planning","count":101},{"language":"default","tag":"Integrations","count":95},{"language":"default","tag":"Projects","count":75},{"language":"default","tag":"Protection","count":59},{"language":"default","tag":"Standards","count":56},{"language":"default","tag":"Client Onboarding","count":48},{"language":"default","tag":"Compliance","count":45}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#page-title{font-size:1.75rem;line-height:2.125rem}#header .prose.text-lg{font-size:1rem;line-height:1.5rem;color:rgb(var(--gray-500))}#content-area .prose{font-size:0.9375rem;line-height:1.6}#content-area .mdx-content{margin-top:1.5rem}#content-area .mdx-content h2{font-size:1.25rem;line-height:1.75rem;margin-top:2.25rem;margin-bottom:0.75rem}#content-area .mdx-content h3{font-size:1.0625rem;line-height:1.5rem;margin-top:1.75rem;margin-bottom:0.5rem}#content-area .mdx-content li{margin-top:0.25em;margin-bottom:0.25em}#content-area .steps{margin-top:1rem}#content-area .step{padding-bottom:0.75rem}#content-area [data-component-part=\"step-title\"]{margin-top:0.25rem;margin-bottom:0.375rem}#content-area [data-component-part=\"accordion-content\"] td,#content-area [data-component-part=\"accordion-content\"] th{min-width:0}@media (max-width: 639px){#content-area [data-component-part=\"accordion-content\"] td:last-child{min-width:16rem}}#content-area [data-table-wrapper]>[data-component-part=\"scroll-area-viewport\"]{-webkit-mask-image:linear-gradient(\n to right,\n transparent 0,\n black min(var(--scroll-area-fade-size), var(--scroll-area-overflow-x-start, 0px)),\n black calc(100% - min(var(--scroll-area-fade-size), var(--scroll-area-overflow-x-end, 0px))),\n transparent 100%\n );mask-image:linear-gradient(\n to right,\n transparent 0,\n black min(var(--scroll-area-fade-size), var(--scroll-area-overflow-x-start, 0px)),\n black calc(100% - min(var(--scroll-area-fade-size), var(--scroll-area-overflow-x-end, 0px))),\n transparent 100%\n )}#content-area [data-table-wrapper]>[data-component-part=\"scroll-area-scrollbar\"][data-has-overflow-x]{opacity:1;pointer-events:auto}#sidebar-content li>a,#sidebar-content li>button{font-size:0.875rem;line-height:1.25rem;padding-top:0.3125rem;padding-bottom:0.3125rem}#sidebar-content li>a span{hyphens:manual}#sidebar-content a.nav-anchor{margin-bottom:0.25rem;font-size:0.875rem}#sidebar-content ul:has(>li>a.nav-anchor){margin-bottom:1rem;padding-bottom:0.5rem;border-bottom:1px solid rgb(var(--gray-100))}.dark #sidebar-content ul:has(>li>a.nav-anchor){border-bottom-color:rgb(255 255 255 / 0.1)}#table-of-contents{font-size:0.8125rem;line-height:1.25rem}#sidebar-content li>a>div:first-child:has(>svg,>img){display:none}:root{--sidebar-width: 16rem}@media (min-width: 1024px){#navbar .max-w-8xl,#body-content{max-width:none}#content-container{max-width:88rem;margin-left:0;padding-left:2.5rem;padding-right:2rem;column-gap:2.5rem;justify-content:space-between}}@media (min-width: 1280px){#content-area{width:calc(100% - 16.5rem);max-width:52rem;margin-left:0}#navbar.is-wide~#body-content #content-container{max-width:none}#navbar.is-wide~#body-content #content-area{width:100%;max-width:none}#table-of-contents-layout{width:14rem;padding-left:0}#table-of-contents{width:14rem}}.roadmap-embed{display:block;border:0;background:transparent;color-scheme:light}.dark .roadmap-embed{color-scheme:dark}#content-area img[width=\"390\"],#content-area img[width=\"780\"]{width:100%!important;max-width:300px!important;height:auto!important;margin-left:auto;margin-right:auto}"}],"page":{"pagePath":"user-guides/settings/compliance","slug":"/user-guides/settings/compliance","pageMetadata":{"title":"Compliance Settings","description":"Build your compliance check library, organize it with folders and groups, and bundle it into run templates","icon":"shield-check","href":"/user-guides/settings/compliance"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Build your compliance check library, organize it with folders and groups, and bundle it into run templates\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Frame,Heading,Note,OptimizedImage,Step,Steps,Tab,Table,Tabs,Tip,Warning}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Compliance Settings is where MSP staff build the checks, groups and run templates used to assess clients. The library is shared across all companies. Company users do not configure it.`}),`\n`,_jsx(Heading,{level:`2`,id:`before-you-start`,children:`Before you start`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The Compliance feature must be available for your account.`}),`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Settings > Compliance`}),`. The tabs you see depend on your permissions and features: `,_jsx(_components.strong,{children:`Checks`}),`, `,_jsx(_components.strong,{children:`Playbooks`}),`, `,_jsx(_components.strong,{children:`Metrics`}),` (needs a Liongard integration), `,_jsx(_components.strong,{children:`Groups`}),`, `,_jsx(_components.strong,{children:`Runs`}),`, `,_jsx(_components.strong,{children:`Schedule`}),`, `,_jsx(_components.strong,{children:`Scoring`}),` and `,_jsx(_components.strong,{children:`Risk`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Permissions differ by action. `,_jsx(_components.strong,{children:`Add Group`}),`, `,_jsx(_components.strong,{children:`New Check`}),`, `,_jsx(_components.strong,{children:`Add New Template`}),` and the `,_jsx(_components.strong,{children:`Schedule`}),` controls need Compliance settings write access. Editing library content needs write access to Compliance. Deleting and approving needs manage access to Compliance. See `,_jsx(_components.a,{href:`#permissions`,children:`Permissions`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Runs`}),` here means reusable run templates, not the history of completed assessments. To run a template on a recurring basis, use `,_jsx(_components.a,{href:`/user-guides/settings/compliance-schedules`,children:`Schedule`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Checks`}),`, `,_jsx(_components.strong,{children:`Groups`}),` and `,_jsx(_components.strong,{children:`Runs`}),` tabs share a split-pane layout. The list is on the left and the detail is on the right. Click the panel icon at the top of the list to collapse it.`]}),`\n`,_jsx(Heading,{level:`2`,id:`organize-checks-in-folders`,children:`Organize checks in folders`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.strong,{children:`Checks`}),` tab lists every check your tenant can use. Folders only organize this settings page. They do not change how checks behave in a run.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Create a folder`,children:_jsxs(_components.p,{children:[`On the `,_jsx(_components.strong,{children:`Checks`}),` tab, click the `,_jsx(_components.strong,{children:`New folder`}),` icon at the top of the `,_jsx(_components.strong,{children:`Compliance checks`}),` list. To nest a folder, open a folder’s menu and click `,_jsx(_components.strong,{children:`New subfolder`}),`.`]})}),_jsx(Step,{title:`Name it`,children:_jsxs(_components.p,{children:[`Enter a name such as “Microsoft 365” or “CIS Controls v8” and click `,_jsx(_components.strong,{children:`Create`}),`.`]})}),_jsx(Step,{title:`Add checks`,children:_jsxs(_components.p,{children:[`Open the folder’s menu and click `,_jsx(_components.strong,{children:`New check here`}),`, or drag existing checks into the folder (see below).`]})})]}),`\n`,_jsxs(_components.p,{children:[`A folder’s menu also has `,_jsx(_components.strong,{children:`Rename`}),` and `,_jsx(_components.strong,{children:`Delete`}),`. Deleting a folder removes its subfolders. Checks inside move to `,_jsx(_components.strong,{children:`Uncategorized`}),`, so no check is lost.`]}),`\n`,_jsx(Heading,{level:`3`,id:`move-checks`,children:`Move checks`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Select the checks`,children:_jsxs(_components.p,{children:[`Click a check to open it on the right. Hold `,_jsx(_components.strong,{children:`Cmd`}),` (macOS) or `,_jsx(_components.strong,{children:`Ctrl`}),` (Windows) and click more checks to add them. Hold `,_jsx(_components.strong,{children:`Shift`}),` and click to select a range. The list shows how many are selected.`]})}),_jsx(Step,{title:`Drag them to a folder`,children:_jsx(_components.p,{children:`Drag any selected check onto a folder. The folder highlights while you hover. Drop to move every selected check at once.`})}),_jsx(Step,{title:`Or use the menu`,children:_jsxs(_components.p,{children:[`For one check, open its `,_jsx(_components.strong,{children:`Check actions`}),` menu and click `,_jsx(_components.strong,{children:`Move to folder`}),`.`]})})]}),`\n`,_jsxs(_components.p,{children:[`To take a check out of a folder, drag it onto `,_jsx(_components.strong,{children:`Uncategorized`}),` at the bottom of the list. If you drag a check that is not in your selection, only that check moves.`]}),`\n`,_jsx(Heading,{level:`3`,id:`search-and-filter`,children:`Search and filter`}),`\n`,_jsxs(_components.p,{children:[`Type in the search box to filter by check title. Folders with matches open automatically. Click the filter icon to filter by `,_jsx(_components.strong,{children:`Approval status`}),`, `,_jsx(_components.strong,{children:`Priority`}),`, `,_jsx(_components.strong,{children:`Criticality`}),`, `,_jsx(_components.strong,{children:`Frequency`}),`, `,_jsx(_components.strong,{children:`Status list`}),` or `,_jsx(_components.strong,{children:`Compliance type`}),`. Click `,_jsx(_components.strong,{children:`Clear all`}),` to reset.`]}),`\n`,_jsx(Heading,{level:`2`,id:`create-a-check`,children:`Create a check`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the new check form`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`New Check`}),` in the page header, or `,_jsx(_components.strong,{children:`New check here`}),` in a folder’s menu. A check made from a folder starts in that folder. Otherwise it starts in `,_jsx(_components.strong,{children:`Uncategorized`}),`.`]})}),_jsx(Step,{title:`Fill in the check`,children:_jsx(_components.p,{children:`Enter the details, such as title, description, criticality, priority, frequency, status list and compliance type.`})}),_jsx(Step,{title:`Save`,children:_jsx(_components.p,{children:`Save the check. It appears in the list.`})})]}),`\n`,_jsxs(_components.p,{children:[`To have AI draft many checks at once, click `,_jsx(_components.strong,{children:`Bulk Generate with AI`}),` in the page header.`]}),`\n`,_jsx(Note,{children:`AI generation and refinement prompts use the same rounded composer as the assistant. Write your instruction, then select the up-arrow to generate or regenerate. Enter sends; Shift+Enter adds a new line. Review the proposed check and save it from the check editor.`}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`AI prompt`,id:`ai-prompt`,children:_jsx(Frame,{caption:`Generate a compliance check with the shared AI composer.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/msportal/ItiKPfs7UzpJwIDO/images/product/compliance-composer-desktop-preview.png?fit=max\u0026auto=format\u0026n=ItiKPfs7UzpJwIDO\u0026q=85\u0026s=a9e90e26c191771dd4fc918cc7b012ed`,alt:`Generate a compliance check with the shared AI composer.`,width:1440,height:960,\"data-og-width\":`1440`,\"data-og-height\":`960`,\"data-path\":`images/product/compliance-composer-desktop-preview.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/msportal/ItiKPfs7UzpJwIDO/images/product/compliance-composer-desktop-preview.png?w=280\u0026fit=max\u0026auto=format\u0026n=ItiKPfs7UzpJwIDO\u0026q=85\u0026s=b8d84064f9f7336f7dd3da82d44ef5d1 280w, https://mintcdn.com/msportal/ItiKPfs7UzpJwIDO/images/product/compliance-composer-desktop-preview.png?w=560\u0026fit=max\u0026auto=format\u0026n=ItiKPfs7UzpJwIDO\u0026q=85\u0026s=680203a4b43fbd6804afeae1cb868f91 560w, https://mintcdn.com/msportal/ItiKPfs7UzpJwIDO/images/product/compliance-composer-desktop-preview.png?w=840\u0026fit=max\u0026auto=format\u0026n=ItiKPfs7UzpJwIDO\u0026q=85\u0026s=ab551095ffc5fee8f36085b38f7e7cac 840w, https://mintcdn.com/msportal/ItiKPfs7UzpJwIDO/images/product/compliance-composer-desktop-preview.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ItiKPfs7UzpJwIDO\u0026q=85\u0026s=c613c8c010875ef0572f80d78718553c 1100w, https://mintcdn.com/msportal/ItiKPfs7UzpJwIDO/images/product/compliance-composer-desktop-preview.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ItiKPfs7UzpJwIDO\u0026q=85\u0026s=81a00ec0c187b77dfbc93c5d16fafc2a 1650w, https://mintcdn.com/msportal/ItiKPfs7UzpJwIDO/images/product/compliance-composer-desktop-preview.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ItiKPfs7UzpJwIDO\u0026q=85\u0026s=ab3ae5d090b64cdda735b38c16c31cdf 2500w`})})}),_jsx(Tab,{title:`Phone prompt`,id:`phone-prompt`,children:_jsx(Frame,{caption:`The same prompt and send arrow on a phone.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/msportal/ItiKPfs7UzpJwIDO/images/product/compliance-composer-mobile-preview.png?fit=max\u0026auto=format\u0026n=ItiKPfs7UzpJwIDO\u0026q=85\u0026s=b81944dd83c917c8a1276484bfcc4045`,alt:`The same prompt and send arrow on a phone.`,width:390,height:844,\"data-og-width\":`390`,\"data-og-height\":`844`,\"data-path\":`images/product/compliance-composer-mobile-preview.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/msportal/ItiKPfs7UzpJwIDO/images/product/compliance-composer-mobile-preview.png?w=280\u0026fit=max\u0026auto=format\u0026n=ItiKPfs7UzpJwIDO\u0026q=85\u0026s=4e288bae071c1ba24ab639149ee72336 280w, https://mintcdn.com/msportal/ItiKPfs7UzpJwIDO/images/product/compliance-composer-mobile-preview.png?w=560\u0026fit=max\u0026auto=format\u0026n=ItiKPfs7UzpJwIDO\u0026q=85\u0026s=0a960324094462e84df43c2ac15c4d82 560w, https://mintcdn.com/msportal/ItiKPfs7UzpJwIDO/images/product/compliance-composer-mobile-preview.png?w=840\u0026fit=max\u0026auto=format\u0026n=ItiKPfs7UzpJwIDO\u0026q=85\u0026s=e6f88168d3d39977cecaa7ec6dc270e5 840w, https://mintcdn.com/msportal/ItiKPfs7UzpJwIDO/images/product/compliance-composer-mobile-preview.png?w=1100\u0026fit=max\u0026auto=format\u0026n=ItiKPfs7UzpJwIDO\u0026q=85\u0026s=a4bf706caa1e0da44561c0c7e12cdb03 1100w, https://mintcdn.com/msportal/ItiKPfs7UzpJwIDO/images/product/compliance-composer-mobile-preview.png?w=1650\u0026fit=max\u0026auto=format\u0026n=ItiKPfs7UzpJwIDO\u0026q=85\u0026s=0a24358608f8c46c544db757a0c03200 1650w, https://mintcdn.com/msportal/ItiKPfs7UzpJwIDO/images/product/compliance-composer-mobile-preview.png?w=2500\u0026fit=max\u0026auto=format\u0026n=ItiKPfs7UzpJwIDO\u0026q=85\u0026s=ed84aa7826fe959fed7887d969f66e0f 2500w`})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`edit-a-check`,children:`Edit a check`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the check`,children:_jsx(_components.p,{children:`Click a check in the list. Its form opens on the right.`})}),_jsx(Step,{title:`Change the fields`,children:_jsxs(_components.p,{children:[`Edit the fields (see the table below). Click `,_jsx(_components.strong,{children:`Improve with AI`}),` to have AI suggest a better description, how-to-check, remediation and references from the title.`]})}),_jsx(Step,{title:`Save`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),` in the form header. A toast says `,_jsx(_components.strong,{children:`Check updated`}),`. If you open another check first, MSPortal asks whether to discard your unsaved changes.`]})})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Section`}),_jsx(_components.th,{children:`Fields`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Identity`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Title`}),`, `,_jsx(_components.strong,{children:`Description`}),`, `,_jsx(_components.strong,{children:`How to Check`}),`, `,_jsx(_components.strong,{children:`Why It’s Important`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Remediation`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Remediation`}),`, `,_jsx(_components.strong,{children:`Remediation Impact`}),`, `,_jsx(_components.strong,{children:`References`}),`, `,_jsx(_components.strong,{children:`Default Value`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Assessment`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Criticality`}),` (Minimal to Critical), `,_jsx(_components.strong,{children:`Priority`}),` (High, Medium, Low), `,_jsx(_components.strong,{children:`Frequency`}),` (Daily to Annually)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Classification`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Status list`}),`, `,_jsx(_components.strong,{children:`Compliance type`}),`, and `,_jsx(_components.strong,{children:`Default risk category`}),` when risk tracking is on`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Note templates by status`}),_jsx(_components.td,{children:`A note template per answer (see below)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Applies to`}),_jsx(_components.td,{children:`Conditions that decide which companies and devices get the check`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Group assignments`}),_jsx(_components.td,{children:`The groups this check belongs to`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Changing the `,_jsx(_components.strong,{children:`Compliance type`}),` can remove group assignments that no longer match when you save. Note-template links and group membership save separately and at once. Cancelling the main form does not undo them. If a save fails partway, such as on custom fields, reopen the check and look at what saved before you retry.`]}),`\n`,_jsxs(_components.p,{children:[`Checks have an approval status: `,_jsx(_components.strong,{children:`Draft`}),`, `,_jsx(_components.strong,{children:`Pending review`}),`, `,_jsx(_components.strong,{children:`Approved`}),` or `,_jsx(_components.strong,{children:`Rejected`}),`. Users with manage access can approve a check from its `,_jsx(_components.strong,{children:`Check actions`}),` menu, or select several and click `,_jsx(_components.strong,{children:`Approve selected`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`link-note-templates-to-answers`,children:`Link note templates to answers`}),`\n`,_jsxs(_components.p,{children:[`Each check uses a `,_jsx(_components.strong,{children:`status list`}),` that defines its answer choices, such as Pass, Fail and Needs review. You can link a note template to each answer. When an assessor picks that answer in a run, the template text is added to their public notes.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Choose a status list`,children:_jsxs(_components.p,{children:[`In the check form, pick a `,_jsx(_components.strong,{children:`Status list`}),`. The `,_jsx(_components.strong,{children:`Note templates by status`}),` section appears. Save the check so the status list is stored.`]})}),_jsx(Step,{title:`Pick a template for each answer`,children:_jsxs(_components.p,{children:[`Choose a note template for each answer you want filled in. Leave the others on `,_jsx(_components.strong,{children:`No template`}),`. Each choice saves at once. `,_jsx(_components.strong,{children:`Clear template`}),` removes a link.`]})}),_jsx(Step,{title:`Assessor picks the answer`,children:_jsx(_components.p,{children:`In a run, when the assessor picks an answer with a linked template, the template text is added under any existing public notes, after a blank line.`})})]}),`\n`,_jsxs(_components.p,{children:[`Only templates in the `,_jsx(_components.strong,{children:`Compliance Check Note`}),` category appear. Create them in `,_jsx(_components.strong,{children:`Settings > Customization > Note Templates`}),` first. See `,_jsx(_components.a,{href:`/user-guides/settings/templates`,children:`Note Templates`}),`. The template is applied once per answer and template in a session, so switching between answers does not repeat it.`]}),`\n`,_jsx(Heading,{level:`3`,id:`choose-which-companies-and-devices-get-a-check`,children:`Choose which companies and devices get a check`}),`\n`,_jsxs(_components.p,{children:[`By default a check goes to every company, location or device a run covers. Add conditions under `,_jsx(_components.strong,{children:`Applies to`}),` to narrow it. For example, send a FileVault check only to Macs, and a HIPAA check only to healthcare clients.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Add a condition`,children:_jsxs(_components.p,{children:[`Scroll to `,_jsx(_components.strong,{children:`Applies to`}),` and click `,_jsx(_components.strong,{children:`Add condition`}),`. Choose the `,_jsx(_components.strong,{children:`Condition`}),`, a `,_jsx(_components.strong,{children:`Comparison`}),` such as `,_jsx(_components.strong,{children:`is any of`}),`, and the `,_jsx(_components.strong,{children:`Value`}),`.`]})}),_jsx(Step,{title:`Combine conditions`,children:_jsxs(_components.p,{children:[`With two or more conditions, choose whether the check applies when `,_jsx(_components.strong,{children:`all conditions match`}),` or `,_jsx(_components.strong,{children:`any condition matches`}),`.`]})}),_jsx(Step,{title:`Save`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Save`}),` in the check header. A toast says `,_jsx(_components.strong,{children:`Conditions saved`}),`. New runs, and checks added to runs, use the conditions. Existing assignments stay as they are.`]})})]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Condition`}),_jsx(_components.th,{children:`Tests`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Company computer platforms`})}),_jsxs(_components.td,{children:[`The company’s active computers: `,_jsx(_components.strong,{children:`PCs`}),`, `,_jsx(_components.strong,{children:`Macs`}),` or `,_jsx(_components.strong,{children:`PCs and Macs`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Company device types`})}),_jsxs(_components.td,{children:[`The company’s active device types, with `,_jsx(_components.strong,{children:`has any of`}),` and `,_jsx(_components.strong,{children:`has none of`})]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Industry`}),`, `,_jsx(_components.strong,{children:`Company type`}),`, `,_jsx(_components.strong,{children:`Standards tier`})]}),_jsx(_components.td,{children:`The company’s industry, PSA company type, or the Standards tier mapped to its company type`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Company fields`})}),_jsxs(_components.td,{children:[`Any company custom field. Dates use `,_jsx(_components.strong,{children:`is on`}),`, `,_jsx(_components.strong,{children:`is after`}),` and `,_jsx(_components.strong,{children:`is before`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Operating system`})}),_jsxs(_components.td,{children:[`The device’s OS family, such as `,_jsx(_components.strong,{children:`Windows`}),`, `,_jsx(_components.strong,{children:`Windows Server`}),`, `,_jsx(_components.strong,{children:`macOS`}),` or `,_jsx(_components.strong,{children:`Linux`})]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Device type`}),`, `,_jsx(_components.strong,{children:`Manufacturer`}),`, `,_jsx(_components.strong,{children:`RMM`})]}),_jsx(_components.td,{children:`The device’s type, manufacturer and source RMM`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Device conditions apply only to checks with the `,_jsx(_components.strong,{children:`Device`}),` compliance type. Company, location and control checks use their company conditions and skip device conditions. You can add a limited number of conditions per check.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`A company or device with no value for a condition still gets the check. To skip records with no value, use `,_jsx(_components.strong,{children:`is empty`}),` or `,_jsx(_components.strong,{children:`is not empty`}),`. For example, add `,_jsx(_components.strong,{children:`Operating system is not empty`}),` to skip devices whose OS is unknown.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`delete-checks`,children:`Delete checks`}),`\n`,_jsxs(_components.p,{children:[`Open a check’s `,_jsx(_components.strong,{children:`Check actions`}),` menu and click `,_jsx(_components.strong,{children:`Delete`}),`, or select several checks and click `,_jsx(_components.strong,{children:`Delete selected`}),`. Both need manage access. Deleting is permanent and removes the check from every group it was in.`]}),`\n`,_jsx(Heading,{level:`2`,id:`build-groups`,children:`Build groups`}),`\n`,_jsx(_components.p,{children:`Groups bundle related checks so you can add a whole set to a run at once. A check can be in any number of groups.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Groups tab`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Settings > Compliance`}),` and click `,_jsx(_components.strong,{children:`Groups`}),`. The list on the left shows every group. Search by name, or filter by compliance type.`]})}),_jsx(Step,{title:`Click Add Group`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Add Group`}),` in the page header, or the `,_jsx(_components.strong,{children:`+`}),` icon at the top of the list.`]})}),_jsx(Step,{title:`Fill in the details`,children:_jsxs(_components.p,{children:[`Enter a `,_jsx(_components.strong,{children:`Name`}),` and an optional description. Choose a `,_jsx(_components.strong,{children:`Compliance type`}),`. If you pick one, only checks of that type can be added. Choose `,_jsx(_components.strong,{children:`None (any type)`}),` to allow any check. For a Device group, also pick `,_jsx(_components.strong,{children:`Device types`}),`. Devices of those types are evaluated against the group’s checks.`]})}),_jsx(Step,{title:`Create`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create`}),`. The group appears in the list and opens on the right.`]})})]}),`\n`,_jsx(Frame,{caption:`New group is an unsaved draft. Choose the compliance type before you create it. Adding checks is a separate step.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/msportal/LUe1Ix2pDHU7mVmf/images/product/compliance-group-create-draft.png?fit=max\u0026auto=format\u0026n=LUe1Ix2pDHU7mVmf\u0026q=85\u0026s=f8d391da3abe06c7348d753638eab9f1`,alt:`New group dialog with name, description and compliance type fields and Cancel/Create controls.`,width:`960`,height:`856`,\"data-og-width\":`960`,\"data-og-height\":`856`,\"data-path\":`images/product/compliance-group-create-draft.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/msportal/LUe1Ix2pDHU7mVmf/images/product/compliance-group-create-draft.png?w=280\u0026fit=max\u0026auto=format\u0026n=LUe1Ix2pDHU7mVmf\u0026q=85\u0026s=08a65b7691c939ecaabfbdda5fe95bd5 280w, https://mintcdn.com/msportal/LUe1Ix2pDHU7mVmf/images/product/compliance-group-create-draft.png?w=560\u0026fit=max\u0026auto=format\u0026n=LUe1Ix2pDHU7mVmf\u0026q=85\u0026s=bce8a0a16dfccfad13528b1f99bafdfb 560w, https://mintcdn.com/msportal/LUe1Ix2pDHU7mVmf/images/product/compliance-group-create-draft.png?w=840\u0026fit=max\u0026auto=format\u0026n=LUe1Ix2pDHU7mVmf\u0026q=85\u0026s=9e64e3fc76d2d9fb1fd784a061f81614 840w, https://mintcdn.com/msportal/LUe1Ix2pDHU7mVmf/images/product/compliance-group-create-draft.png?w=1100\u0026fit=max\u0026auto=format\u0026n=LUe1Ix2pDHU7mVmf\u0026q=85\u0026s=7a0e70c04c26cccecda3e3e610cbe1ab 1100w, https://mintcdn.com/msportal/LUe1Ix2pDHU7mVmf/images/product/compliance-group-create-draft.png?w=1650\u0026fit=max\u0026auto=format\u0026n=LUe1Ix2pDHU7mVmf\u0026q=85\u0026s=9df3d73e3687b52ae8cae63c73e08d5b 1650w, https://mintcdn.com/msportal/LUe1Ix2pDHU7mVmf/images/product/compliance-group-create-draft.png?w=2500\u0026fit=max\u0026auto=format\u0026n=LUe1Ix2pDHU7mVmf\u0026q=85\u0026s=7f01138b24b714d737d7ed73d305b161 2500w`})}),`\n`,_jsx(_components.p,{children:`If the device-type update fails after the group saves, reopen the group and check what saved before you retry.`}),`\n`,_jsx(Heading,{level:`3`,id:`add-and-remove-checks`,children:`Add and remove checks`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Find the checks`,children:_jsxs(_components.p,{children:[`The group page has two columns, `,_jsx(_components.strong,{children:`Available checks`}),` on the left and `,_jsx(_components.strong,{children:`Members`}),` on the right. Each column has its own search box. Click a check to select it. Hold `,_jsx(_components.strong,{children:`Cmd`}),` or `,_jsx(_components.strong,{children:`Ctrl`}),` to add more, or `,_jsx(_components.strong,{children:`Shift`}),` to select a range.`]})}),_jsx(Step,{title:`Drag them across`,children:_jsxs(_components.p,{children:[`Drag from `,_jsx(_components.strong,{children:`Available checks`}),` to `,_jsx(_components.strong,{children:`Members`}),` to add. Drag from `,_jsx(_components.strong,{children:`Members`}),` to `,_jsx(_components.strong,{children:`Available checks`}),` to remove. A toast says how many were added or removed. Each move saves at once, so wait for the toast before the next one.`]})})]}),`\n`,_jsxs(_components.p,{children:[`If the group has a compliance type, only matching checks appear under `,_jsx(_components.strong,{children:`Available checks`}),`. Clear the type to see all checks.`]}),`\n`,_jsx(Heading,{level:`3`,id:`edit-or-delete-a-group`,children:`Edit or delete a group`}),`\n`,_jsxs(_components.p,{children:[`Use the `,_jsx(_components.strong,{children:`Edit group`}),` and `,_jsx(_components.strong,{children:`Delete`}),` buttons in the group header, or the menu on a list row. Deleting a group does not delete its checks. Deleting needs manage access.`]}),`\n`,_jsx(Heading,{level:`2`,id:`build-run-templates`,children:`Build run templates`}),`\n`,_jsx(_components.p,{children:`A run template bundles groups and individual checks into a reusable assessment package. A run made from the template assigns every check in each member group, plus each individual check.`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Runs tab`,children:_jsxs(_components.p,{children:[`Go to `,_jsx(_components.strong,{children:`Settings > Compliance`}),` and click `,_jsx(_components.strong,{children:`Runs`}),`. The list shows each template with its group and check counts. Filter by `,_jsx(_components.strong,{children:`All templates`}),`, `,_jsx(_components.strong,{children:`Active only`}),` or `,_jsx(_components.strong,{children:`Inactive only`}),`.`]})}),_jsx(Step,{title:`Click Add New Template`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Add New Template`}),` in the page header, or the `,_jsx(_components.strong,{children:`+`}),` icon at the top of the list.`]})}),_jsx(Step,{title:`Fill in the basics`,children:_jsxs(_components.p,{children:[`Enter a `,_jsx(_components.strong,{children:`Name`}),` (for example, “Quarterly security review”), an optional `,_jsx(_components.strong,{children:`Description`}),` and the `,_jsx(_components.strong,{children:`Active`}),` switch. Inactive templates stay in this list but are left out of the schedule’s template list.`]})}),_jsx(Step,{title:`Create`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Create`}),`. The template opens on the right with empty `,_jsx(_components.strong,{children:`Groups`}),` and `,_jsx(_components.strong,{children:`Individual checks`}),` tabs.`]})})]}),`\n`,_jsx(Frame,{caption:`New template starts with Active on. Create saves the template. Add groups and checks afterward.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/msportal/LUe1Ix2pDHU7mVmf/images/product/compliance-run-template-create-draft.png?fit=max\u0026auto=format\u0026n=LUe1Ix2pDHU7mVmf\u0026q=85\u0026s=d2c7d3482686ba9ad52dfa25a7be407e`,alt:`New template dialog with name, description, Active switch and Cancel/Create controls.`,width:`960`,height:`772`,\"data-og-width\":`960`,\"data-og-height\":`772`,\"data-path\":`images/product/compliance-run-template-create-draft.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/msportal/LUe1Ix2pDHU7mVmf/images/product/compliance-run-template-create-draft.png?w=280\u0026fit=max\u0026auto=format\u0026n=LUe1Ix2pDHU7mVmf\u0026q=85\u0026s=26d4db2da20e7c72191b22ca31932c0d 280w, https://mintcdn.com/msportal/LUe1Ix2pDHU7mVmf/images/product/compliance-run-template-create-draft.png?w=560\u0026fit=max\u0026auto=format\u0026n=LUe1Ix2pDHU7mVmf\u0026q=85\u0026s=f7dc5370d2fe604ec1a891f16333b4d3 560w, https://mintcdn.com/msportal/LUe1Ix2pDHU7mVmf/images/product/compliance-run-template-create-draft.png?w=840\u0026fit=max\u0026auto=format\u0026n=LUe1Ix2pDHU7mVmf\u0026q=85\u0026s=5dc31b459e4333de57f08dc19144f3a4 840w, https://mintcdn.com/msportal/LUe1Ix2pDHU7mVmf/images/product/compliance-run-template-create-draft.png?w=1100\u0026fit=max\u0026auto=format\u0026n=LUe1Ix2pDHU7mVmf\u0026q=85\u0026s=fd05420993e956917aabaa9174b281ef 1100w, https://mintcdn.com/msportal/LUe1Ix2pDHU7mVmf/images/product/compliance-run-template-create-draft.png?w=1650\u0026fit=max\u0026auto=format\u0026n=LUe1Ix2pDHU7mVmf\u0026q=85\u0026s=349ae606cf0a2ef0dfdbb594286d4a1d 1650w, https://mintcdn.com/msportal/LUe1Ix2pDHU7mVmf/images/product/compliance-run-template-create-draft.png?w=2500\u0026fit=max\u0026auto=format\u0026n=LUe1Ix2pDHU7mVmf\u0026q=85\u0026s=f44f7bce9aa1aedc4372c3f079b91921 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`add-groups-and-checks-to-a-template`,children:`Add groups and checks to a template`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the Groups tab`,children:_jsxs(_components.p,{children:[`On the template, click `,_jsx(_components.strong,{children:`Groups`}),`. `,_jsx(_components.strong,{children:`Available groups`}),` is on the left and `,_jsx(_components.strong,{children:`Groups in this template`}),` on the right.`]})}),_jsx(Step,{title:`Drag groups across`,children:_jsxs(_components.p,{children:[`Drag groups into `,_jsx(_components.strong,{children:`Groups in this template`}),` to add them. Every check in those groups runs whenever the template is used. Drag them back to remove them.`]})}),_jsx(Step,{title:`Add individual checks (optional)`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Individual checks`}),` for one-off checks that are not in a group. They run in addition to the groups. The drag and drop works the same way.`]})})]}),`\n`,_jsx(_components.p,{children:`Group and check moves save at once. Cancelling the template’s edit dialog does not undo them. Groups and individual checks are independent, so you can use either or both.`}),`\n`,_jsx(Heading,{level:`3`,id:`activate-edit-or-delete-a-template`,children:`Activate, edit or delete a template`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Use the `,_jsx(_components.strong,{children:`Active`}),` switch in the template header, or `,_jsx(_components.strong,{children:`Activate`}),` and `,_jsx(_components.strong,{children:`Deactivate`}),` in the row menu. It saves at once. Turning a template off does not pause schedules that use it, so check your schedules separately.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Edit template`}),` opens the name, description and active dialog.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Delete`}),` removes the template. Runs already created from it are not affected. Deleting needs manage access.`]}),`\n`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Deleting a run template does not stop or change runs already created. It only prevents new runs from it.`})}),`\n`,_jsx(Heading,{level:`2`,id:`schedule-scoring-and-risk`,children:`Schedule, scoring and risk`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/user-guides/settings/compliance-schedules`,children:`Schedule assessments`}),`: choose an active run template, targets and a recurrence. New schedules target all companies by default.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/user-guides/settings/compliance-scoring`,children:`Configure Compliance Scoring`}),`: edit weights and grade thresholds, then click `,_jsx(_components.strong,{children:`Save Changes`}),`. `,_jsx(_components.strong,{children:`Reset to Defaults`}),` saves the defaults at once.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/user-guides/settings/compliance-risk`,children:`Configure risk tracking`}),`: turn on the register and keep your categories.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/user-guides/settings/playbooks`,children:`Playbooks`}),`: import library content before assigning it to companies.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/user-guides/compliance/liongard-metrics`,children:`Liongard Metrics`}),`: provider-backed metrics when Liongard is connected.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`permissions`,children:`Permissions`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Action`}),_jsx(_components.th,{children:`Required permission`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Open a tab`}),_jsx(_components.td,{children:`The matching Compliance settings read permission, and the Compliance feature`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`View checks, groups and templates`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`read_compliance`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Create, edit, move, add and remove members`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`write_compliance`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Delete checks, groups or templates, and approve checks`}),_jsx(_components.td,{children:_jsx(_components.strong,{children:`manage_compliance`})})]})]})]}),`\n`,_jsxs(_components.p,{children:[`The page header buttons (`,_jsx(_components.strong,{children:`New Check`}),`, `,_jsx(_components.strong,{children:`Bulk Generate with AI`}),`, `,_jsx(_components.strong,{children:`Add Group`}),`, `,_jsx(_components.strong,{children:`Add New Template`}),`) and the `,_jsx(_components.strong,{children:`Schedule`}),` controls need Compliance settings write access. Scoring and risk changes need Compliance settings manage access.`]}),`\n`,_jsx(Heading,{level:`2`,id:`keyboard-and-mouse-reference`,children:`Keyboard and mouse reference`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Action`}),_jsx(_components.th,{children:`How`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Open a check, group or template`}),_jsx(_components.td,{children:`Click the row`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Select several`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Cmd/Ctrl + Click`}),` more rows`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Select a range`}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Shift + Click`}),` a second row`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Clear a selection`}),_jsxs(_components.td,{children:[`Click `,_jsx(_components.strong,{children:`Clear`}),`, or click a row without a modifier`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Move items`}),_jsx(_components.td,{children:`Drag selected rows. Drop targets highlight`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Collapse the list`}),_jsx(_components.td,{children:`Click the panel icon at the top of the list`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`best-practices`,children:`Best practices`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Start with folders.`}),` Organize checks by framework (CIS, NIST, SOC 2) or domain (Microsoft 365, networking) before the library grows.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Use note templates for repeated findings.`}),` Link a template to the Fail answer once instead of typing it every assessment.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Set a compliance type on groups.`}),` It stops mismatched checks being added.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Build templates from groups.`}),` They are easier to maintain than long lists of single checks.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Deactivate, do not delete.`}),` Turn a template off with its `,_jsx(_components.strong,{children:`Active`}),` switch to keep its history and keep pickers short.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Problem`}),_jsx(_components.th,{children:`What to do`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`A tab is missing`}),_jsxs(_components.td,{children:[`You lack that tab’s permission, or the feature is off. `,_jsx(_components.strong,{children:`Metrics`}),` also needs a Liongard integration`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`New Check`}),`, `,_jsx(_components.strong,{children:`Add Group`}),` or `,_jsx(_components.strong,{children:`Add New Template`}),` is disabled`]}),_jsx(_components.td,{children:`You need Compliance settings write access`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`I cannot delete or approve`}),_jsx(_components.td,{children:`These need manage access to Compliance`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`A check will not save`}),_jsxs(_components.td,{children:[`Read the error under `,_jsx(_components.strong,{children:`Couldn’t save check`}),`. If conditions are incomplete, finish or remove them first`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`A note template is missing from the list`}),_jsxs(_components.td,{children:[`Only templates in the `,_jsx(_components.strong,{children:`Compliance Check Note`}),` category show`]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[`A check is missing from `,_jsx(_components.strong,{children:`Available checks`})]}),_jsx(_components.td,{children:`The group has a compliance type that the check does not match. Clear the type or change the check’s type`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`A template is missing from the schedule`}),_jsxs(_components.td,{children:[`The template is inactive. Turn on `,_jsx(_components.strong,{children:`Active`})]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`related-guides`,children:`Related guides`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/user-guides/compliance/index`,children:`Compliance module`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/user-guides/settings/templates`,children:`Note Templates`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/user-guides/settings/playbooks`,children:`Playbooks`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/user-guides/compliance/adding-cis-benchmarks`,children:`Adding CIS Benchmarks`})}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`frequently-asked-questions`,children:`Frequently asked questions`}),`\n`,_jsxs(AccordionGroup,{children:[_jsx(Accordion,{title:`Does Runs show completed company assessments?`,id:`does-runs-show-completed-company-assessments`,children:_jsxs(_components.p,{children:[`No. `,_jsx(_components.strong,{children:`Runs`}),` here holds reusable templates. See completed assessments in the Compliance workspace.`]})}),_jsx(Accordion,{title:`Does cancelling a check discard note-template link changes?`,id:`does-cancelling-a-check-discard-note-template-link-changes`,children:_jsx(_components.p,{children:`No. Each link saves at once, separately from the check’s fields.`})}),_jsx(Accordion,{title:`Do group and template moves wait for a Save?`,id:`do-group-and-template-moves-wait-for-a-save`,children:_jsx(_components.p,{children:`No. Each drag between columns saves at once.`})}),_jsx(Accordion,{title:`Does turning off a template pause its schedules?`,id:`does-turning-off-a-template-pause-its-schedules`,children:_jsx(_components.p,{children:`No. Check your schedules separately. An inactive template is left out of the schedule’s template list.`})}),_jsx(Accordion,{title:`Does changing a group's type change its membership?`,id:`does-changing-a-groups-type-change-its-membership`,children:_jsx(_components.p,{children:`It can. Only checks of the matching type stay eligible, and a Device group also uses its device types. Check the members afterward.`})}),_jsx(Accordion,{title:`Does creating a run template start an assessment?`,id:`does-creating-a-run-template-start-an-assessment`,children:_jsx(_components.p,{children:`No. Create a run from the template, or set up a schedule that uses it.`})}),_jsx(Accordion,{title:`Does deleting a group delete its checks?`,id:`does-deleting-a-group-delete-its-checks`,children:_jsx(_components.p,{children:`No. The checks stay in the library.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Compliance Settings","description":"Build your compliance check library, organize it with folders and groups, and bundle it into run templates","icon":"shield-check","href":"/user-guides/settings/compliance"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Before you start","slug":"before-you-start","depth":2,"children":[]},{"title":"Organize checks in folders","slug":"organize-checks-in-folders","depth":2,"children":[{"title":"Move checks","slug":"move-checks","depth":3,"children":[]},{"title":"Search and filter","slug":"search-and-filter","depth":3,"children":[]}]},{"title":"Create a check","slug":"create-a-check","depth":2,"children":[]},{"title":"Edit a check","slug":"edit-a-check","depth":2,"children":[{"title":"Link note templates to answers","slug":"link-note-templates-to-answers","depth":3,"children":[]},{"title":"Choose which companies and devices get a check","slug":"choose-which-companies-and-devices-get-a-check","depth":3,"children":[]},{"title":"Delete checks","slug":"delete-checks","depth":3,"children":[]}]},{"title":"Build groups","slug":"build-groups","depth":2,"children":[{"title":"Add and remove checks","slug":"add-and-remove-checks","depth":3,"children":[]},{"title":"Edit or delete a group","slug":"edit-or-delete-a-group","depth":3,"children":[]}]},{"title":"Build run templates","slug":"build-run-templates","depth":2,"children":[{"title":"Add groups and checks to a template","slug":"add-groups-and-checks-to-a-template","depth":3,"children":[]},{"title":"Activate, edit or delete a template","slug":"activate-edit-or-delete-a-template","depth":3,"children":[]}]},{"title":"Schedule, scoring and risk","slug":"schedule-scoring-and-risk","depth":2,"children":[]},{"title":"Permissions","slug":"permissions","depth":2,"children":[]},{"title":"Keyboard and mouse reference","slug":"keyboard-and-mouse-reference","depth":2,"children":[]},{"title":"Best practices","slug":"best-practices","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Related guides","slug":"related-guides","depth":2,"children":[]},{"title":"Frequently asked questions","slug":"frequently-asked-questions","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/msportal/d65dc731b8cde0aa/roadmap-embed.js"],"subdomain":"msportal","siteName":"MSPortal.ai Documentation","title":"Compliance Settings - MSPortal.ai Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T18:56:36.527Z","originalFileLocation":"user-guides/settings/compliance.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Build your compliance check library, organize it with folders and groups, and bundle it into run templates\">\u003cmeta data-mint-head name=\"application-name\" content=\"MSPortal.ai Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Compliance Settings - MSPortal.ai Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Build your compliance check library, organize it with folders and groups, and bundle it into run templates\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MSPortal.ai Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.msportal.ai/user-guides/settings/compliance\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://msportal.mintlify.site/_mintlify/api/og/v2?division=Settings\u0026amp;title=Compliance+Settings\u0026amp;description=Build+your+compliance+check+library%2C+organize+it+with+folders+and+groups%2C+and+bundle+it+into+run+templates\u0026amp;theme=88706d4dcbb07b7aeafbf701\u0026amp;signature=7614fe2d9e45d27c15bc5a46c9e3b07c3f84357a4aa473eb9022f93f00ec8f93\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Compliance Settings - MSPortal.ai Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Build your compliance check library, organize it with folders and groups, and bundle it into run templates\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://msportal.mintlify.site/_mintlify/api/og/v2?division=Settings\u0026amp;title=Compliance+Settings\u0026amp;description=Build+your+compliance+check+library%2C+organize+it+with+folders+and+groups%2C+and+bundle+it+into+run+templates\u0026amp;theme=88706d4dcbb07b7aeafbf701\u0026amp;signature=7614fe2d9e45d27c15bc5a46c9e3b07c3f84357a4aa473eb9022f93f00ec8f93\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/msportal/MdEo74vho503Sp8Y/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MSPortal.ai Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0C8376\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.msportal.ai/user-guides/settings/compliance\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/user-guides/settings/compliance.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.msportal.ai/#organization\",\"name\":\"MSPortal.ai Documentation\",\"url\":\"https://docs.msportal.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/msportal/KnbwIXtZSTlVJTt6/logo/light.svg?fit=max\u0026auto=format\u0026n=KnbwIXtZSTlVJTt6\u0026q=85\u0026s=eb69f6d6bf16b2c401770aef19ade1d2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.msportal.ai#website\",\"name\":\"MSPortal.ai Documentation\",\"url\":\"https://docs.msportal.ai\",\"publisher\":{\"@id\":\"https://docs.msportal.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.msportal.ai/user-guides/settings/compliance#webpage\",\"url\":\"https://docs.msportal.ai/user-guides/settings/compliance\",\"name\":\"Compliance Settings\",\"description\":\"Build your compliance check library, organize it with folders and groups, and bundle it into run templates\",\"dateModified\":\"2026-11-12T18:56:36.527Z\",\"isPartOf\":{\"@id\":\"https://docs.msportal.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.msportal.ai/user-guides/settings/compliance#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.msportal.ai/user-guides/settings/compliance#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Settings\",\"item\":\"https://docs.msportal.ai/user-guides/settings\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Compliance Settings\",\"item\":\"https://docs.msportal.ai/user-guides/settings/compliance\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.msportal.ai/user-guides/settings/compliance#article\",\"headline\":\"Compliance Settings\",\"name\":\"Compliance Settings\",\"description\":\"Build your compliance check library, organize it with folders and groups, and bundle it into run templates\",\"url\":\"https://docs.msportal.ai/user-guides/settings/compliance\",\"mainEntityOfPage\":{\"@id\":\"https://docs.msportal.ai/user-guides/settings/compliance#webpage\"},\"dateModified\":\"2026-11-12T18:56:36.527Z\",\"publisher\":{\"@id\":\"https://docs.msportal.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.msportal.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MSPortal.ai Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"MSPortal.ai Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/user-guides/settings/compliance.md","siteName":"MSPortal.ai Documentation","nav":{"global":null,"tabs":[{"tab":"Company Guides","pages":[{"title":"Company Guides","href":"/user-guides/account/manage-your-profile"}]},{"tab":"MSP Guides","anchors":[{"anchor":"Getting started","icon":"rocket","pages":[{"title":"Getting started","href":"/user-guides/getting-started"}]},{"anchor":"Planning","icon":"compass","pages":[{"title":"Planning","href":"/user-guides/company-overview"}]},{"anchor":"Operations","icon":"briefcase","pages":[{"title":"Operations","href":"/user-guides/client-onboarding"}]},{"anchor":"Protection","icon":"shield-halved","pages":[{"title":"Protection","href":"/user-guides/cloud"}]},{"anchor":"MSP Tools","icon":"toolbox","pages":[{"title":"MSP Tools","href":"/user-guides/msp-tools"}]},{"anchor":"Administration","icon":"gear","groups":[{"group":"Settings","pages":[{"title":"Settings overview","icon":"gear","href":"/user-guides/settings"},{"title":"Users \u0026 Roles","icon":"users","href":"/user-guides/settings/users-roles"},{"title":"Global Team Roles","icon":"users","href":"/user-guides/settings/global-team-roles"},{"title":"Change a Company user’s permissions","icon":"user-shield","href":"/user-guides/settings/change-company-user-permissions"},{"title":"Give a parent-company user access to child companies","sidebarTitle":"Parent-company access","icon":"sitemap","href":"/user-guides/settings/parent-company-access"},{"title":"Custom Fields","icon":"table-list","href":"/user-guides/settings/custom-fields"},{"title":"Companies Settings","icon":"building","href":"/user-guides/settings/companies"},{"title":"Project Settings","icon":"gear","href":"/user-guides/settings/projects"},{"title":"Planner settings","icon":"table-cells-large","href":"/user-guides/settings/planner-views"},{"title":"Training settings","icon":"graduation-cap","href":"/user-guides/settings/training"},{"title":"Ticket settings","icon":"ticket","href":"/user-guides/settings/tickets"},{"title":"Co-managed support","description":"Let a client's own IT team see and work the tickets you share with them: flag their role, name the co-managed queue, and give them a dashboard.","icon":"handshake","href":"/user-guides/settings/comanaged-support"},{"title":"Compliance Settings","icon":"shield-check","href":"/user-guides/settings/compliance"},{"title":"Schedule compliance assessments","description":"Choose a run template, target companies and recurrence, then manage the saved schedule.","icon":"calendar","href":"/user-guides/settings/compliance-schedules"},{"title":"Configure compliance scoring","icon":"sliders","href":"/user-guides/settings/compliance-scoring"},{"title":"Configure risk tracking and categories","icon":"shield-alert","href":"/user-guides/settings/compliance-risk"},{"title":"Playbook settings","icon":"book","href":"/user-guides/settings/playbooks"},{"title":"External Resources Settings","icon":"link","href":"/user-guides/settings/external"},{"title":"Onboarding Settings","icon":"clipboard-check","href":"/user-guides/settings/onboarding"},{"title":"Note templates","icon":"file-lines","href":"/user-guides/settings/templates"},{"title":"Email settings","icon":"envelope","href":"/user-guides/settings/email"},{"title":"Client Health scoring settings","icon":"heart-pulse","href":"/user-guides/settings/scoring"},{"title":"Traffic Light settings","icon":"traffic-light","href":"/user-guides/settings/traffic-light-settings"},{"title":"Manage the Standards catalog","icon":"wrench","href":"/user-guides/settings/standards"},{"title":"Configure Standards tiers and deployment options","icon":"layer-group","href":"/user-guides/settings/standards-tiers"},{"title":"Choose which Standards apply","icon":"filter","href":"/user-guides/settings/standards-applicability"},{"title":"Use PSA billing to answer Standards","icon":"tags","href":"/user-guides/settings/standards-sku-automation"},{"title":"Sync Standards to companies","icon":"arrows-rotate","href":"/user-guides/settings/sync-standards"},{"title":"Retire Standards definitions","icon":"trash-can","href":"/user-guides/settings/retire-standards"},{"title":"Financial Reporting Settings","icon":"dollar-sign","href":"/user-guides/settings/financial-reporting"},{"title":"Integrations Settings","icon":"plug","href":"/user-guides/settings/integrations"},{"title":"Integration Company Mapping","icon":"diagram-project","href":"/user-guides/settings/integration-company-mapping"},{"title":"Liongard Documentation Visibility","icon":"radar","href":"/user-guides/settings/liongard-visibility"},{"group":"Automation","expanded":false,"pages":[{"title":"Automation Rules","icon":"robot","href":"/user-guides/settings/automation/index"},{"title":"Rule Wizard Walkthrough","icon":"list-check","href":"/user-guides/settings/automation/wizard"},{"title":"Bundling Automation Matches","icon":"layer-group","href":"/user-guides/settings/automation/bundling"},{"title":"Example Automation Rules","icon":"book-open","href":"/user-guides/settings/automation/examples"}]},{"title":"Import and export data","icon":"file-import","href":"/user-guides/settings/import-export"},{"title":"Tenant Settings","icon":"building-columns","href":"/user-guides/settings/tenant"},{"title":"Billing settings","icon":"credit-card","href":"/user-guides/settings/billing"}]},{"group":"Playbooks","pages":[{"title":"Use playbooks to prepare compliance reviews","icon":"book","href":"/user-guides/playbooks/index"}]}]},{"anchor":"Integrations","icon":"plug","pages":[{"title":"Integrations","href":"/user-guides/integrations"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/budgets/list-budgets"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes"}]}]},"basePath":"","title":"Compliance Settings - MSPortal.ai Documentation","buildId":"dpl_5joLUXmnJgwqjrHAS4dxZrQTdxgh","deploymentId":"dpl_5joLUXmnJgwqjrHAS4dxZrQTdxgh","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-B_503rGq.js","DynamicMarkdown-BfddVCX7.js","zoom-image-lightbox-B3yYlvdS.js","lightbox-handle-r17bVUz3.js"]}