Modules/ScubaConfig/ScubaConfigDefaults.json

  {
  "metadata": {
    "version": "1.7.0",
    "_comment": "ScubaGear default configuration values",
    "lastUpdated": "2026-01-12",
    "compatibleOpaVersions": ["1.1.0","1.2.0","1.3.0","1.4.0","1.5.0","1.6.0","1.7.0","1.7.1","1.8.0","1.9.0","1.10.1","1.11.1","1.12.1"]
  },
  "defaults": {
    "OPAPath": "~/.scubagear/Tools",
    "OPAExecutable": {
      "Windows": "opa_windows_amd64.exe",
      "MacOS": "opa_darwin_amd64",
      "Linux": "opa_linux_amd64_static"
    },
    "ProductNames": ["aad", "defender", "exo", "sharepoint", "teams"],
    "AllProductNames": ["aad", "defender", "exo", "powerplatform", "sharepoint", "teams"],
    "M365Environment": "commercial",
    "LogIn": true,
    "DisconnectOnExit": false,
    "OutPath": ".",
    "OutFolderName": "M365BaselineConformance",
    "OutProviderFileName": "ProviderSettingsExport",
    "OutRegoFileName": "TestResults",
    "OutReportName": "BaselineReports",
    "OutJsonFileName": "ScubaResults",
    "OutCsvFileName": "ScubaResults",
    "OutActionPlanFileName": "ActionPlan",
    "NumberOfUUIDCharactersToTruncate": 18,
    "OPAVersion": "1.12.1",
    "PreferredDnsResolvers": [],
    "SkipDoH": false
  },
  "minRequired": [
    "ProductNames"
  ],
  "privilegedRoles": [
    "Global Administrator",
    "Privileged Role Administrator",
    "User Administrator",
    "SharePoint Administrator",
    "Exchange Administrator",
    "Hybrid Identity Administrator",
    "Application Administrator",
    "Cloud Application Administrator"
  ],
  "validation": {
    "policyIdPattern": "^[Mm][Ss]\\.[a-zA-Z]+\\.[0-9]+\\.[0-9]+[Vv][0-9]+$",
    "policyIdPatternExample": "MS.<PRODUCT>.#.#v#",
    "policyIdPatternExampleWithProduct": "MS.{PRODUCT}.#.#v#",
    "supportedFileExtensions": [".yaml", ".yml", ".json"],
    "maxFileSizeBytes": 1048576,
    "requireProductInPolicy": true
  },
  "outputSettings": {
    "_comment": "Settings related to output from ScubaConfig. The order if errorCategories matters, as the first matching pattern will be used to categorize an error.",
    "debugMode": true,
    "fileNameMaxLength": 100,
    "supportedFormats": ["html", "json", "csv"],
    "defaultEncoding": "UTF-8",
    "errorCategories": [
      {
        "name": "Property errors",
        "pattern": "^Property\\s+'(?!Aad|Defender|Exo|AnnotatePolicy|OmitPolicy)"
      },
      {
        "name": "Aad exclusion errors",
        "pattern": "^(Aad|AAD)\\s+exclusion\\s+error:|^Property\\s+'Aad'"
      },
      {
        "name": "Defender exclusion errors",
        "pattern": "^(Defender|DEFENDER)\\s+exclusion\\s+error:|^Property\\s+'Defender'"
      },
      {
        "name": "Exo exclusion errors",
        "pattern": "^(Exo|EXO)\\s+exclusion\\s+error:|^Property\\s+'Exo'"
      },
      {
        "name": "Annotate Policy errors",
        "pattern": "^AnnotatePolicy|^Annotated\\s+Policy\\s+ID:|^Property\\s+'AnnotatePolicy'"
      },
      {
        "name": "Omit Policy errors",
        "pattern": "^OmitPolicy|^Omitted\\s+Policy\\s+ID:|^Property\\s+'OmitPolicy'"
      },
      {
        "name": "Other errors",
        "pattern": ""
      }
    ],
    "recommendedActionMessage": [
      "It is recommended to use the new ScubaGear Configuration Editor to build a configuration file via a graphical user interface.",
      "Run: 'Start-ScubaConfigApp' to launch the configuration application and get started.",
      "Refer to the documentation [docs\\configuration\\scubaconfigapp.md] for guidance on using this application."
    ]
  }
}