{
  "Identity": {
    "CrId": 146,
    "Description": "QR demo ",
    "QueryType": "QueryResult",
    "Status": "Executed",
    "ServerName": "*****;*****\\SQLEXPRESS",
    "DatabaseType": "SqlServer",
    "ChangeTicket": "CR-90011",
    "CreatedBy": "admin",
    "CreatedAt": "2026-08-19T18:52:02.6599751+00:00",
    "RiskBand": 4,
    "RiskBandName": "Critical",
    "AppliedPolicyName": "Prod-QR-CriticalObjects Access",
    "TargetDatabases": "dbtest; dbtest",
    "ScriptDatabases": null
  },
  "Sod": {
    "Requester": "admin",
    "Approvers": [
      "changemanager",
      "systemmanager"
    ],
    "Executor": "WorkerService",
    "AllDistinct": false,
    "ExecutionTriggeredBy": "systemmanager",
    "Status": "NotEnforced",
    "StatusDetail": "ApproverTriggeredExecution"
  },
  "Timeline": [
    {
      "AuditId": 559,
      "Action": "ChangeRequest.Create",
      "PerformedBy": "admin",
      "OccurredAt": "2026-08-19T18:52:03.0069657+00:00",
      "IpAddress": "::1"
    },
    {
      "AuditId": 560,
      "Action": "ChangeRequest.ParseErrorsConfirmed",
      "PerformedBy": "admin",
      "OccurredAt": "2026-08-19T18:52:03.4827053+00:00",
      "IpAddress": "::1"
    },
    {
      "AuditId": 561,
      "Action": "ChangeRequest.RuleSnapshot",
      "PerformedBy": "admin",
      "OccurredAt": "2026-08-19T18:52:04.8886758+00:00",
      "IpAddress": "::1"
    },
    {
      "AuditId": 563,
      "Action": "ChangeRequest.ApprovalStepApproved",
      "PerformedBy": "changemanager",
      "OccurredAt": "2026-08-19T19:04:49.5245063+00:00",
      "IpAddress": "::1"
    },
    {
      "AuditId": 564,
      "Action": "ChangeRequest.ApprovalStepApproved",
      "PerformedBy": "changemanager",
      "OccurredAt": "2026-08-19T19:04:49.5566549+00:00",
      "IpAddress": "::1"
    },
    {
      "AuditId": 569,
      "Action": "ChangeRequest.ApprovalStepApproved",
      "PerformedBy": "systemmanager",
      "OccurredAt": "2026-08-19T19:45:58.4489185+00:00",
      "IpAddress": "::1"
    },
    {
      "AuditId": 570,
      "Action": "ChangeRequest.Approve",
      "PerformedBy": "systemmanager",
      "OccurredAt": "2026-08-19T19:45:59.2599356+00:00",
      "IpAddress": "::1"
    },
    {
      "AuditId": 571,
      "Action": "ChangeRequest.QueuedForExecution",
      "PerformedBy": "systemmanager",
      "OccurredAt": "2026-08-19T19:46:05.7035043+00:00",
      "IpAddress": "::1"
    },
    {
      "AuditId": 572,
      "Action": "ChangeRequest.Executed",
      "PerformedBy": "WorkerService",
      "OccurredAt": "2026-08-19T19:46:41.0751292+00:00",
      "IpAddress": null
    }
  ],
  "Approvals": [
    {
      "StepOrder": 1,
      "StepName": "Step 1",
      "RequiredRole": "DbAdmin",
      "Status": "Approved",
      "ActionBy": "changemanager",
      "ActionAt": "2026-08-19T19:04:49.3918749+00:00",
      "Comment": null,
      "IsOverride": false,
      "OverrideReason": null
    },
    {
      "StepOrder": 2,
      "StepName": "QrEmailApproval",
      "RequiredRole": "ChangeManager",
      "Status": "Approved",
      "ActionBy": "changemanager",
      "ActionAt": "2026-08-19T19:04:49.3918749+00:00",
      "Comment": null,
      "IsOverride": false,
      "OverrideReason": null
    },
    {
      "StepOrder": 3,
      "StepName": "UnmaskedColumnsApproval",
      "RequiredRole": "SystemManager",
      "Status": "Approved",
      "ActionBy": "systemmanager",
      "ActionAt": "2026-08-19T19:45:58.2833511+00:00",
      "Comment": null,
      "IsOverride": false,
      "OverrideReason": null
    }
  ],
  "Scripts": [
    {
      "ScriptName": "Script 1",
      "OrderIndex": 0,
      "Content": "use dbtest\r\ngo\r\nSelect * from vwCriticalObject(nolock)",
      "RecordedHash": "704449b31ef5d2abca4d1fc4d4b059bd8e14c191f1ba2121a5c5f8bc69825f7d",
      "CurrentHash": "704449b31ef5d2abca4d1fc4d4b059bd8e14c191f1ba2121a5c5f8bc69825f7d",
      "IntegrityStatus": "Intact"
    }
  ],
  "Risk": {
    "CriticalIssues": 2,
    "HighRiskIssues": 0,
    "MediumRiskIssues": 0,
    "LowRiskIssues": 2,
    "Details": [
      {
        "ValidationKey": "CriticalObjectAccess",
        "Category": "Determining",
        "BaseRisk": 4,
        "Frequency": 1,
        "CalculatedRisk": 1.00,
        "Message": "Access to a critical object detected. This object is subject to change management policy.",
        "BaseRiskName": "Critical",
        "IsNeverSkip": true
      },
      {
        "ValidationKey": "UnmaskedSensitiveColumnApproved",
        "Category": "Determining",
        "BaseRisk": 4,
        "Frequency": 1,
        "CalculatedRisk": 0.00,
        "Message": "Unmasked sensitive columns were approved for this query result.",
        "BaseRiskName": "Critical",
        "IsNeverSkip": false
      },
      {
        "ValidationKey": "NoSelectStar",
        "Category": "Neutral",
        "BaseRisk": 1,
        "Frequency": 1,
        "CalculatedRisk": 0.00,
        "Message": "SELECT * detected. Application errors may occur when column list changes. Use explicit column list.",
        "BaseRiskName": "Low",
        "IsNeverSkip": false
      },
      {
        "ValidationKey": "QueryResultMissingTopClause",
        "Category": "Neutral",
        "BaseRisk": 1,
        "Frequency": 1,
        "CalculatedRisk": 0.00,
        "Message": "Row limit with TOP or FETCH NEXT is required in query result queries. Prevents large result sets.",
        "BaseRiskName": "Low",
        "IsNeverSkip": false
      }
    ],
    "RiskBand": 4,
    "RiskBandName": "Critical",
    "DeterminingKey": "CriticalObjectAccess",
    "HasNeverSkip": true
  },
  "SandboxResults": [],
  "Execution": {
    "ExecutedBy": "WorkerService",
    "ExecutedAt": "2026-08-19T19:46:40.5079786+00:00",
    "ExecutionStartedAt": null,
    "RowsAffected": 4,
    "ExecutionLog": "-- Server: *****\r\n-- QueryResult: Script 1\r\n-- Server: *****\\SQLEXPRESS\r\n-- QueryResult: Script 1\r\n-- QueryResult: 4 row(s) returned, by WorkerService at 2026-08-19T19:46:40.4954883\u002B00:00\r\n-- Masking: *****=AutoMask, *****\\SQLEXPRESS=AutoMask\r\n-- Masked columns: \r\n-- Unmasked sensitive columns: Firstname, Lastname, Mobile, Email, CardNumber\r\n",
    "RejectionReason": null,
    "LinkedChangeRequestId": null,
    "HasRollback": false,
    "ExecutionRequestedBy": "systemmanager",
    "ExecutionRequestedAt": "2026-08-19T19:46:05.5966857+00:00"
  },
  "QueryResultMeta": {
    "MailTo": "companyuser@company.com",
    "MailCc": null,
    "UnmaskedColumns": "*",
    "UnmaskedColumnsReason": "kuruma g\u00F6nderilecek",
    "UnmaskedColumnsApprovedBy": "systemmanager",
    "UnmaskedColumnsApprovedAt": "2026-08-19T19:45:58.2833511+00:00",
    "Maskings": [
      {
        "SentAt": "2026-08-19T19:46:23.9239227+00:00",
        "SentBy": "WorkerService",
        "PolicyApplied": "AutoMask",
        "BypassApproved": true,
        "DetectedPatterns": "Phone (TR)",
        "MaskedColumns": [],
        "UnmaskedColumns": [
          "Firstname",
          "Lastname",
          "Mobile",
          "Email",
          "CardNumber"
        ],
        "Columns": [
          {
            "ResultSetIndex": 1,
            "ServerName": "*****\\SQLEXPRESS",
            "ColumnName": "Firstname",
            "SourceColumnName": null,
            "Decision": "Unmasked",
            "ReasonType": "UnmaskApproved",
            "ReasonDetail": "systemmanager",
            "MaskStyle": null
          },
          {
            "ResultSetIndex": 1,
            "ServerName": "*****\\SQLEXPRESS",
            "ColumnName": "Lastname",
            "SourceColumnName": null,
            "Decision": "Unmasked",
            "ReasonType": "UnmaskApproved",
            "ReasonDetail": "systemmanager",
            "MaskStyle": null
          },
          {
            "ResultSetIndex": 1,
            "ServerName": "*****\\SQLEXPRESS",
            "ColumnName": "Mobile",
            "SourceColumnName": null,
            "Decision": "Unmasked",
            "ReasonType": "UnmaskApproved",
            "ReasonDetail": "systemmanager",
            "MaskStyle": null
          },
          {
            "ResultSetIndex": 1,
            "ServerName": "*****\\SQLEXPRESS",
            "ColumnName": "Email",
            "SourceColumnName": null,
            "Decision": "Unmasked",
            "ReasonType": "UnmaskApproved",
            "ReasonDetail": "systemmanager",
            "MaskStyle": null
          },
          {
            "ResultSetIndex": 1,
            "ServerName": "*****\\SQLEXPRESS",
            "ColumnName": "CardNumber",
            "SourceColumnName": null,
            "Decision": "Unmasked",
            "ReasonType": "UnmaskApproved",
            "ReasonDetail": "systemmanager",
            "MaskStyle": null
          }
        ],
        "ServerName": "*****\\SQLEXPRESS",
        "MaskingMode": "Strict",
        "MaskingExemptionReason": null,
        "DetectionSettingsJson": "{\u0022sampleSize\u0022:\u00221000\u0022,\u0022thresholdPct\u0022:\u002220\u0022,\u0022sampleMode\u0022:\u0022Random\u0022,\u0022timeBudgetSeconds\u0022:\u002210\u0022}"
      },
      {
        "SentAt": "2026-08-19T19:46:23.3633113+00:00",
        "SentBy": "WorkerService",
        "PolicyApplied": "AutoMask",
        "BypassApproved": true,
        "DetectedPatterns": "Phone (TR)",
        "MaskedColumns": [],
        "UnmaskedColumns": [
          "Firstname",
          "Lastname",
          "Mobile",
          "Email",
          "CardNumber"
        ],
        "Columns": [
          {
            "ResultSetIndex": 1,
            "ServerName": "*****",
            "ColumnName": "Firstname",
            "SourceColumnName": null,
            "Decision": "Unmasked",
            "ReasonType": "UnmaskApproved",
            "ReasonDetail": "systemmanager",
            "MaskStyle": null
          },
          {
            "ResultSetIndex": 1,
            "ServerName": "*****",
            "ColumnName": "Lastname",
            "SourceColumnName": null,
            "Decision": "Unmasked",
            "ReasonType": "UnmaskApproved",
            "ReasonDetail": "systemmanager",
            "MaskStyle": null
          },
          {
            "ResultSetIndex": 1,
            "ServerName": "*****",
            "ColumnName": "Mobile",
            "SourceColumnName": null,
            "Decision": "Unmasked",
            "ReasonType": "UnmaskApproved",
            "ReasonDetail": "systemmanager",
            "MaskStyle": null
          },
          {
            "ResultSetIndex": 1,
            "ServerName": "*****",
            "ColumnName": "Email",
            "SourceColumnName": null,
            "Decision": "Unmasked",
            "ReasonType": "UnmaskApproved",
            "ReasonDetail": "systemmanager",
            "MaskStyle": null
          },
          {
            "ResultSetIndex": 1,
            "ServerName": "*****",
            "ColumnName": "CardNumber",
            "SourceColumnName": null,
            "Decision": "Unmasked",
            "ReasonType": "UnmaskApproved",
            "ReasonDetail": "systemmanager",
            "MaskStyle": null
          }
        ],
        "ServerName": "*****",
        "MaskingMode": "Strict",
        "MaskingExemptionReason": null,
        "DetectionSettingsJson": "{\u0022sampleSize\u0022:\u00221000\u0022,\u0022thresholdPct\u0022:\u002220\u0022,\u0022sampleMode\u0022:\u0022Random\u0022,\u0022timeBudgetSeconds\u0022:\u002210\u0022}"
      }
    ],
    "PlannedColumns": [
      {
        "ServerName": "*****",
        "ResultSetIndex": 1,
        "ColumnName": "CustomerID",
        "SourceTable": null,
        "SourceColumnName": null,
        "DataTypeName": "int",
        "PlannedDecision": "ContentCheck",
        "MatchedRule": null
      },
      {
        "ServerName": "*****",
        "ResultSetIndex": 1,
        "ColumnName": "Firstname",
        "SourceTable": null,
        "SourceColumnName": null,
        "DataTypeName": "varchar",
        "PlannedDecision": "WillMask",
        "MatchedRule": "FirstName (Contains)"
      },
      {
        "ServerName": "*****",
        "ResultSetIndex": 1,
        "ColumnName": "Lastname",
        "SourceTable": null,
        "SourceColumnName": null,
        "DataTypeName": "varchar",
        "PlannedDecision": "WillMask",
        "MatchedRule": "LastName (Contains)"
      },
      {
        "ServerName": "*****",
        "ResultSetIndex": 1,
        "ColumnName": "Mobile",
        "SourceTable": null,
        "SourceColumnName": null,
        "DataTypeName": "varchar",
        "PlannedDecision": "ContentCheck",
        "MatchedRule": null
      },
      {
        "ServerName": "*****",
        "ResultSetIndex": 1,
        "ColumnName": "Email",
        "SourceTable": null,
        "SourceColumnName": null,
        "DataTypeName": "varchar",
        "PlannedDecision": "WillMask",
        "MatchedRule": "Email (Contains)"
      },
      {
        "ServerName": "*****",
        "ResultSetIndex": 1,
        "ColumnName": "CardNumber",
        "SourceTable": null,
        "SourceColumnName": null,
        "DataTypeName": "varchar",
        "PlannedDecision": "WillMask",
        "MatchedRule": "CardNumber (Contains)"
      },
      {
        "ServerName": "*****\\SQLEXPRESS",
        "ResultSetIndex": 1,
        "ColumnName": "CustomerID",
        "SourceTable": null,
        "SourceColumnName": null,
        "DataTypeName": "int",
        "PlannedDecision": "ContentCheck",
        "MatchedRule": null
      },
      {
        "ServerName": "*****\\SQLEXPRESS",
        "ResultSetIndex": 1,
        "ColumnName": "Firstname",
        "SourceTable": null,
        "SourceColumnName": null,
        "DataTypeName": "varchar",
        "PlannedDecision": "WillMask",
        "MatchedRule": "FirstName (Contains)"
      },
      {
        "ServerName": "*****\\SQLEXPRESS",
        "ResultSetIndex": 1,
        "ColumnName": "Lastname",
        "SourceTable": null,
        "SourceColumnName": null,
        "DataTypeName": "varchar",
        "PlannedDecision": "WillMask",
        "MatchedRule": "LastName (Contains)"
      },
      {
        "ServerName": "*****\\SQLEXPRESS",
        "ResultSetIndex": 1,
        "ColumnName": "Mobile",
        "SourceTable": null,
        "SourceColumnName": null,
        "DataTypeName": "varchar",
        "PlannedDecision": "ContentCheck",
        "MatchedRule": null
      },
      {
        "ServerName": "*****\\SQLEXPRESS",
        "ResultSetIndex": 1,
        "ColumnName": "Email",
        "SourceTable": null,
        "SourceColumnName": null,
        "DataTypeName": "varchar",
        "PlannedDecision": "WillMask",
        "MatchedRule": "Email (Contains)"
      },
      {
        "ServerName": "*****\\SQLEXPRESS",
        "ResultSetIndex": 1,
        "ColumnName": "CardNumber",
        "SourceTable": null,
        "SourceColumnName": null,
        "DataTypeName": "varchar",
        "PlannedDecision": "WillMask",
        "MatchedRule": "CardNumber (Contains)"
      }
    ],
    "DeliveryMode": "AttachmentPortalPassword",
    "DeliveryReason": null
  },
  "Exceptions": [
    {
      "Code": "APPROVER_EQUALS_EXECUTOR",
      "Detail": "systemmanager"
    },
    {
      "Code": "APPROVER_CAN_EXECUTE_ENABLED",
      "Detail": null
    },
    {
      "Code": "UNMASKED_COLUMNS",
      "Detail": "*"
    },
    {
      "Code": "PARSE_ERRORS_CONFIRMED",
      "Detail": null
    }
  ],
  "AuditIntegrity": {
    "RecordCount": 9,
    "AllRecordsValid": true,
    "InvalidRecordIds": []
  },
  "ControlEnvironment": {
    "AppliedPolicyName": "Prod-QR-CriticalObjects Access",
    "RequesterCanSelfApprove": false,
    "ApproverCanExecute": true,
    "RequireDistinctApproverPerStep": false,
    "Source": "Snapshot"
  },
  "RuleSnapshot": {
    "CapturedAt": "2026-08-19T18:52:04.8886758+00:00",
    "CapturedBy": "admin",
    "RuleSnapshotJson": "{\u0022capturedAt\u0022:\u00222026-08-19T18:52:04.8622721\u002B00:00\u0022,\u0022queryType\u0022:\u0022QueryResult\u0022,\u0022servers\u0022:[{\u0022Name\u0022:\u0022*****\u0022,\u0022Host\u0022:\u0022*****\u0022,\u0022Environment\u0022:\u0022Production\u0022,\u0022DatabaseType\u0022:\u0022SqlServer\u0022,\u0022Database\u0022:\u0022dbtest\u0022,\u0022RollbackRequired\u0022:false,\u0022AutoRollbackEnabled\u0022:false,\u0022CrAutoExecutionEnabled\u0022:false,\u0022QrAutoExecutionEnabled\u0022:false,\u0022MaskingMode\u0022:\u0022Strict\u0022,\u0022MaskingExemptionReason\u0022:null},{\u0022Name\u0022:\u0022*****\\\\SQLEXPRESS\u0022,\u0022Host\u0022:\u0022*****\\\\SQLEXPRESS\u0022,\u0022Environment\u0022:\u0022Test\u0022,\u0022DatabaseType\u0022:\u0022SqlServer\u0022,\u0022Database\u0022:\u0022dbtest\u0022,\u0022RollbackRequired\u0022:false,\u0022AutoRollbackEnabled\u0022:false,\u0022CrAutoExecutionEnabled\u0022:false,\u0022QrAutoExecutionEnabled\u0022:false,\u0022MaskingMode\u0022:\u0022Strict\u0022,\u0022MaskingExemptionReason\u0022:null}],\u0022approval\u0022:{\u0022requesterCanSelfApproveExecute\u0022:\u0022false\u0022,\u0022approverCanExecute\u0022:\u0022true\u0022,\u0022requireDistinctApproverPerStep\u0022:\u0022false\u0022,\u0022emergencyMinimumRole\u0022:\u0022Requester\u0022,\u0022rejectOnError\u0022:\u0022true\u0022,\u0022changeTicketRequired\u0022:\u0022Always\u0022,\u0022changeTicketRegex\u0022:\u0022^CR-\\\\d{5}$\u0022,\u0022emergencyTicketRequired\u0022:\u0022Always\u0022,\u0022emergencyTicketRegex\u0022:\u0022^CR-\\\\d{5}$\u0022},\u0022masking\u0022:{\u0022enabled\u0022:\u0022true\u0022,\u0022policy\u0022:\u0022AutoMask\u0022,\u0022sampleSize\u0022:\u00221000\u0022,\u0022thresholdPct\u0022:\u002220\u0022,\u0022sampleMode\u0022:\u0022Random\u0022,\u0022timeBudgetSeconds\u0022:\u002210\u0022,\u0022columnPreviewEnabled\u0022:\u0022true\u0022,\u0022unmaskedColumnRequestPolicy\u0022:\u0022RequireApproval\u0022,\u0022unmaskedColumnApproverRole\u0022:\u0022SystemManager\u0022,\u0022activeSensitiveColumnRules\u0022:103,\u0022enabledPatterns\u0022:14},\u0022delivery\u0022:{\u0022requesterCanDownload\u0022:\u0022true\u0022,\u0022downloadMinimumRole\u0022:\u0022ChangeManager\u0022,\u0022fileRetentionDays\u0022:\u00221\u0022,\u0022emailApprovalPolicy\u0022:\u0022RequireApproval\u0022,\u0022emailApproverRole\u0022:\u0022ChangeManager\u0022},\u0022standards\u0022:{\u0022activeCount\u0022:52,\u0022blockingKeys\u0022:[\u0022NoDeleteWithoutWhere\u0022,\u0022NoManualBeginTransaction\u0022,\u0022NoManualCommitTransaction\u0022,\u0022NoManualRollbackTransaction\u0022,\u0022NoUpdateWithoutWhere\u0022,\u0022OracleDmlBeforeImplicitCommit\u0022,\u0022RequireUseStatement\u0022],\u0022neverSkipKeys\u0022:[\u0022CriticalObjectAccess\u0022,\u0022CriticalObjectDrop\u0022,\u0022CriticalObjectSchemaChange\u0022,\u0022DclChangeDetected\u0022,\u0022LinkedServerUsage\u0022,\u0022NoManualCommitTransaction\u0022,\u0022NoManualRollbackTransaction\u0022,\u0022XpCmdShellUsage\u0022]},\u0022licenseModules\u0022:[\u0022QueryGovernance\u0022,\u0022Sandbox\u0022,\u0022RollbackRecovery\u0022,\u0022ScheduledExecution\u0022,\u0022ReleasePackages\u0022,\u0022InsightsReporting\u0022],\u0022licenseDatabaseTypes\u0022:[\u0022SqlServer\u0022,\u0022PostgreSQL\u0022,\u0022Oracle\u0022]}"
  },
  "EmergencyReview": null
}