{
  "license": "CC BY 4.0",
  "recipe": {
    "slug": "sensitive-data-export-review",
    "title": "Review Sensitive Data Exports with SQL",
    "testedWith": "Apache DataFusion 45.2.0",
    "lastReviewed": "2026-07-28"
  },
  "contract": {
    "tableName": "data_export_audit_events",
    "schema": [
      {
        "name": "timestamp_utc",
        "type": "Timestamp",
        "description": "Export outcome time."
      },
      {
        "name": "actor_role",
        "type": "Utf8",
        "description": "Bounded actor role."
      },
      {
        "name": "data_class",
        "type": "Utf8",
        "description": "Approved classification such as internal or restricted."
      },
      {
        "name": "row_count_band",
        "type": "Utf8",
        "description": "Coarse export size band."
      },
      {
        "name": "outcome",
        "type": "Utf8",
        "description": "success, denied, or failed."
      },
      {
        "name": "review_status",
        "type": "Utf8",
        "description": "not_required, pending, approved, or escalated."
      }
    ]
  },
  "query": "SELECT\n  data_class,\n  actor_role,\n  COUNT(*) AS export_attempts,\n  SUM(CASE WHEN outcome = 'success' THEN 1 ELSE 0 END) AS completed_exports,\n  SUM(CASE WHEN outcome <> 'success' THEN 1 ELSE 0 END) AS unsuccessful_exports,\n  SUM(CASE WHEN review_status IN ('pending', 'escalated') THEN 1 ELSE 0 END)\n    AS open_reviews\nFROM data_export_audit_events\nWHERE timestamp_utc >= now() - INTERVAL '30 days'\nGROUP BY data_class, actor_role\nORDER BY open_reviews DESC, unsuccessful_exports DESC;",
  "fixtureKind": "schema-example",
  "inputRows": [
    {
      "timestamp_utc": "2026-07-28T10:00:00Z",
      "actor_role": "actor_role_example_1",
      "data_class": "data_class_example_1",
      "row_count_band": "row_count_band_example_1",
      "outcome": "success",
      "review_status": "success"
    },
    {
      "timestamp_utc": "2026-07-28T11:00:00Z",
      "actor_role": "actor_role_example_2",
      "data_class": "data_class_example_2",
      "row_count_band": "row_count_band_example_2",
      "outcome": "failed",
      "review_status": "failed"
    },
    {
      "timestamp_utc": "2026-07-28T12:00:00Z",
      "actor_role": "actor_role_example_3",
      "data_class": "data_class_example_3",
      "row_count_band": "row_count_band_example_3",
      "outcome": "success",
      "review_status": "success"
    }
  ],
  "illustrativeInputRows": [
    {
      "timestamp_utc": "2026-07-28T10:00:00Z",
      "actor_role": "actor_role_example_1",
      "data_class": "data_class_example_1",
      "row_count_band": "row_count_band_example_1",
      "outcome": "success",
      "review_status": "success"
    },
    {
      "timestamp_utc": "2026-07-28T11:00:00Z",
      "actor_role": "actor_role_example_2",
      "data_class": "data_class_example_2",
      "row_count_band": "row_count_band_example_2",
      "outcome": "failed",
      "review_status": "failed"
    },
    {
      "timestamp_utc": "2026-07-28T12:00:00Z",
      "actor_role": "actor_role_example_3",
      "data_class": "data_class_example_3",
      "row_count_band": "row_count_band_example_3",
      "outcome": "success",
      "review_status": "success"
    }
  ],
  "expectedOutput": {
    "columns": [
      "data_class",
      "actor_role",
      "export_attempts",
      "completed_exports",
      "unsuccessful_exports",
      "open_reviews"
    ],
    "rows": [
      {
        "data_class": "restricted",
        "actor_role": "support",
        "export_attempts": 18,
        "completed_exports": 9,
        "unsuccessful_exports": 9,
        "open_reviews": 4
      },
      {
        "data_class": "internal",
        "actor_role": "admin",
        "export_attempts": 84,
        "completed_exports": 82,
        "unsuccessful_exports": 2,
        "open_reviews": 1
      }
    ]
  },
  "notes": [
    "The compact input rows demonstrate field names and JSON types; they are not claimed to generate the displayed aggregate by themselves.",
    "The expected output is deterministic synthetic review data for the documented output shape.",
    "Adapt time windows, thresholds, identities, and business definitions before operational use."
  ]
}