{
  "id": "type-p12",
  "revision": "3e2b88f26e3990efc6ccfe7739bead1d7fea99b334dcc383ff3d484c876d0a50",
  "regions": [
    {
      "id": "server",
      "label": "Server",
      "parent": null
    },
    {
      "id": "identity",
      "label": "Identity",
      "parent": null
    },
    {
      "id": "web",
      "label": "Web",
      "parent": null
    }
  ],
  "nodes": [
    {
      "id": "request",
      "label": "Sensitive action",
      "kind": "N19",
      "region": "server",
      "ports": [
        {
          "id": "context",
          "profile": "P01",
          "contract": "SensitiveActionContextV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "risk",
      "label": "Risk decision",
      "kind": "N03",
      "region": "server",
      "ports": [
        {
          "id": "context",
          "profile": "P01",
          "contract": "SensitiveActionContextV1",
          "polarity": "Require"
        },
        {
          "id": "allow",
          "profile": "P12",
          "contract": "AllowedActionV1",
          "polarity": "Offer"
        },
        {
          "id": "stepUp",
          "profile": "P12",
          "contract": "StepUpRequiredV1",
          "polarity": "Offer"
        },
        {
          "id": "deny",
          "profile": "P12",
          "contract": "DeniedActionV1",
          "polarity": "Offer"
        },
        {
          "id": "stepUpEvidence",
          "profile": "P01",
          "contract": "StepUpEvidenceV1",
          "polarity": "Require"
        }
      ]
    },
    {
      "id": "stepup",
      "label": "Step-up authenticator",
      "kind": "N15",
      "region": "identity",
      "ports": [
        {
          "id": "challenge",
          "profile": "P12",
          "contract": "StepUpRequiredV1",
          "polarity": "Require"
        },
        {
          "id": "evidence",
          "profile": "P01",
          "contract": "StepUpEvidenceV1",
          "polarity": "Offer"
        }
      ]
    },
    {
      "id": "deny",
      "label": "Denied-action response",
      "kind": "N11",
      "region": "web",
      "ports": [
        {
          "id": "reason",
          "profile": "P12",
          "contract": "DeniedActionV1",
          "polarity": "Require"
        }
      ]
    },
    {
      "id": "execute",
      "label": "Action executor",
      "kind": "N02",
      "region": "server",
      "ports": [
        {
          "id": "command",
          "profile": "P12",
          "contract": "AllowedActionV1",
          "polarity": "Require"
        }
      ]
    }
  ],
  "relations": [
    {
      "id": "context",
      "kind": "H02",
      "incidences": [
        {
          "node": "request",
          "port": "context",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "risk",
          "port": "context",
          "role": "target",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "allow",
      "kind": "H03",
      "incidences": [
        {
          "node": "risk",
          "port": "allow",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "execute",
          "port": "command",
          "role": "target",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "challenge",
      "kind": "H03",
      "incidences": [
        {
          "node": "risk",
          "port": "stepUp",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "stepup",
          "port": "challenge",
          "role": "target",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "deny",
      "kind": "H03",
      "incidences": [
        {
          "node": "risk",
          "port": "deny",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "deny",
          "port": "reason",
          "role": "target",
          "ordinal": 0
        }
      ]
    },
    {
      "id": "evidence",
      "kind": "H02",
      "incidences": [
        {
          "node": "stepup",
          "port": "evidence",
          "role": "source",
          "ordinal": 0
        },
        {
          "node": "risk",
          "port": "stepUpEvidence",
          "role": "target",
          "ordinal": 0
        }
      ]
    }
  ]
}
