{
  "$schema": "https://next.mdxui.dev/schema.json",
  "theme": "callboard",
  "frame": "none",
  "template": "article",
  "title": "Security · Vanroster",
  "description": "How Vanroster keeps crew, customer and job data, with the plan each control applies to.",
  "sections": [
    {
      "kind": "nav",
      "shell": {"inset":"bleed","density":"none","surface":"glass","sticky":true},
      "block": {
        "type": "nav",
        "menu": "push",
        "collapse": 880,
        "brand": {"href":"/","text":"Vanroster","mark":"radar"},
        "links": [
          ["/product/dispatch","Dispatch"],
          ["/pricing","Pricing"],
          ["/changelog","Changelog"],
          ["/security","Security"]
        ],
        "cta": {"href":"/contact","label":"Book a walkthrough"}
      }
    },
    {
      "kind": "section",
      "shell": {"inset":"contained","density":"section"},
      "block": {
        "type": "page-head",
        "title": "Security",
        "lede": "How Vanroster keeps crew, customer and job data. Each control names the plans it applies to."
      }
    },
    {
      "kind": "section",
      "shell": {"inset":"contained","density":"section"},
      "block": {
        "type": "text-stack",
        "layout": "grid",
        "head": {"eyebrow":"Controls","title":"Six controls, stated plainly."},
        "items": [
          {"title":"Encryption","text":"TLS 1.3 in transit and AES-256 at rest, on every plan."},
          {
            "title": "One region",
            "text": "Data stays in the EU or the US, chosen at sign-up. It never moves between them."
          },
          {
            "title": "Roles",
            "text": "Owner, dispatcher and crew roles. A crew sees only its own jobs for the day."
          },
          {
            "title": "Single sign-on",
            "text": "SAML sign-on on Region. Crews sign in by text code on every plan."
          },
          {"title":"The change log","text":"Every change on the board, kept 1, 3 or 7 years by plan."},
          {"title":"Deletion","text":"A closed account is deleted within 30 days, backups included."}
        ]
      }
    },
    {
      "kind": "section",
      "shell": {"inset":"contained","density":"section","surface":"plate"},
      "block": {
        "type": "terminal",
        "variant": "plain",
        "title": "Change log export · JSON lines",
        "lang": "json",
        "lines": [
          "{\"at\":\"2026-10-13T07:41:02Z\",\"by\":\"dispatcher:north-1\",\"do\":\"crew.out\",\"crew\":\"B-2\"}",
          "{\"at\":\"2026-10-13T07:41:03Z\",\"by\":\"board\",\"do\":\"job.reassigned\",\"job\":\"J-1182\",\"to\":\"C-3\"}",
          "{\"at\":\"2026-10-13T07:41:03Z\",\"by\":\"board\",\"do\":\"job.reassigned\",\"job\":\"J-1190\",\"to\":\"D-4\"}",
          "{\"at\":\"2026-10-13T07:52:40Z\",\"by\":\"crew:C-3\",\"do\":\"job.started\",\"job\":\"J-1182\"}"
        ]
      }
    },
    {
      "kind": "section",
      "shell": {"inset":"contained","density":"section"},
      "block": {
        "type": "facts",
        "title": "For your review",
        "items": [
          {"label":"Data regions","value":"EU or US, chosen at sign-up"},
          {"label":"In transit","value":"TLS 1.3"},
          {"label":"At rest","value":"AES-256"},
          {"label":"Backups","value":"Hourly, kept 35 days"},
          {"label":"Sign-on","value":"SAML on Region","href":"/pricing"},
          {"label":"Security contact","value":"security@vanroster.example","code":true}
        ]
      }
    },
    {
      "kind": "closing",
      "shell": {"inset":"contained","density":"closing"},
      "block": {
        "type": "closing",
        "layout": "stack",
        "head": {
          "eyebrow": "Questionnaires",
          "title": "Send your questionnaire.",
          "lede": "A named contact answers security questionnaires within five working days."
        },
        "actions": [{"href":"/contact","label":"Send a questionnaire","kind":"solid"}]
      }
    },
    {
      "kind": "footer",
      "shell": {"inset":"contained","density":"footer"},
      "block": {
        "type": "footer",
        "layout": "areas",
        "brand": {"href":"/","text":"Vanroster","mark":"radar"},
        "blurb": "Crew scheduling for field-service teams: heating, electrical, plumbing, cleaning and grounds.",
        "columns": [
          {
            "title": "Product",
            "links": [["/product/dispatch","Dispatch"],["/pricing","Pricing"],["/changelog","Changelog"]]
          },
          {"title":"Company","links":[["/security","Security"],["/contact","Contact"]]},
          {
            "title": "For agents",
            "links": [["/product/dispatch","The Dispatch API"],["/records.zip","Site records (.zip)"]]
          }
        ],
        "cta": {"href":"/contact","label":"Book a walkthrough","icon":"arrow-right"},
        "note": [
          "Vanroster is a worked example on mdxui.dev, not a customer.",
          "Rendered by @mdxui/site. Forms here do not send."
        ]
      }
    }
  ]
}
