gitextract_kqmo_ow_/ ├── .gitattributes ├── .github/ │ └── FUNDING.yml ├── .gitignore ├── LICENSE.md ├── Manifest.json ├── ModernWorkplaceConcierge/ │ ├── App_Start/ │ │ ├── BundleConfig.cs │ │ ├── FilterConfig.cs │ │ ├── RouteConfig.cs │ │ ├── Startup.Auth.cs │ │ └── WebApiConfig.cs │ ├── ApplicationInsights.config │ ├── Connected Services/ │ │ └── Application Insights/ │ │ └── ConnectedService.json │ ├── Content/ │ │ ├── Images/ │ │ │ └── icons.json │ │ ├── MwConciergeSignalR.js │ │ ├── PolicySets/ │ │ │ ├── Bare minimum/ │ │ │ │ ├── 100 - RING - Admin protection - All apps Require MFA For M365 admins.json │ │ │ │ ├── 104 - RING - Admin protection - Privileged systems Require MFA.json │ │ │ │ ├── 200 - RING - Base protection - All apps Require MFA or trusted device or trusted location.json │ │ │ │ ├── 201 - RING - Base protection - Register security information Require MFA or trusted device or trusted location For internal users.json │ │ │ │ ├── 300 - RING - Attack surface reduction - All apps Block access When using legacy authentication.json │ │ │ │ └── 301 - RING - Attack surface reduction - All apps Block access When using active sync.json │ │ │ ├── Device trust with AADP1/ │ │ │ │ ├── 100 - RING - Admin protection - All apps Require MFA For M365 admins.json │ │ │ │ ├── 101 - RING - Admin protection - All apps Require trusted device For M365 admins.json │ │ │ │ ├── 102 - RING - Admin protection - All apps Require trusted location For M365 admins.json │ │ │ │ ├── 104 - RING - Admin protection - Privileged systems Require MFA.json │ │ │ │ ├── 105 - RING - Admin protection - Privileged systems Require trusted device.json │ │ │ │ ├── 106 - RING - Admin protection - Privileged systems Require trusted location.json │ │ │ │ ├── 200 - RING - Base protection - All apps Require MFA or trusted device or trusted location.json │ │ │ │ ├── 201 - RING - Base protection - Register security information Require MFA or trusted device or trusted location For internal users.json │ │ │ │ ├── 300 - RING - Attack surface reduction - All apps Block access When using legacy authentication.json │ │ │ │ ├── 301 - RING - Attack surface reduction - All apps Block access When using active sync.json │ │ │ │ ├── 302 - RING - Attack surface reduction - All apps Block access When using unknown or unsupported device platforms.json │ │ │ │ ├── 400 - RING - Application protection - Specific apps Require MFA.json │ │ │ │ ├── 401 - RING - Application protection - Specific apps Require trusted device.json │ │ │ │ ├── 402 - RING - Application protection - Specific apps Block access When on untrusted location.json │ │ │ │ ├── 500 - RING - Data protection - All apps No persistent browser session When on untrusted device.json │ │ │ │ ├── 501 - RING - Data protection - All apps Short Sign-in frequency When on untrusted device.json │ │ │ │ ├── 502 - RING - Data protection - O365 Require app protection policy or approved client app When using modern authentication clients on iOS or Android.json │ │ │ │ ├── 504 - RING - Data protection - O365 Require trusted device When using modern authentication clients on Windows and macOS.json │ │ │ │ └── 505 - RING - Data protection - O365 Use app enforced restrictions When using a browser on untrusted devices.json │ │ │ ├── Device trust with AADP2/ │ │ │ │ ├── 100 - RING - Admin protection - All apps Require MFA For M365 admins.json │ │ │ │ ├── 101 - RING - Admin protection - All apps Require trusted device For M365 admins.json │ │ │ │ ├── 102 - RING - Admin protection - All apps Require trusted location For M365 admins.json │ │ │ │ ├── 104 - RING - Admin protection - Privileged systems Require MFA.json │ │ │ │ ├── 105 - RING - Admin protection - Privileged systems Require trusted device.json │ │ │ │ ├── 106 - RING - Admin protection - Privileged systems Require trusted location.json │ │ │ │ ├── 200 - RING - Base protection - All apps Require MFA or trusted device or trusted location.json │ │ │ │ ├── 201 - RING - Base protection - Register security information Require MFA or trusted device or trusted location For internal users.json │ │ │ │ ├── 202 - RING - Base protection - All apps Require MFA For internal users When medium or above sign-in risk is detected.json │ │ │ │ ├── 206 - RING - Base protection - All apps Require password change For internal users When high user risk is detected.json │ │ │ │ ├── 300 - RING - Attack surface reduction - All apps Block access When using legacy authentication.json │ │ │ │ ├── 301 - RING - Attack surface reduction - All apps Block access When using active sync.json │ │ │ │ ├── 302 - RING - Attack surface reduction - All apps Block access When using unknown or unsupported device platforms.json │ │ │ │ ├── 400 - RING - Application protection - Specific apps Require MFA.json │ │ │ │ ├── 401 - RING - Application protection - Specific apps Require trusted device.json │ │ │ │ ├── 402 - RING - Application protection - Specific apps Block access When on untrusted location.json │ │ │ │ ├── 500 - RING - Data protection - All apps No persistent browser session When on untrusted device.json │ │ │ │ ├── 501 - RING - Data protection - All apps Short Sign-in frequency When on untrusted device.json │ │ │ │ ├── 502 - RING - Data protection - O365 Require app protection policy or approved client app When using modern authentication clients on iOS or Android.json │ │ │ │ ├── 504 - RING - Data protection - O365 Require trusted device When using modern authentication clients on Windows and macOS.json │ │ │ │ └── 505 - RING - Data protection - O365 Use app enforced restrictions When using a browser on untrusted devices.json │ │ │ ├── Network trust with AADP1/ │ │ │ │ ├── 100 - RING - Admin protection - All apps Require MFA For M365 admins.json │ │ │ │ ├── 102 - RING - Admin protection - All apps Require trusted location For M365 admins.json │ │ │ │ ├── 104 - RING - Admin protection - Privileged systems Require MFA.json │ │ │ │ ├── 106 - RING - Admin protection - Privileged systems Require trusted location.json │ │ │ │ ├── 200 - RING - Base protection - All apps Require MFA or trusted device or trusted location.json │ │ │ │ ├── 201 - RING - Base protection - Register security information Require MFA or trusted device or trusted location For internal users.json │ │ │ │ ├── 300 - RING - Attack surface reduction - All apps Block access When using legacy authentication.json │ │ │ │ ├── 301 - RING - Attack surface reduction - All apps Block access When using active sync.json │ │ │ │ ├── 400 - RING - Application protection - Specific apps Require MFA.json │ │ │ │ └── 402 - RING - Application protection - Specific apps Block access When on untrusted location.json │ │ │ └── Network trust with AADP2/ │ │ │ ├── 100 - RING - Admin protection - All apps Require MFA For M365 admins.json │ │ │ ├── 102 - RING - Admin protection - All apps Require trusted location For M365 admins.json │ │ │ ├── 104 - RING - Admin protection - Privileged systems Require MFA.json │ │ │ ├── 106 - RING - Admin protection - Privileged systems Require trusted location.json │ │ │ ├── 200 - RING - Base protection - All apps Require MFA or trusted device or trusted location.json │ │ │ ├── 201 - RING - Base protection - Register security information Require MFA or trusted device or trusted location For internal users.json │ │ │ ├── 202 - RING - Base protection - All apps Require MFA For internal users When medium or above sign-in risk is detected.json │ │ │ ├── 206 - RING - Base protection - All apps Require password change For internal users When high user risk is detected.json │ │ │ ├── 300 - RING - Attack surface reduction - All apps Block access When using legacy authentication.json │ │ │ ├── 301 - RING - Attack surface reduction - All apps Block access When using active sync.json │ │ │ ├── 400 - RING - Application protection - Specific apps Require MFA.json │ │ │ └── 402 - RING - Application protection - Specific apps Block access When on untrusted location.json │ │ ├── Prismjs/ │ │ │ ├── prism.css │ │ │ └── prism.js │ │ ├── Site.css │ │ ├── bootstrap-grid.css │ │ ├── bootstrap-reboot.css │ │ └── bootstrap.css │ ├── Controllers/ │ │ ├── AboutController.cs │ │ ├── AccountController.cs │ │ ├── AdvancedController.cs │ │ ├── AutoPilotConfigurationController.cs │ │ ├── BaseController.cs │ │ ├── ConditionalAccessController.cs │ │ ├── HomeController.cs │ │ ├── IntuneConfigExportController.cs │ │ ├── IntuneController.cs │ │ └── PlannerController.cs │ ├── ErrorHandler/ │ │ └── AiHandleErrorAttribute.cs │ ├── FilterConfig.cs │ ├── Global.asax │ ├── Global.asax.cs │ ├── Helpers/ │ │ ├── AdministrativeTemplateExport.cs │ │ ├── AutopilotConfiguration.cs │ │ ├── AzureADApplicationIdentifiers.cs │ │ ├── AzureADIDCache.cs │ │ ├── ConditionalAccessPolicy.cs │ │ ├── CustomAuthorization.cs │ │ ├── DeviceManagementScripts.cs │ │ ├── FilenameHelper.cs │ │ ├── GraphClient.cs │ │ ├── GraphConditionalAccess.cs │ │ ├── GraphHelper.cs │ │ ├── GraphIntune.cs │ │ ├── GraphIntuneImport.cs │ │ ├── GraphJson.cs │ │ ├── GraphPlanner.cs │ │ ├── MwHub.cs │ │ ├── OverwriteBehaviour.cs │ │ ├── RoleScopeTagTranslation.cs │ │ ├── SignalRMessage.cs │ │ └── UserConnectionManager.cs │ ├── Manifest.json │ ├── Models/ │ │ ├── AADLicensePlan.cs │ │ ├── Alert.cs │ │ └── OverwriteBehaviour.cs │ ├── ModernWorkplaceConcierge.csproj │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── Scripts/ │ │ ├── README.md │ │ ├── bootstrap.bundle.js │ │ ├── bootstrap.js │ │ ├── esm/ │ │ │ ├── popper-utils.js │ │ │ └── popper.js │ │ ├── index.d.ts │ │ ├── index.js.flow │ │ ├── jquery-3.4.1.intellisense.js │ │ ├── jquery-3.4.1.js │ │ ├── jquery-3.4.1.slim.js │ │ ├── jquery-3.5.1.intellisense.js │ │ ├── jquery-3.5.1.js │ │ ├── jquery-3.5.1.slim.js │ │ ├── jquery.signalR-2.4.1.js │ │ ├── jquery.validate-vsdoc.js │ │ ├── jquery.validate.js │ │ ├── jquery.validate.unobtrusive.js │ │ ├── js-cookie/ │ │ │ └── js.cookie.js │ │ ├── modernizr-2.8.3.js │ │ ├── popper-utils.js │ │ ├── popper.js │ │ ├── src/ │ │ │ ├── index.js │ │ │ ├── methods/ │ │ │ │ ├── defaults.js │ │ │ │ ├── destroy.js │ │ │ │ ├── disableEventListeners.js │ │ │ │ ├── enableEventListeners.js │ │ │ │ ├── placements.js │ │ │ │ └── update.js │ │ │ ├── modifiers/ │ │ │ │ ├── applyStyle.js │ │ │ │ ├── arrow.js │ │ │ │ ├── computeStyle.js │ │ │ │ ├── flip.js │ │ │ │ ├── hide.js │ │ │ │ ├── index.js │ │ │ │ ├── inner.js │ │ │ │ ├── keepTogether.js │ │ │ │ ├── offset.js │ │ │ │ ├── preventOverflow.js │ │ │ │ └── shift.js │ │ │ └── utils/ │ │ │ ├── clockwise.js │ │ │ ├── computeAutoPlacement.js │ │ │ ├── debounce.js │ │ │ ├── find.js │ │ │ ├── findCommonOffsetParent.js │ │ │ ├── findIndex.js │ │ │ ├── getBordersSize.js │ │ │ ├── getBoundaries.js │ │ │ ├── getBoundingClientRect.js │ │ │ ├── getClientRect.js │ │ │ ├── getFixedPositionOffsetParent.js │ │ │ ├── getOffsetParent.js │ │ │ ├── getOffsetRect.js │ │ │ ├── getOffsetRectRelativeToArbitraryNode.js │ │ │ ├── getOppositePlacement.js │ │ │ ├── getOppositeVariation.js │ │ │ ├── getOuterSizes.js │ │ │ ├── getParentNode.js │ │ │ ├── getPopperOffsets.js │ │ │ ├── getReferenceNode.js │ │ │ ├── getReferenceOffsets.js │ │ │ ├── getRoot.js │ │ │ ├── getRoundedOffsets.js │ │ │ ├── getScroll.js │ │ │ ├── getScrollParent.js │ │ │ ├── getStyleComputedProperty.js │ │ │ ├── getSupportedPropertyName.js │ │ │ ├── getViewportOffsetRectRelativeToArtbitraryNode.js │ │ │ ├── getWindow.js │ │ │ ├── getWindowSizes.js │ │ │ ├── includeScroll.js │ │ │ ├── index.js │ │ │ ├── isBrowser.js │ │ │ ├── isFixed.js │ │ │ ├── isFunction.js │ │ │ ├── isIE.js │ │ │ ├── isModifierEnabled.js │ │ │ ├── isModifierRequired.js │ │ │ ├── isNumeric.js │ │ │ ├── isOffsetContainer.js │ │ │ ├── removeEventListeners.js │ │ │ ├── runModifiers.js │ │ │ ├── setAttributes.js │ │ │ ├── setStyles.js │ │ │ └── setupEventListeners.js │ │ └── umd/ │ │ ├── popper-utils.js │ │ ├── popper.js │ │ └── popper.js.flow │ ├── Startup.cs │ ├── TokenStorage/ │ │ └── SessionTokenStore.cs │ ├── Views/ │ │ ├── About/ │ │ │ ├── Index.cshtml │ │ │ └── Terms.cshtml │ │ ├── Advanced/ │ │ │ └── Index.cshtml │ │ ├── AutoPilotConfiguration/ │ │ │ ├── Detail.cshtml │ │ │ └── Index.cshtml │ │ ├── ConditionalAccess/ │ │ │ ├── DeployBaseline.cshtml │ │ │ ├── Documentation.cshtml │ │ │ ├── Index.cshtml │ │ │ └── import.cshtml │ │ ├── Home/ │ │ │ └── Index.cshtml │ │ ├── Index.cshtml │ │ ├── Intune/ │ │ │ ├── DeviceManagementScripts.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── Win32AppDetectionScripts.cshtml │ │ │ ├── _PowerShellDetectionScriptContent.cshtml │ │ │ ├── _PowerShellScriptContent.cshtml │ │ │ └── import.cshtml │ │ ├── Planner/ │ │ │ └── Index.cshtml │ │ ├── Shared/ │ │ │ ├── Error.cshtml │ │ │ └── _Layout.cshtml │ │ ├── Web.config │ │ └── _ViewStart.cshtml │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ ├── packages.config │ └── pwabuilder-sw.js ├── ModernWorkplaceConcierge.sln ├── README.md ├── azure-pipelines.yml └── azuredeploy.json