{
 "@context": {
  "skos": "http://www.w3.org/2004/02/skos/core#",
  "dcterms": "http://purl.org/dc/terms/",
  "owl": "http://www.w3.org/2002/07/owl#",
  "xsd": "http://www.w3.org/2001/XMLSchema#",
  "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
  "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
  "foaf": "http://xmlns.com/foaf/0.1/",
  "cc": "http://creativecommons.org/ns#",
  "ost": "https://ostering.com/ns/taxonomy#"
 },
 "@graph": [
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/",
   "@type": "skos:ConceptScheme",
   "dcterms:title": {
    "@value": "Care Assistant Threat Taxonomy",
    "@language": "en-GB"
   },
   "dcterms:alternative": {
    "@value": "Nobody Asked the Person Being Watched: A Threat Taxonomy for Care Monitoring at Home",
    "@language": "en-GB"
   },
   "dcterms:description": {
    "@value": "74 entries in 10 groups: nine suits along the care chain and the structural hazards. Each entry states a threat as a property of a component or a design decision, with the mitigation principle a sound design follows and concrete design measures. The reference for the card game Elevation of Care; the reference (skos:notation) is shared with the game and is a stable identifier, not a severity.",
    "@language": "en-GB"
   },
   "dcterms:creator": {
    "@id": "https://ostering.com/#brett-crawley"
   },
   "dcterms:publisher": {
    "@id": "https://ostering.com/"
   },
   "dcterms:issued": {
    "@value": "2026-11-02",
    "@type": "xsd:date"
   },
   "owl:versionInfo": "1.0",
   "dcterms:license": {
    "@id": "https://creativecommons.org/licenses/by-nc-nd/4.0/"
   },
   "cc:license": {
    "@id": "https://creativecommons.org/licenses/by-nc-nd/4.0/"
   },
   "dcterms:rights": {
    "@value": "© 2026 Jonathan Brett Crawley. This taxonomy is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International licence (CC BY-NC-ND 4.0), with the additional permissions below. Permission needed, by use: Sharing the whole taxonomy non-commercially (OWASP, universities, conferences, individuals): No; Threat modeling with it, including for paying clients: No; Internal use and training inside any organisation: No; Quoting entries, with credit, in paid courses, reports and talks: No; Shipping the taxonomy in a product: a tool's built-in library, a printed deck, a reprint for sale: Yes, ask me. Additional permissions: In addition to the rights the licence gives, and whether or not the use is commercial, the copyright holder grants you permission to: (1) use the taxonomy to threat model systems you build, operate or assess, including for paying clients; (2) use it internally, and for training, inside any organisation; (3) quote individual entries, with credit, in paid courses, reports, findings and talks. Any other commercial use, including shipping the taxonomy or a substantial part of it in a product (a tool's built-in library, a printed deck, a reprint for sale), needs written permission. Ask me on LinkedIn. These additional permissions are given alongside the licence. They add to what the licence allows and do not take anything away from it.",
    "@language": "en-GB"
   },
   "dcterms:rightsHolder": {
    "@id": "https://ostering.com/#brett-crawley"
   },
   "cc:attributionName": "Jonathan Brett Crawley",
   "cc:attributionURL": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "dcterms:source": {
    "@id": "https://ostering.com/"
   },
   "skos:hasTopConcept": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sensing/"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/alerting/"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/response/"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/resident/"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/"
    }
   ]
  },
  {
   "@id": "https://ostering.com/#brett-crawley",
   "@type": "foaf:Person",
   "foaf:name": "Jonathan Brett Crawley",
   "foaf:homepage": {
    "@id": "https://ostering.com/"
   }
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sensing/",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:notation": "SN",
   "skos:prefLabel": {
    "@value": "Sensing",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Sensing threats turn a quiet home into a false reassurance: the device, its radio or its power fails or is subverted, and the silence reads as safety.",
    "@language": "en-GB"
   },
   "skos:scopeNote": {
    "@value": "Sensors, wearables, radio links, the home unit and the home it sits in",
    "@language": "en-GB"
   },
   "ost:unit": "suit",
   "skos:narrower": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-a"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-k"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-q"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-j"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-10"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-9"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-8"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-7"
    }
   ],
   "ost:position": 1,
   "skos:related": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-a",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/sensing/"
   },
   "skos:notation": "EOC-SN-A",
   "skos:prefLabel": {
    "@value": "Silent Sensor",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "A sensor that stops reporting (flat battery, fault, removed, knocked off the wall) looks the same as a quiet, normal home, so the event it was there to catch goes unseen.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Treat the absence of data as a signal with its own deadline.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Give every sensor an expected reporting interval and raise a 'sensor quiet' alert at life-safety priority when it is exceeded.",
      "@language": "en-GB"
     },
     {
      "@value": "Show battery level and last-seen time to the care circle well before failure.",
      "@language": "en-GB"
     },
     {
      "@value": "Use supervised radio links with heartbeats so the base unit knows a device has gone, not just that it is idle.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "Partial",
   "ost:cweMatch": "Partial",
   "skos:broadMatch": [
    {
     "@id": "https://capec.mitre.org/data/definitions/607.html"
    },
    {
     "@id": "https://cwe.mitre.org/data/definitions/754.html"
    }
   ],
   "ost:capecBestFit": {
    "@id": "https://capec.mitre.org/data/definitions/607.html"
   },
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/754.html"
   }
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-k",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/sensing/"
   },
   "skos:notation": "EOC-SN-K",
   "skos:prefLabel": {
    "@value": "Lost Line",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Mains power, broadband, the cellular network or a legacy phone line fails, or is switched off by the carrier, and the home unit cannot reach anyone.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Every path to help has a backup, and the loss of a path is reported by the far end.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Size battery backup for a stated number of hours and report when running on battery.",
      "@language": "en-GB"
     },
     {
      "@value": "Use two independent paths (for example broadband and cellular), with the service, not the device, alerting when the device goes quiet.",
      "@language": "en-GB"
     },
     {
      "@value": "Track carrier network retirements (analogue phone lines, 2G, 3G) against the installed base.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None",
   "skos:example": {
    "@value": "Seen in: 3G network retirements stranding medical alert systems (United States, 2022).",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-q",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/sensing/"
   },
   "skos:notation": "EOC-SN-Q",
   "skos:prefLabel": {
    "@value": "Pendant on the Bedside Table",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Wearable buttons, socks and fall detectors work only when worn and charged; people take them off to bathe, sleep or avoid looking frail, babies kick them loose, and that can be exactly when something happens.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "The system's confidence does not depend on an assumption about the person's behaviour.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Detect and report when a wearable is not being worn or not charging.",
      "@language": "en-GB"
     },
     {
      "@value": "Use waterproof designs certified for the bathroom.",
      "@language": "en-GB"
     },
     {
      "@value": "Pair a wearable with ambient sensing where it would otherwise be the only sensor.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-j",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/sensing/"
   },
   "skos:notation": "EOC-SN-J",
   "skos:prefLabel": {
    "@value": "Unwatched Room",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Coverage has gaps by design (bathroom, stairs, garden, garage), and a fall in a gap produces no event while the family assumes the whole home is watched.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Make coverage explicit and say what the system cannot see.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Produce a coverage map at installation and show it to the care circle.",
      "@language": "en-GB"
     },
     {
      "@value": "Raise an alert when the person enters an unmonitored zone and does not come back within a set time.",
      "@language": "en-GB"
     },
     {
      "@value": "State the limits of coverage in plain words during onboarding and in the app.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-10",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/sensing/"
   },
   "skos:notation": "EOC-SN-10",
   "skos:prefLabel": {
    "@value": "Injected Normality",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "A rogue or cloned sensor joins the network and reports routine activity, masking an absence, a fall or a person who has not moved.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Only devices the household enrolled may speak, and every new voice is announced.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Allow joins only inside an explicit, time-limited pairing window opened by an authorised person.",
      "@language": "en-GB"
     },
     {
      "@value": "Alert the care circle when any device joins outside that window.",
      "@language": "en-GB"
     },
     {
      "@value": "Corroborate 'all normal' across independent sensors, not only 'something is wrong'.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Spoofing"
    },
    {
     "@id": "https://ostering.com/ns/stride#Tampering"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "Partial",
   "ost:cweMatch": "Direct",
   "skos:broadMatch": [
    {
     "@id": "https://capec.mitre.org/data/definitions/151.html"
    }
   ],
   "ost:capecBestFit": {
    "@id": "https://capec.mitre.org/data/definitions/151.html"
   },
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/290.html"
   },
   "skos:closeMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/290.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-9",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/sensing/"
   },
   "skos:notation": "EOC-SN-9",
   "skos:prefLabel": {
    "@value": "Jammed Link",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Interference or a deliberate jammer blocks the sensor or pendant radio band, so button presses and events never reach the base unit.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Loss of the radio channel is an event, and the system fails towards alerting.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Detect jamming from noise floor or missed supervision messages and raise a local and remote alert.",
      "@language": "en-GB"
     },
     {
      "@value": "Use supervised links with a short heartbeat for life-safety devices.",
      "@language": "en-GB"
     },
     {
      "@value": "Provide a second path (another band, or a wired or cellular fallback) for the trigger devices.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "Direct",
   "ost:cweMatch": "None",
   "skos:closeMatch": [
    {
     "@id": "https://capec.mitre.org/data/definitions/601.html"
    }
   ],
   "ost:capecBestFit": {
    "@id": "https://capec.mitre.org/data/definitions/601.html"
   }
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-8",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/sensing/"
   },
   "skos:notation": "EOC-SN-8",
   "skos:prefLabel": {
    "@value": "Open Hub on the Home Network",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The home unit trusts anything on the local network, and the homes of people who need care have many guests on the Wi-Fi (carers, family, visitors), so its data and controls are open to all of them.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "The home network is untrusted; every local interface authenticates.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Require authentication on every local route by default, with a short explicit allowlist.",
      "@language": "en-GB"
     },
     {
      "@value": "Pair app and hub with cryptographic proof in both directions.",
      "@language": "en-GB"
     },
     {
      "@value": "Bind local-only services to loopback and turn off discovery that is not needed.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Spoofing"
    },
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    },
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "Partial",
   "ost:cweMatch": "Direct",
   "skos:broadMatch": [
    {
     "@id": "https://capec.mitre.org/data/definitions/115.html"
    }
   ],
   "ost:capecBestFit": {
    "@id": "https://capec.mitre.org/data/definitions/115.html"
   },
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/306.html"
   },
   "skos:closeMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/306.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sensing/#eoc-sn-7",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/sensing/"
   },
   "skos:notation": "EOC-SN-7",
   "skos:prefLabel": {
    "@value": "Hands on the Hub",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Someone with a few minutes of physical access (visitor, tradesperson, carer, burglar) unplugs, swaps, boots or carries off the home unit to disable monitoring or read its data.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Physical access to the home is expected; the unit resists it and reports it.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Report tamper, power removal and enclosure opening to the service, not only locally.",
      "@language": "en-GB"
     },
     {
      "@value": "Encrypt stored data with a key held in a hardware secure element.",
      "@language": "en-GB"
     },
     {
      "@value": "Use verified boot and block unexpected USB input devices.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Tampering"
    },
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    },
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "Direct",
   "ost:cweMatch": "Partial",
   "skos:closeMatch": [
    {
     "@id": "https://capec.mitre.org/data/definitions/401.html"
    }
   ],
   "ost:capecBestFit": {
    "@id": "https://capec.mitre.org/data/definitions/401.html"
   },
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/1263.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/1263.html"
    },
    {
     "@id": "https://cwe.mitre.org/data/definitions/312.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:notation": "AV",
   "skos:prefLabel": {
    "@value": "Sight and Sound",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Sight and sound threats come from cameras, microphones and talk-back: the stream reaches the wrong people, sees too much, or lets a stranger into the room.",
    "@language": "en-GB"
   },
   "skos:scopeNote": {
    "@value": "Cameras, microphones, talk-back, live streams and recordings",
    "@language": "en-GB"
   },
   "ost:unit": "suit",
   "skos:narrower": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/#eoc-av-a"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/#eoc-av-k"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/#eoc-av-q"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/#eoc-av-j"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/#eoc-av-10"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/#eoc-av-9"
    }
   ],
   "ost:position": 2,
   "skos:related": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/#eoc-av-a",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/"
   },
   "skos:notation": "EOC-AV-A",
   "skos:prefLabel": {
    "@value": "A Stranger's Voice",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Talk-back lets anyone holding the account, or anyone who has taken it over, speak into the room where a child or vulnerable person is.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Speaking into a room is a privileged, announced and recorded action.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Require a fresh, device-bound proof to start talk-back, and resist credential stuffing on the account.",
      "@language": "en-GB"
     },
     {
      "@value": "Play a chime and light an indicator before any voice comes through.",
      "@language": "en-GB"
     },
     {
      "@value": "Log every talk-back session and show it to all watchers.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Spoofing"
    },
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "Direct",
   "ost:cweMatch": "Partial",
   "skos:example": {
    "@value": "Seen in: Stranger speaks to a child through a bedroom camera (Ring, 2019).",
    "@language": "en-GB"
   },
   "skos:closeMatch": [
    {
     "@id": "https://capec.mitre.org/data/definitions/600.html"
    }
   ],
   "ost:capecBestFit": {
    "@id": "https://capec.mitre.org/data/definitions/600.html"
   },
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/307.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/307.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/#eoc-av-k",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/"
   },
   "skos:notation": "EOC-AV-K",
   "skos:prefLabel": {
    "@value": "Open Stream",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Live video and audio can be reached by someone other than the watchers: through a cloud relay that joins devices by an identifier, default credentials, or a stream exposed on the local network.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "A stream reaches only authenticated, authorised viewers, and the relay cannot watch it.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Encrypt streams end to end with keys held only on the watchers' devices.",
      "@language": "en-GB"
     },
     {
      "@value": "Never treat a device identifier as a credential, and ship no default passwords.",
      "@language": "en-GB"
     },
     {
      "@value": "Authenticate every local stream endpoint.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    },
    {
     "@id": "https://ostering.com/ns/stride#Spoofing"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Datadisclosure"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "Direct",
   "ost:cweMatch": "Direct",
   "skos:example": {
    "@value": "Seen in: ThroughTek Kalay device impersonation, CVE-2021-28372 (2021); TRENDnet camera feeds posted online, FTC settlement (2013).",
    "@language": "en-GB"
   },
   "skos:closeMatch": [
    {
     "@id": "https://capec.mitre.org/data/definitions/634.html"
    },
    {
     "@id": "https://cwe.mitre.org/data/definitions/306.html"
    }
   ],
   "ost:capecBestFit": {
    "@id": "https://capec.mitre.org/data/definitions/634.html"
   },
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/306.html"
   }
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/#eoc-av-q",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/"
   },
   "skos:notation": "EOC-AV-Q",
   "skos:prefLabel": {
    "@value": "Clips That Travel",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Recordings of a child's or vulnerable person's most private moments are kept in the cloud, shared to family chats or social media, or produced in a dispute, long after anyone needed them.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Recordings are kept briefly and shared on purpose.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Keep no recording by default, and give saved clips a short retention period.",
      "@language": "en-GB"
     },
     {
      "@value": "Make sharing a deliberate action with a warning, not a one-tap default.",
      "@language": "en-GB"
     },
     {
      "@value": "Let the person filmed, or their representative, see and delete clips.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Datadisclosure"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "skos:example": {
    "@value": "Seen in: iBaby Monitor M6S alert clips reachable in cloud storage (2020).",
    "@language": "en-GB"
   },
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/359.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/359.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/#eoc-av-j",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/"
   },
   "skos:notation": "EOC-AV-J",
   "skos:prefLabel": {
    "@value": "The Camera Sees Too Much",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The camera and microphone capture far more than the cot or bed: other rooms, the bathroom, other people, the street and conversations nobody meant to share.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Capture only the area and the sound the purpose needs.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Offer privacy masks and a narrow field of view by default.",
      "@language": "en-GB"
     },
     {
      "@value": "Default to sound-level alerts rather than continuous audio.",
      "@language": "en-GB"
     },
     {
      "@value": "Show everyone in the home when capture is on.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Datadisclosure"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Unawareness"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/359.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/359.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/#eoc-av-10",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/"
   },
   "skos:notation": "EOC-AV-10",
   "skos:prefLabel": {
    "@value": "Hidden Nanny Cam",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The monitor is used to record a nanny, babysitter or paid carer without their knowledge, so the carer becomes the person watched over, with no notice and no rights.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Anyone recorded at work is told.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Build an on-device recording indicator that cannot be turned off.",
      "@language": "en-GB"
     },
     {
      "@value": "Prompt during setup to tell anyone who works in the home.",
      "@language": "en-GB"
     },
     {
      "@value": "Separate carer-facing views from family recordings.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:strideFit": "None",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Unawareness"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/#eoc-av-9",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/"
   },
   "skos:notation": "EOC-AV-9",
   "skos:prefLabel": {
    "@value": "Neighbour on the Same Channel",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "A local radio monitor sends sound or video unencrypted, so anyone nearby with a receiver on the same channel hears or sees the room.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Local radio links are encrypted and paired.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Encrypt the radio link with a key set at pairing.",
      "@language": "en-GB"
     },
     {
      "@value": "Pair units explicitly instead of joining any receiver on the channel.",
      "@language": "en-GB"
     },
     {
      "@value": "Warn when an unknown receiver tries to pair.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Datadisclosure"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "Direct",
   "ost:cweMatch": "Direct",
   "skos:closeMatch": [
    {
     "@id": "https://capec.mitre.org/data/definitions/117.html"
    },
    {
     "@id": "https://cwe.mitre.org/data/definitions/319.html"
    }
   ],
   "ost:capecBestFit": {
    "@id": "https://capec.mitre.org/data/definitions/117.html"
   },
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/319.html"
   }
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:notation": "IN",
   "skos:prefLabel": {
    "@value": "Interpretation",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Interpretation threats change what counts as an emergency, through drift, feedback, inference or an unauthorised change to the rules.",
    "@language": "en-GB"
   },
   "skos:scopeNote": {
    "@value": "Baselines, rules, models, feedback loops and what counts as an emergency",
    "@language": "en-GB"
   },
   "ost:unit": "suit",
   "skos:narrower": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/#eoc-in-a"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/#eoc-in-k"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/#eoc-in-q"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/#eoc-in-j"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/#eoc-in-10"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/#eoc-in-9"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/#eoc-in-8"
    }
   ],
   "ost:position": 3,
   "skos:related": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/alerting/"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sensing/"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/#eoc-in-a",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/"
   },
   "skos:notation": "EOC-IN-A",
   "skos:prefLabel": {
    "@value": "Model Veto",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "An inference (a pet, a visitor, 'house empty') is allowed to downgrade or cancel a deterministic life-safety alert.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "A model may add information to a life-safety alert, never take it away.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Require a second deterministic signal before any downgrade.",
      "@language": "en-GB"
     },
     {
      "@value": "Let models annotate an alert rather than change its severity.",
      "@language": "en-GB"
     },
     {
      "@value": "Log every downgrade and show it to the circle.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Tampering"
    },
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/807.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/807.html"
    },
    {
     "@id": "https://cwe.mitre.org/data/definitions/1039.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/#eoc-in-k",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/"
   },
   "skos:notation": "EOC-IN-K",
   "skos:prefLabel": {
    "@value": "Rewriting the Emergency",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Detection rules, model weights or the set of sensors that feed them can be changed by an unauthenticated or under-privileged caller.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Changing what counts as an emergency is a privileged, audited action.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Make rule, model and sensor-scope changes operator-only and audited.",
      "@language": "en-GB"
     },
     {
      "@value": "Have safety rules read raw sensor state whatever the model's scope says.",
      "@language": "en-GB"
     },
     {
      "@value": "Load only signed model artefacts.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Tampering"
    },
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Direct",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/306.html"
   },
   "skos:closeMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/306.html"
    },
    {
     "@id": "https://cwe.mitre.org/data/definitions/494.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/#eoc-in-q",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/"
   },
   "skos:notation": "EOC-IN-Q",
   "skos:prefLabel": {
    "@value": "Learning an Empty House",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The model keeps learning while its inputs are broken or partial, and treats the silence as routine.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Learning stops when the integrity of the input is unknown.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Check liveness per sensor class, not just for the whole event stream.",
      "@language": "en-GB"
     },
     {
      "@value": "Make the learning gate fail closed when the watchdog's verdict is stale.",
      "@language": "en-GB"
     },
     {
      "@value": "Send the watchdog's own heartbeat off the device.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Tampering"
    },
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/636.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/636.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/#eoc-in-j",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/"
   },
   "skos:notation": "EOC-IN-J",
   "skos:prefLabel": {
    "@value": "Learned Decline",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "An adaptive baseline re-learns a slow deterioration as the new normal, so the gradual change the product exists to spot never crosses a threshold.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Compare against a fixed reference as well as the moving one.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Keep an anchor baseline from enrolment, re-confirmed by a person at intervals.",
      "@language": "en-GB"
     },
     {
      "@value": "Report long-window trends alongside short-window anomalies.",
      "@language": "en-GB"
     },
     {
      "@value": "Cap how far a baseline may move without review.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Tampering"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/#eoc-in-10",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/"
   },
   "skos:notation": "EOC-IN-10",
   "skos:prefLabel": {
    "@value": "Feedback Ratchet",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "'False alarm' feedback raises thresholds without validation or decay, so one annoyed or compromised watcher can desensitise detection for good.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Feedback is bounded, attributable, reversible and visible.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Accept feedback only for a real, unresolved alert and the feature it named.",
      "@language": "en-GB"
     },
     {
      "@value": "Cap the effect per watcher and per time window.",
      "@language": "en-GB"
     },
     {
      "@value": "Decay adjustments on a schedule and show every threshold change to the whole circle.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Tampering"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/1288.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/1288.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/#eoc-in-9",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/"
   },
   "skos:notation": "EOC-IN-9",
   "skos:prefLabel": {
    "@value": "Alarm Flood",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "False alerts, accidental or deliberately induced, teach the circle or the responders to dismiss the channel, so the real event is ignored.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "The false-alert rate is a safety metric with an owner.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Track false alerts per household with a ceiling that triggers a review.",
      "@language": "en-GB"
     },
     {
      "@value": "Deduplicate and rate-limit repeated alerts.",
      "@language": "en-GB"
     },
     {
      "@value": "Treat a sudden burst of alerts from one source as possible manipulation.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "Partial",
   "ost:cweMatch": "Partial",
   "skos:broadMatch": [
    {
     "@id": "https://capec.mitre.org/data/definitions/125.html"
    },
    {
     "@id": "https://cwe.mitre.org/data/definitions/770.html"
    }
   ],
   "ost:capecBestFit": {
    "@id": "https://capec.mitre.org/data/definitions/125.html"
   },
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/770.html"
   }
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/#eoc-in-8",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/"
   },
   "skos:notation": "EOC-IN-8",
   "skos:prefLabel": {
    "@value": "Second Occupant",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "A spouse, live-in carer, lodger, pet or regular visitor confuses detection: their movement masks the resident's fall, or their absence is read as the resident's.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Detection knows whose movement it sees, or says that it does not.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Record household composition and offer explicit modes (guest, live-in carer, couple).",
      "@language": "en-GB"
     },
     {
      "@value": "Fuse per-person signals (a wearable, a phone) with ambient sensing where possible.",
      "@language": "en-GB"
     },
     {
      "@value": "Show the circle when occupancy is ambiguous and confidence is reduced.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/alerting/",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:notation": "AL",
   "skos:prefLabel": {
    "@value": "Alerting",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Alerting threats break the last metre: the alert exists but no person sees it, the wrong person sees it, or a fake one arrives.",
    "@language": "en-GB"
   },
   "skos:scopeNote": {
    "@value": "Getting an alert to a person who acts on it",
    "@language": "en-GB"
   },
   "ost:unit": "suit",
   "skos:narrower": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/alerting/#eoc-al-a"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/alerting/#eoc-al-k"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/alerting/#eoc-al-q"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/alerting/#eoc-al-j"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/alerting/#eoc-al-10"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/alerting/#eoc-al-9"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/alerting/#eoc-al-8"
    }
   ],
   "ost:position": 4,
   "skos:related": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/interpretation/"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/response/"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/alerting/#eoc-al-a",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/alerting/"
   },
   "skos:notation": "EOC-AL-A",
   "skos:prefLabel": {
    "@value": "Delivered to a Phone, Not a Person",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Delivery counts as done when the push service accepts the message, but nobody has seen it: the phone is silenced, asleep in another room, or in a do-not-disturb mode.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "An alert is complete when a person acknowledges it.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Require acknowledgement for critical alerts.",
      "@language": "en-GB"
     },
     {
      "@value": "Escalate on a timer to the next watcher, then to a voice call or text message.",
      "@language": "en-GB"
     },
     {
      "@value": "Use the platform's critical or high-priority alert channel where the platform allows it.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/alerting/#eoc-al-k",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/alerting/"
   },
   "skos:notation": "EOC-AL-K",
   "skos:prefLabel": {
    "@value": "Nobody on Call",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The whole circle is asleep, travelling or out of signal at once, or the circle is one exhausted person, and nothing notices the gap.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Coverage of the circle is monitored like coverage of the sensors.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Keep an on-call rota and warn about gaps in advance.",
      "@language": "en-GB"
     },
     {
      "@value": "Set a minimum circle size or offer a professional fallback.",
      "@language": "en-GB"
     },
     {
      "@value": "Tell the account holder when no watcher has been reachable for a set time.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/alerting/#eoc-al-q",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/alerting/"
   },
   "skos:notation": "EOC-AL-Q",
   "skos:prefLabel": {
    "@value": "Silent Snooze",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "One watcher snoozes, pauses or sets 'away', and the others do not know, so alerts are suppressed for everyone.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Every suppression is visible to every watcher and expires.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Show snooze and away states to all watchers, with who set them and until when.",
      "@language": "en-GB"
     },
     {
      "@value": "Put a maximum duration on any suppression.",
      "@language": "en-GB"
     },
     {
      "@value": "Let critical alerts bypass a snooze, or require confirmation from a second watcher.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    },
    {
     "@id": "https://ostering.com/ns/stride#Repudiation"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/alerting/#eoc-al-j",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/alerting/"
   },
   "skos:notation": "EOC-AL-J",
   "skos:prefLabel": {
    "@value": "Unmeasured Delay",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Nobody has measured how long each failure mode (radio, power, broadband, ingest, relay) takes to reach a person.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "State a time-to-human for every failure mode, and test it.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Write a target time per failure mode.",
      "@language": "en-GB"
     },
     {
      "@value": "Run a recurring bench test that injects each fault and measures the time to acknowledgement.",
      "@language": "en-GB"
     },
     {
      "@value": "Alert the operator when a target is missed.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/alerting/#eoc-al-10",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/alerting/"
   },
   "skos:notation": "EOC-AL-10",
   "skos:prefLabel": {
    "@value": "Wrong Recipient",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Alerts follow stale routing: a removed member, an old phone number, a handed-down handset or a recycled number still receives them.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Routing is re-verified, not assumed.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Ask watchers to confirm contact details at intervals.",
      "@language": "en-GB"
     },
     {
      "@value": "Revoke device push tokens when membership changes.",
      "@language": "en-GB"
     },
     {
      "@value": "Re-verify phone numbers before the first alert after a long gap.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Datadisclosure"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/359.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/359.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/alerting/#eoc-al-9",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/alerting/"
   },
   "skos:notation": "EOC-AL-9",
   "skos:prefLabel": {
    "@value": "Counterfeit Alarm",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Attackers send messages that look like the service ('Mum's alarm has gone off, tap to view') by text, email or messaging app, to harvest credentials or cause panic.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "A watcher can always check a genuine alert in the app.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Never put sign-in links in alerts.",
      "@language": "en-GB"
     },
     {
      "@value": "Authenticate the sending domain (SPF, DKIM, DMARC) and register SMS sender IDs where the country supports it.",
      "@language": "en-GB"
     },
     {
      "@value": "Teach watchers to open the app, not the link.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Spoofing"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "Direct",
   "ost:cweMatch": "None",
   "skos:closeMatch": [
    {
     "@id": "https://capec.mitre.org/data/definitions/98.html"
    }
   ],
   "ost:capecBestFit": {
    "@id": "https://capec.mitre.org/data/definitions/98.html"
   }
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/alerting/#eoc-al-8",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/alerting/"
   },
   "skos:notation": "EOC-AL-8",
   "skos:prefLabel": {
    "@value": "Lock-Screen Disclosure",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Alert text such as 'No movement since 02:10, bathroom' appears on lock screens, watches, car displays and shared tablets, telling whoever is nearby about a person's health and whereabouts.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Notification content is minimal by default; detail sits behind authentication.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Send generic notification text by default and show detail in the app.",
      "@language": "en-GB"
     },
     {
      "@value": "Let each watcher choose whether previews appear.",
      "@language": "en-GB"
     },
     {
      "@value": "Keep names, rooms and locations out of push payloads.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Datadisclosure"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Direct",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/359.html"
   },
   "skos:closeMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/359.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/response/",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:notation": "RS",
   "skos:prefLabel": {
    "@value": "Response",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Response threats sit after the alert: the people and services who act on it, and the access to the home they need. They apply to monitoring centres, clinical teams and responders, and to families who respond themselves.",
    "@language": "en-GB"
   },
   "skos:scopeNote": {
    "@value": "Monitoring centres, responders, entry to the home and the hand-off to emergency services",
    "@language": "en-GB"
   },
   "ost:unit": "suit",
   "skos:narrower": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/response/#eoc-rs-a"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/response/#eoc-rs-k"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/response/#eoc-rs-q"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/response/#eoc-rs-j"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/response/#eoc-rs-10"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/response/#eoc-rs-9"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/response/#eoc-rs-8"
    }
   ],
   "ost:position": 5,
   "skos:related": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/alerting/"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/response/#eoc-rs-a",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/response/"
   },
   "skos:notation": "EOC-RS-A",
   "skos:prefLabel": {
    "@value": "Centre Down",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The monitoring centre or cloud relay is down, overloaded or held by ransomware, and alarms queue unseen.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Every alarm has a second place to go.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Fail over to a separate centre or region.",
      "@language": "en-GB"
     },
     {
      "@value": "Monitor queue depth and age, and alarm on both.",
      "@language": "en-GB"
     },
     {
      "@value": "Fall back to direct-to-family alerts when the centre cannot answer in time.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/response/#eoc-rs-k",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/response/"
   },
   "skos:notation": "EOC-RS-K",
   "skos:prefLabel": {
    "@value": "Keys in the System",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Key-safe codes, door codes and entry instructions stored for responders are a way into a vulnerable person's home.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Entry details are secrets with the strictest access, rotation and audit.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Keep entry details in a separate encrypted store and audit every read.",
      "@language": "en-GB"
     },
     {
      "@value": "Release them only during an active alarm, to the dispatched responder.",
      "@language": "en-GB"
     },
     {
      "@value": "Prompt a code change after each use and after staff changes.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    },
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/522.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/522.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/response/#eoc-rs-q",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/response/"
   },
   "skos:notation": "EOC-RS-Q",
   "skos:prefLabel": {
    "@value": "Trusted Insider",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "A call handler, responder or support engineer misuses their access to the home, the data or the person.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Responder access is least-privilege, just-in-time and seen by the family.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Run background checks in proportion to the access granted.",
      "@language": "en-GB"
     },
     {
      "@value": "Grant access per incident, with expiry.",
      "@language": "en-GB"
     },
     {
      "@value": "Notify the resident and family of each access.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    },
    {
     "@id": "https://ostering.com/ns/stride#Repudiation"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/286.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/286.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/response/#eoc-rs-j",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/response/"
   },
   "skos:notation": "EOC-RS-J",
   "skos:prefLabel": {
    "@value": "Who's at the Door",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Someone claiming to be the responder, the installer or the care company calls or arrives at the door to get in or to get information.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "The resident can verify a visitor through the service.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Let the resident or family confirm a visitor in the app or by calling back a known number (named visitor, photo, one-time code).",
      "@language": "en-GB"
     },
     {
      "@value": "State on the device and in the welcome pack that the service never asks for codes or payment by phone.",
      "@language": "en-GB"
     },
     {
      "@value": "Notify the circle of every scheduled visit.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Spoofing"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "Direct",
   "ost:cweMatch": "None",
   "skos:closeMatch": [
    {
     "@id": "https://capec.mitre.org/data/definitions/407.html"
    }
   ],
   "ost:capecBestFit": {
    "@id": "https://capec.mitre.org/data/definitions/407.html"
   }
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/response/#eoc-rs-10",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/response/"
   },
   "skos:notation": "EOC-RS-10",
   "skos:prefLabel": {
    "@value": "Lost in Hand-off",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Details are lost or garbled between the system, the call handler and emergency services (address, access, medical notes, language), and help is slower.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "The hand-off is structured and tested end to end.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Pass a structured incident record (verified address, access, contacts) digitally where the emergency service accepts it.",
      "@language": "en-GB"
     },
     {
      "@value": "Verify the address at install and whenever it changes.",
      "@language": "en-GB"
     },
     {
      "@value": "Run end-to-end test calls on a schedule.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    },
    {
     "@id": "https://ostering.com/ns/stride#Tampering"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/response/#eoc-rs-9",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/response/"
   },
   "skos:notation": "EOC-RS-9",
   "skos:prefLabel": {
    "@value": "Wrong Responder",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Escalation sends the wrong help: police to a mental health crisis, a stranger to a person with dementia, or an emergency service when a known carer was needed, and the response itself causes harm.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Each person has a response plan, chosen with them in advance where possible.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Record a response plan per person: who to contact first, and who not to.",
      "@language": "en-GB"
     },
     {
      "@value": "Route crises to a specialist team before police where one exists.",
      "@language": "en-GB"
     },
     {
      "@value": "Capture the person's own preferences while they are well, and honour them.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/response/#eoc-rs-8",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/response/"
   },
   "skos:notation": "EOC-RS-8",
   "skos:prefLabel": {
    "@value": "Open Microphone",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Two-way voice units let the monitoring centre, or anyone who can start a call, listen into the home.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Audio opens only for an alarm, with an audible and visible indicator.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Open the speech path only after an alarm or a call the resident starts.",
      "@language": "en-GB"
     },
     {
      "@value": "Play a tone and light an indicator while audio is open.",
      "@language": "en-GB"
     },
     {
      "@value": "Audit every audio session.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Datadisclosure"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/306.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/306.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:notation": "CC",
   "skos:prefLabel": {
    "@value": "Care Circle",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Care-circle threats come from the watchers: misuse by people with legitimate access, disputes between them, and takeover of their accounts.",
    "@language": "en-GB"
   },
   "skos:scopeNote": {
    "@value": "The watchers: parents, family, friends, paid carers, agencies and clinical teams",
    "@language": "en-GB"
   },
   "ost:unit": "suit",
   "skos:narrower": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-a"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-k"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-q"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-j"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-10"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-9"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-8"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-7"
    }
   ],
   "ost:position": 6,
   "skos:related": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/sight-and-sound/"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/resident/"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-a",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/"
   },
   "skos:notation": "EOC-CC-A",
   "skos:prefLabel": {
    "@value": "Ex-Partner Still Watching",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "After a separation, one parent or partner keeps access to the cameras or app and can still see into the other's home, a serious risk where there has been abuse.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Access ends with the relationship, by a route that does not need the other party's cooperation.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Let any adult in the home see who is watching and remove access through a safety route.",
      "@language": "en-GB"
     },
     {
      "@value": "Notify the household when a watcher signs in from a new device or location.",
      "@language": "en-GB"
     },
     {
      "@value": "Offer a safety mode that hides location and occupancy from all watchers.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    },
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Datadisclosure"
    }
   ],
   "ost:linddunFit": "Loose",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/286.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/286.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-k",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/"
   },
   "skos:notation": "EOC-CC-K",
   "skos:prefLabel": {
    "@value": "Watching as Control",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "A watcher uses the monitoring to police or coerce the person rather than keep them safe: a parent of an adult child, a partner, a family member or a service.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "The watched person can see who watches and can push back.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Give the resident a view of every watcher and what each can see.",
      "@language": "en-GB"
     },
     {
      "@value": "Notify the resident on every enrolment and permission change.",
      "@language": "en-GB"
     },
     {
      "@value": "Build a safeguarding route into support.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:strideFit": "None",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Unawareness"
    }
   ],
   "ost:linddunFit": "Loose",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-q",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/"
   },
   "skos:notation": "EOC-CC-Q",
   "skos:prefLabel": {
    "@value": "Stolen Watcher",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "A watcher's session or device is taken over and used remotely to watch the home or to snooze alerts before a burglary.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Sensitive actions need a fresh, device-bound proof.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Bind sessions to the enrolled device.",
      "@language": "en-GB"
     },
     {
      "@value": "Require step-up for snooze, away and membership changes.",
      "@language": "en-GB"
     },
     {
      "@value": "Tell the circle when a new device signs in.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Spoofing"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "Direct",
   "ost:cweMatch": "Partial",
   "skos:closeMatch": [
    {
     "@id": "https://capec.mitre.org/data/definitions/593.html"
    }
   ],
   "ost:capecBestFit": {
    "@id": "https://capec.mitre.org/data/definitions/593.html"
   },
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/1464.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/1464.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-j",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/"
   },
   "skos:notation": "EOC-CC-J",
   "skos:prefLabel": {
    "@value": "Next Door's Mother",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "A watcher reaches another household's data by changing an identifier, which matters most on platforms where agencies manage many households.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Every request is checked against membership of that household.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Check membership on every read and write.",
      "@language": "en-GB"
     },
     {
      "@value": "Run an automated sweep across every route as a merge gate.",
      "@language": "en-GB"
     },
     {
      "@value": "Use identifiers that cannot be guessed.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    },
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Direct",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/639.html"
   },
   "skos:closeMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/639.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-10",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/"
   },
   "skos:notation": "EOC-CC-10",
   "skos:prefLabel": {
    "@value": "Family Feud",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Family members disagree (separation, estrangement, inheritance), and one adds, removes or locks out the others, or keeps access after falling out.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Membership changes follow a defined authority, not whoever acts first.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Define roles with clear authority (resident, legal representative, primary watcher) at setup.",
      "@language": "en-GB"
     },
     {
      "@value": "Notify everyone affected by a removal, with a way to contest it.",
      "@language": "en-GB"
     },
     {
      "@value": "Record who may remove whom.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    },
    {
     "@id": "https://ostering.com/ns/stride#Repudiation"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/863.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/863.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-9",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/"
   },
   "skos:notation": "EOC-CC-9",
   "skos:prefLabel": {
    "@value": "Carer Overreach",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Agency or private carers given access for their visits keep broad or permanent access to timelines, location and home controls.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Professional access is scoped to visits and expires.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Tie a carer's access to scheduled visits.",
      "@language": "en-GB"
     },
     {
      "@value": "Show carers tasks, not the full history.",
      "@language": "en-GB"
     },
     {
      "@value": "Revoke all staff when an agency relationship ends.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    },
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/286.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/286.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-8",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/"
   },
   "skos:notation": "EOC-CC-8",
   "skos:prefLabel": {
    "@value": "Watched by the Service",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "A clinical team or care service monitors the person under a care plan, a legal power or a condition of discharge; the person cannot easily refuse, and the data flows to an institution.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Required monitoring is bounded by its basis, its end date and what the person can see.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Record the legal or care-plan basis of the monitoring and when it ends.",
      "@language": "en-GB"
     },
     {
      "@value": "Show the person what is collected and who sees it.",
      "@language": "en-GB"
     },
     {
      "@value": "Give the person a route to an independent advocate.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Unawareness"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/#eoc-cc-7",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/"
   },
   "skos:notation": "EOC-CC-7",
   "skos:prefLabel": {
    "@value": "Background Check Hoard",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The platform stores carers' background-check identifiers or results, a dataset that is valuable to criminals and harmful to the carers if leaked.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Keep the verification outcome, not the identifier.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Store status and date once verification completes.",
      "@language": "en-GB"
     },
     {
      "@value": "Purge identifiers after a short window.",
      "@language": "en-GB"
     },
     {
      "@value": "Audit every decryption.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    },
    {
     "@id": "https://ostering.com/ns/stride#Repudiation"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/312.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/312.html"
    },
    {
     "@id": "https://cwe.mitre.org/data/definitions/778.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/resident/",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:notation": "RE",
   "skos:prefLabel": {
    "@value": "Resident",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Resident threats concern the person watched over (a baby, a child, an older person, someone with a disability or in mental health care) and everyone else the sensors see: consent, capacity, objection, harm from the watching itself, and being targeted.",
    "@language": "en-GB"
   },
   "skos:scopeNote": {
    "@value": "The person watched over (baby, child, older person, person with a disability or in mental health care) and everyone else the sensors see",
    "@language": "en-GB"
   },
   "ost:unit": "suit",
   "skos:narrower": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-a"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-k"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-q"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-j"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-10"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-9"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-8"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-7"
    }
   ],
   "ost:position": 7,
   "skos:related": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/care-circle/"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-a",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/resident/"
   },
   "skos:notation": "EOC-RE-A",
   "skos:prefLabel": {
    "@value": "Target List",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Data showing that someone is vulnerable (very old, very young, unwell, alone) in waitlists, customer lists, leaked databases, or even the device's box in the recycling, is used to target them or their family with fraud, doorstep crime or worse.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "'Who is vulnerable' is sensitive data in every store.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Protect marketing and waitlist data like customer data.",
      "@language": "en-GB"
     },
     {
      "@value": "Do not reveal whether an address is registered.",
      "@language": "en-GB"
     },
     {
      "@value": "Avoid branding on packaging and on the outside of the home.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Linking"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Datadisclosure"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Direct",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/359.html"
   },
   "skos:closeMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/359.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-k",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/resident/"
   },
   "skos:notation": "EOC-RE-K",
   "skos:prefLabel": {
    "@value": "Unplugged on Purpose",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The resident switches off, unplugs or hides devices because they do not want to be watched; the system cannot tell objection from failure or attack, so it either ignores it or raises the alarm.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "The resident's objection has a legitimate, visible path.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Give the resident a pause the circle sees as 'paused by resident'.",
      "@language": "en-GB"
     },
     {
      "@value": "Tell a pause apart from tamper and from failure.",
      "@language": "en-GB"
     },
     {
      "@value": "Prompt a conversation rather than an escalation.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Unawareness"
    }
   ],
   "ost:linddunFit": "Loose",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-q",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/resident/"
   },
   "skos:notation": "EOC-RE-Q",
   "skos:prefLabel": {
    "@value": "Watched into Distress",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Being monitored harms the person: it can feed paranoid symptoms, strip dignity, break a teenager's trust, or lead the person to disengage from care.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Use the least monitoring that meets the need, agreed with the person where possible.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Offer a minimal mode that reports only what the purpose needs.",
      "@language": "en-GB"
     },
     {
      "@value": "Let the person choose what is shared, where they are able to.",
      "@language": "en-GB"
     },
     {
      "@value": "Review the effect of the monitoring with the person, not only with the watchers.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:strideFit": "None",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Unawareness"
    }
   ],
   "ost:linddunFit": "Loose",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-j",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/resident/"
   },
   "skos:notation": "EOC-RE-J",
   "skos:prefLabel": {
    "@value": "Rights on Paper",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The controls the resident must use (pause, objection, transparency view, alarm button, voice prompts) do not work for their sight, hearing, dexterity, memory or language, so their rights exist only on paper.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Controls for the resident are designed for the resident.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Test resident-facing controls with people who have the target impairments.",
      "@language": "en-GB"
     },
     {
      "@value": "Offer a non-app route (a button on the device, a phone call).",
      "@language": "en-GB"
     },
     {
      "@value": "Meet a recognised accessibility standard for the resident's surfaces.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:strideFit": "None",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Unawareness"
    }
   ],
   "ost:linddunFit": "Loose",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-10",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/resident/"
   },
   "skos:notation": "EOC-RE-10",
   "skos:prefLabel": {
    "@value": "Consent Out of Step with Capacity",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Consent given once stays in force while the person's capacity changes: declining with dementia, growing as a child gets older, or coming and going with mental illness.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Consent follows capacity, with a route to a substitute decision-maker and to what the person said while well.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Review consent at intervals and at known milestones (a birthday, a discharge, a diagnosis).",
      "@language": "en-GB"
     },
     {
      "@value": "Record the legal representative recognised in the person's country, and any advance statement the person made while well.",
      "@language": "en-GB"
     },
     {
      "@value": "Give the person an objection that pauses processing, and re-confirm with them when capacity returns.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:strideFit": "None",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    }
   ],
   "ost:linddunFit": "Loose",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-9",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/resident/"
   },
   "skos:notation": "EOC-RE-9",
   "skos:prefLabel": {
    "@value": "Enrolled Without Knowing",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Family set the resident up without telling them, or tell them in a way they cannot understand.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "The resident is told in a form they understand, on the device itself.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Put a visible indicator on the device.",
      "@language": "en-GB"
     },
     {
      "@value": "Explain it in plain language, large print, audio and the resident's own language.",
      "@language": "en-GB"
     },
     {
      "@value": "Have the resident confirm at installation where they are able to.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:strideFit": "None",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Unawareness"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-8",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/resident/"
   },
   "skos:notation": "EOC-RE-8",
   "skos:prefLabel": {
    "@value": "Bystander Data",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Co-residents, siblings, visitors, nannies and live-in carers are monitored too, but never consented, are not told, and cannot see or erase their data.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Everyone the sensors see is a data subject.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Put a notice on the device and in the home.",
      "@language": "en-GB"
     },
     {
      "@value": "Record household composition and minimise per-person data.",
      "@language": "en-GB"
     },
     {
      "@value": "Offer a request route to people who are not account holders.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:strideFit": "None",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Unawareness"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/359.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/359.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/resident/#eoc-re-7",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/resident/"
   },
   "skos:notation": "EOC-RE-7",
   "skos:prefLabel": {
    "@value": "Monitoring That Outlives Its Purpose",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Monitoring started for a reason (a newborn, a hospital discharge, a bad spell) carries on after the reason has gone: the baby monitor becomes tracking a teenager, and recovery never ends the watching.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Monitoring has an end condition set at the start.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Set a purpose and a review date at setup.",
      "@language": "en-GB"
     },
     {
      "@value": "Prompt a review at milestones such as a birthday, a discharge or recovery.",
      "@language": "en-GB"
     },
     {
      "@value": "Hand control to the person as their capacity grows.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:strideFit": "None",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Unawareness"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:notation": "DA",
   "skos:prefLabel": {
    "@value": "Data and Inference",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Data threats concern what the record reveals about a vulnerable person, and where its copies end up.",
    "@language": "en-GB"
   },
   "skos:scopeNote": {
    "@value": "What the record reveals, where copies live and how long they last",
    "@language": "en-GB"
   },
   "ost:unit": "suit",
   "skos:narrower": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-a"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-k"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-q"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-j"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-10"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-9"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-8"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-7"
    }
   ],
   "ost:position": 8,
   "skos:related": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/resident/"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-a",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/"
   },
   "skos:notation": "EOC-DA-A",
   "skos:prefLabel": {
    "@value": "Routine as Reconnaissance",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Activity data shows when the person is alone, asleep or out, which is a burglar's or abuser's timetable.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Protect routine data like the keys to the house.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Process on the device and send only minimal derived signals.",
      "@language": "en-GB"
     },
     {
      "@value": "Encrypt at rest everywhere, including backups and snapshots.",
      "@language": "en-GB"
     },
     {
      "@value": "Audit who reads it.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Datadisclosure"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Direct",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/359.html"
   },
   "skos:closeMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/359.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-k",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/"
   },
   "skos:notation": "EOC-DA-K",
   "skos:prefLabel": {
    "@value": "Evidence Against Them",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Monitoring data is turned on the person it was meant to protect: in a custody dispute, a compulsory treatment decision, a benefits assessment, an insurance claim or a criminal case.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Data leaves the care relationship only under declared rules, and the person is told.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Publish when and to whom data is disclosed, and the legal basis needed.",
      "@language": "en-GB"
     },
     {
      "@value": "Require a formal request, and log every disclosure.",
      "@language": "en-GB"
     },
     {
      "@value": "Notify the person or their representative of each disclosure unless the law forbids it.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Datadisclosure"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    }
   ],
   "ost:linddunFit": "Loose",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-q",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/"
   },
   "skos:notation": "EOC-DA-Q",
   "skos:prefLabel": {
    "@value": "Missing Record",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "After an injury or death, the family, an inquest, an insurer or the police need the event record, and it is incomplete, editable or already deleted.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Safety-relevant events are tamper-evident and can be preserved on request.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Hash-chain safety event logs.",
      "@language": "en-GB"
     },
     {
      "@value": "Provide a legal-hold process that suspends deletion.",
      "@language": "en-GB"
     },
     {
      "@value": "Document an export format.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Repudiation"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "Partial",
   "ost:cweMatch": "Partial",
   "skos:broadMatch": [
    {
     "@id": "https://capec.mitre.org/data/definitions/268.html"
    },
    {
     "@id": "https://cwe.mitre.org/data/definitions/778.html"
    },
    {
     "@id": "https://cwe.mitre.org/data/definitions/732.html"
    }
   ],
   "ost:capecBestFit": {
    "@id": "https://capec.mitre.org/data/definitions/268.html"
   },
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/778.html"
   }
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-j",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/"
   },
   "skos:notation": "EOC-DA-J",
   "skos:prefLabel": {
    "@value": "Inferred Diagnosis",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Routine, phone or sensor data is used to infer conditions or state of mind (infection, cognitive decline, low mood, relapse), creating stigmatising health data nobody supplied.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Decide and declare which inferences are made, and protect them as health data.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Keep an inventory of inferences and what each is for.",
      "@language": "en-GB"
     },
     {
      "@value": "Frame outputs as observations, not diagnoses.",
      "@language": "en-GB"
     },
     {
      "@value": "Protect inference outputs at the same level as health records.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Datadisclosure"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Identifying"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-10",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/"
   },
   "skos:notation": "EOC-DA-10",
   "skos:prefLabel": {
    "@value": "Second Purpose",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Data is reused for model training, research, insurers or sale without a fresh lawful basis or the resident's knowledge.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Data is bound to its purpose; new uses need a new opt-in.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Tag data with its purpose at collection.",
      "@language": "en-GB"
     },
     {
      "@value": "Gate any new use on recorded consent or another lawful basis.",
      "@language": "en-GB"
     },
     {
      "@value": "Disable ingestion routes for unapproved purposes.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:strideFit": "None",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-9",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/"
   },
   "skos:notation": "EOC-DA-9",
   "skos:prefLabel": {
    "@value": "Frailty Map",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Metadata across households (alert frequency, night-time alerts) ranks who is frailest without reading any alert content.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Minimise delivery metadata and age it out.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Keep per-alert delivery records only briefly.",
      "@language": "en-GB"
     },
     {
      "@value": "Aggregate to daily counts.",
      "@language": "en-GB"
     },
     {
      "@value": "Restrict analytics access.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Linking"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Direct",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/1230.html"
   },
   "skos:closeMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/1230.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-8",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/"
   },
   "skos:notation": "EOC-DA-8",
   "skos:prefLabel": {
    "@value": "Erasure That Doesn't",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Closing an account removes the account holder but leaves the resident's records, consents and care notes behind.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Erasure covers every subject-linked record in one tested transaction.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Keep an inventory of subject-linked tables.",
      "@language": "en-GB"
     },
     {
      "@value": "Erase in one transaction.",
      "@language": "en-GB"
     },
     {
      "@value": "Run a seed, erase and assert test against the schema.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:strideFit": "None",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/459.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/459.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/#eoc-da-7",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/"
   },
   "skos:notation": "EOC-DA-7",
   "skos:prefLabel": {
    "@value": "Copies That Linger",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Raw data persists in caches, recorders, snapshots, backups and logs long after the stated retention.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "One retention schedule per data category, enforced in every copy.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Inventory every store that holds a copy.",
      "@language": "en-GB"
     },
     {
      "@value": "Enforce retention in each store, including backups.",
      "@language": "en-GB"
     },
     {
      "@value": "Test retention as code.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Direct",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/459.html"
   },
   "skos:closeMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/459.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:notation": "LC",
   "skos:prefLabel": {
    "@value": "Lifecycle",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Lifecycle threats arise when the household changes: installation, moves, resale, death and the end of the service.",
    "@language": "en-GB"
   },
   "skos:scopeNote": {
    "@value": "Install, claim, moves, resale, death and the end of the service",
    "@language": "en-GB"
   },
   "ost:unit": "suit",
   "skos:narrower": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/#eoc-lc-a"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/#eoc-lc-k"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/#eoc-lc-q"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/#eoc-lc-j"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/#eoc-lc-10"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/#eoc-lc-9"
    }
   ],
   "ost:position": 9,
   "skos:related": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/data-and-inference/"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/#eoc-lc-a",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/"
   },
   "skos:notation": "EOC-LC-A",
   "skos:prefLabel": {
    "@value": "Fleet-Wide Regression",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "One update breaks detection or connectivity across every home at once.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Updates to a safety function roll out in stages behind a safety test.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Run safety regression tests (fall, no-motion, silence) in the release gate.",
      "@language": "en-GB"
     },
     {
      "@value": "Roll out in stages with health gates and automatic rollback.",
      "@language": "en-GB"
     },
     {
      "@value": "Watch alert volumes per cohort after each release.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/#eoc-lc-k",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/"
   },
   "skos:notation": "EOC-LC-K",
   "skos:prefLabel": {
    "@value": "Vendor Exit",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The provider shuts down, is acquired or ends support, and devices stop alerting, possibly without anyone noticing, or the data passes to a new owner.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Users are told in advance, and devices fail loudly.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Declare a support period.",
      "@language": "en-GB"
     },
     {
      "@value": "Give notice of end of service and a local-only fallback.",
      "@language": "en-GB"
     },
     {
      "@value": "Set data transfer terms in advance.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    }
   ],
   "ost:linddunFit": "Loose",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/#eoc-lc-q",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/"
   },
   "skos:notation": "EOC-LC-Q",
   "skos:prefLabel": {
    "@value": "First to Claim",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "At installation, whoever claims the device first (a neighbour on the Wi-Fi, an installer, a previous owner) becomes its controller.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Claiming proves both possession and entitlement.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Use an out-of-band proof of possession (QR code, Bluetooth pairing, a code inside the box).",
      "@language": "en-GB"
     },
     {
      "@value": "Check entitlement before binding.",
      "@language": "en-GB"
     },
     {
      "@value": "Notify the purchaser of every claim.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Spoofing"
    },
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    }
   ],
   "ost:strideFit": "Clean",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/306.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/306.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/#eoc-lc-j",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/"
   },
   "skos:notation": "EOC-LC-J",
   "skos:prefLabel": {
    "@value": "After a Death",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The system may be first to detect a death, then carries on: alerts and reminders keep coming, nobody controls the account, the record is in limbo and the hub stays on the wall.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Bereavement is a designed flow.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Provide a verified 'deceased' state that stops alerts and reminders.",
      "@language": "en-GB"
     },
     {
      "@value": "Define who may act for the account afterwards and on what proof.",
      "@language": "en-GB"
     },
     {
      "@value": "Decide what is kept, for how long and why (see EOC-DA-Q).",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:strideFit": "None",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    }
   ],
   "ost:linddunFit": "Loose",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/#eoc-lc-10",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/"
   },
   "skos:notation": "EOC-LC-10",
   "skos:prefLabel": {
    "@value": "Second-Hand Device",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "A resold, handed-down or re-homed device carries the previous household's data or recordings, or still reports to the previous watchers.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "A change of household is a full reset on both device and service.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Revoke all memberships and tokens on deregistration.",
      "@language": "en-GB"
     },
     {
      "@value": "Have the service verify that the device was wiped.",
      "@language": "en-GB"
     },
     {
      "@value": "Refuse a claim on a device with live bindings until they are released.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Datadisclosure"
    }
   ],
   "ost:linddunFit": "Clean",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Direct",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/1266.html"
   },
   "skos:closeMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/1266.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/#eoc-lc-9",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/lifecycle/"
   },
   "skos:notation": "EOC-LC-9",
   "skos:prefLabel": {
    "@value": "Moved Out",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The resident moves to hospital, a care home or a relative's home; monitoring carries on in an empty house, or the account and data are left dangling.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "A change of setting is an explicit state with an end date.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Offer 'in hospital' and 'moved' states that pause alerts and expire.",
      "@language": "en-GB"
     },
     {
      "@value": "Provide a closure workflow that hands over or erases data.",
      "@language": "en-GB"
     },
     {
      "@value": "Remind the account holder when a pause outlives its date.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    }
   ],
   "ost:linddunFit": "Loose",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:notation": "T",
   "skos:prefLabel": {
    "@value": "Structural hazards",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "These nine hazards are properties of the domain itself, so no single suit can fix them. Apply them to the whole design after the suits; they usually explain several findings at once.",
    "@language": "en-GB"
   },
   "skos:scopeNote": {
    "@value": "Properties of the domain that cut across every suit",
    "@language": "en-GB"
   },
   "ost:unit": "structural hazards",
   "skos:narrower": [
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t1"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t2"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t3"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t4"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t5"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t6"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t7"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t8"
    },
    {
     "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t9"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t1",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/"
   },
   "skos:notation": "EOC-T1",
   "skos:prefLabel": {
    "@value": "Silence Reads as Safety",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "In this domain 'no alert' looks exactly like 'all well'. Any break anywhere in the chain from sensor to person turns into reassurance unless the system proves its own liveness end to end.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Prove the whole chain is alive, continuously, to someone outside it.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Send end-to-end heartbeats from sensor to acknowledged watcher.",
      "@language": "en-GB"
     },
     {
      "@value": "Run synthetic test alarms on a schedule.",
      "@language": "en-GB"
     },
     {
      "@value": "Give every silence a deadline.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/754.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/754.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t2",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/"
   },
   "skos:notation": "EOC-T2",
   "skos:prefLabel": {
    "@value": "The Watched Is Not the User",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The resident bears the risk, but someone else buys, configures and uses the product, so defaults, consent and the interface serve the buyer.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Design every default from the resident's side first.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Write a resident persona into requirements.",
      "@language": "en-GB"
     },
     {
      "@value": "Review each default for whose interest it serves.",
      "@language": "en-GB"
     },
     {
      "@value": "Give the resident a voice in support and complaints.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:strideFit": "None",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Unawareness"
    }
   ],
   "ost:linddunFit": "Loose",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t3",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/"
   },
   "skos:notation": "EOC-T3",
   "skos:prefLabel": {
    "@value": "Intended Purpose Drift",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Marketing copy, app-store text or a new feature (an 'early warning' claim, heart-rate or oxygen readings, a relapse prediction) moves the product from consumer rules into medical-device rules, or back, and its security obligations change with it.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Intended purpose is a controlled design input, reviewed like code.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Write the intended purpose down and gate claims in copy, labels and features against it.",
      "@language": "en-GB"
     },
     {
      "@value": "Record the regulatory qualification decision for each market.",
      "@language": "en-GB"
     },
     {
      "@value": "Re-assess when a feature adds a physiological signal or a condition-specific claim.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:strideFit": "None",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    }
   ],
   "ost:linddunFit": "Loose",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None",
   "skos:example": {
    "@value": "Seen in: FDA warning letter on Owlet Smart Sock (2021), later Dream Sock De Novo clearance (2023).",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t4",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/"
   },
   "skos:notation": "EOC-T4",
   "skos:prefLabel": {
    "@value": "Safety–Privacy Inversion",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Every privacy control (minimisation, deletion, pause) can cost a missed alert, and every safety control (more sensors, longer retention) costs privacy, and the trade is often made silently on one side.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Make each trade-off explicit and owned by someone.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Record each safety-versus-privacy decision in an ADR, with an owner.",
      "@language": "en-GB"
     },
     {
      "@value": "Show the resident and circle what each choice gives up.",
      "@language": "en-GB"
     },
     {
      "@value": "Revisit the decisions when capacity changes.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:strideFit": "None",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t5",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/"
   },
   "skos:notation": "EOC-T5",
   "skos:prefLabel": {
    "@value": "Promised Vigilance",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "Families check in less because 'the system is watching', or rely on a monitor for sleep safety, while detection has real miss rates and blind spots, so the product replaces the care it was meant to support.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Claims match measured capability, and the limits are stated.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Publish measured detection and miss rates where claims are made.",
      "@language": "en-GB"
     },
     {
      "@value": "Show limits in the app, not only in the terms.",
      "@language": "en-GB"
     },
     {
      "@value": "Nudge contact rather than replace it.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:strideFit": "None",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t6",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/"
   },
   "skos:notation": "EOC-T6",
   "skos:prefLabel": {
    "@value": "Inside the Walls, Outside the Boundary",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The home network, the people who live there and their visitors are all inside the physical perimeter but outside the trust boundary, which the design forgets.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Model the household as several principals, not one.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Draw the household's people as separate actors in the data-flow diagram.",
      "@language": "en-GB"
     },
     {
      "@value": "Authenticate local interfaces.",
      "@language": "en-GB"
     },
     {
      "@value": "Assume a visitor has the Wi-Fi password.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Spoofing"
    },
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/306.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/306.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t7",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/"
   },
   "skos:notation": "EOC-T7",
   "skos:prefLabel": {
    "@value": "Many Principals, One Person",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The person, parents and co-parents, family, the legal representative, carers, agencies, clinical teams, the provider and the payer all have different rights, and the system does not say whose decision each control is.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Every control names who may operate it and on whose behalf.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Keep a decision-rights matrix for every sensitive action.",
      "@language": "en-GB"
     },
     {
      "@value": "Record the authority each action was taken under.",
      "@language": "en-GB"
     },
     {
      "@value": "Change rights when capacity or relationships change.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    },
    {
     "@id": "https://ostering.com/ns/stride#Repudiation"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "Partial",
   "ost:cweBestFit": {
    "@id": "https://cwe.mitre.org/data/definitions/862.html"
   },
   "skos:broadMatch": [
    {
     "@id": "https://cwe.mitre.org/data/definitions/862.html"
    }
   ]
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t8",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/"
   },
   "skos:notation": "EOC-T8",
   "skos:prefLabel": {
    "@value": "Response Is Part of the System",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The human response chain (family, monitoring centre, responders, emergency services) is in scope; a perfect detector with an unanswered phone still fails.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Threat model the response as well as the technology.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Put the response chain into the data-flow diagram.",
      "@language": "en-GB"
     },
     {
      "@value": "Set targets for time to a human.",
      "@language": "en-GB"
     },
     {
      "@value": "Test the response end to end, with people.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": true,
   "ost:stride": [
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    }
   ],
   "ost:strideFit": "Loose",
   "ost:linddunFit": "None",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/#eoc-t9",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/taxonomies/care-assistant/"
   },
   "skos:broader": {
    "@id": "https://ostering.com/taxonomies/care-assistant/structural-hazards/"
   },
   "skos:notation": "EOC-T9",
   "skos:prefLabel": {
    "@value": "Capacity Is Not Fixed",
    "@language": "en-GB"
   },
   "skos:definition": {
    "@value": "The design assumes the person's capacity is fixed, but it declines (dementia), grows (children) or comes and goes (mental illness), so consent, controls and rights are wrong for most of the person's time with the product.",
    "@language": "en-GB"
   },
   "ost:mitigationPrinciple": {
    "@value": "Model capacity as something that changes, and design every right and control for each state.",
    "@language": "en-GB"
   },
   "ost:designMeasure": {
    "@list": [
     {
      "@value": "Draw the capacity states the person can be in, and who decides in each.",
      "@language": "en-GB"
     },
     {
      "@value": "Attach a review trigger to every state change.",
      "@language": "en-GB"
     },
     {
      "@value": "Test each control in each state, including the person's own controls.",
      "@language": "en-GB"
     }
    ]
   },
   "ost:lifeSafety": false,
   "ost:strideFit": "None",
   "ost:linddun": [
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Unawareness"
    }
   ],
   "ost:linddunFit": "Loose",
   "ost:capecMatch": "None",
   "ost:cweMatch": "None"
  },
  {
   "@id": "https://ostering.com/ns/stride#",
   "@type": "skos:ConceptScheme",
   "dcterms:title": {
    "@value": "STRIDE threat categories",
    "@language": "en-GB"
   },
   "skos:hasTopConcept": [
    {
     "@id": "https://ostering.com/ns/stride#Spoofing"
    },
    {
     "@id": "https://ostering.com/ns/stride#Tampering"
    },
    {
     "@id": "https://ostering.com/ns/stride#Repudiation"
    },
    {
     "@id": "https://ostering.com/ns/stride#Informationdisclosure"
    },
    {
     "@id": "https://ostering.com/ns/stride#Denialofservice"
    },
    {
     "@id": "https://ostering.com/ns/stride#Elevationofprivilege"
    }
   ]
  },
  {
   "@id": "https://ostering.com/ns/stride#Spoofing",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/ns/stride#"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/ns/stride#"
   },
   "skos:notation": "S",
   "skos:prefLabel": {
    "@value": "Spoofing",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/ns/stride#Tampering",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/ns/stride#"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/ns/stride#"
   },
   "skos:notation": "T",
   "skos:prefLabel": {
    "@value": "Tampering",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/ns/stride#Repudiation",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/ns/stride#"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/ns/stride#"
   },
   "skos:notation": "R",
   "skos:prefLabel": {
    "@value": "Repudiation",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/ns/stride#Informationdisclosure",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/ns/stride#"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/ns/stride#"
   },
   "skos:notation": "I",
   "skos:prefLabel": {
    "@value": "Information disclosure",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/ns/stride#Denialofservice",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/ns/stride#"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/ns/stride#"
   },
   "skos:notation": "D",
   "skos:prefLabel": {
    "@value": "Denial of service",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/ns/stride#Elevationofprivilege",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/ns/stride#"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/ns/stride#"
   },
   "skos:notation": "E",
   "skos:prefLabel": {
    "@value": "Elevation of privilege",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/ns/linddun#",
   "@type": "skos:ConceptScheme",
   "dcterms:title": {
    "@value": "LINDDUN privacy threat categories",
    "@language": "en-GB"
   },
   "skos:hasTopConcept": [
    {
     "@id": "https://ostering.com/ns/linddun#Linking"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Identifying"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Nonrepudiation"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Detecting"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Datadisclosure"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Unawareness"
    },
    {
     "@id": "https://ostering.com/ns/linddun#Noncompliance"
    }
   ]
  },
  {
   "@id": "https://ostering.com/ns/linddun#Linking",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/ns/linddun#"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/ns/linddun#"
   },
   "skos:notation": "L",
   "skos:prefLabel": {
    "@value": "Linking",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/ns/linddun#Identifying",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/ns/linddun#"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/ns/linddun#"
   },
   "skos:notation": "I",
   "skos:prefLabel": {
    "@value": "Identifying",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/ns/linddun#Nonrepudiation",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/ns/linddun#"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/ns/linddun#"
   },
   "skos:notation": "Nr",
   "skos:prefLabel": {
    "@value": "Non-repudiation",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/ns/linddun#Detecting",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/ns/linddun#"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/ns/linddun#"
   },
   "skos:notation": "D",
   "skos:prefLabel": {
    "@value": "Detecting",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/ns/linddun#Datadisclosure",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/ns/linddun#"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/ns/linddun#"
   },
   "skos:notation": "Dd",
   "skos:prefLabel": {
    "@value": "Data disclosure",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/ns/linddun#Unawareness",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/ns/linddun#"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/ns/linddun#"
   },
   "skos:notation": "U",
   "skos:prefLabel": {
    "@value": "Unawareness",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/ns/linddun#Noncompliance",
   "@type": "skos:Concept",
   "skos:inScheme": {
    "@id": "https://ostering.com/ns/linddun#"
   },
   "skos:topConceptOf": {
    "@id": "https://ostering.com/ns/linddun#"
   },
   "skos:notation": "Nc",
   "skos:prefLabel": {
    "@value": "Non-compliance",
    "@language": "en-GB"
   }
  },
  {
   "@id": "https://ostering.com/ns/taxonomy#mitigationPrinciple",
   "@type": "rdf:Property",
   "rdfs:label": {
    "@value": "mitigationPrinciple",
    "@language": "en-GB"
   },
   "rdfs:comment": {
    "@value": "What a sound design does about the threat, stated so that different designs can satisfy it in different ways.",
    "@language": "en-GB"
   },
   "rdfs:isDefinedBy": {
    "@id": "https://ostering.com/ns/taxonomy#"
   }
  },
  {
   "@id": "https://ostering.com/ns/taxonomy#designMeasure",
   "@type": "rdf:Property",
   "rdfs:label": {
    "@value": "designMeasure",
    "@language": "en-GB"
   },
   "rdfs:comment": {
    "@value": "An ordered list of concrete ways of satisfying the mitigation principle; examples, not the only acceptable answers.",
    "@language": "en-GB"
   },
   "rdfs:isDefinedBy": {
    "@id": "https://ostering.com/ns/taxonomy#"
   }
  },
  {
   "@id": "https://ostering.com/ns/taxonomy#lifeSafety",
   "@type": "rdf:Property",
   "rdfs:label": {
    "@value": "lifeSafety",
    "@language": "en-GB"
   },
   "rdfs:comment": {
    "@value": "True where failure can leave someone without help when they need it.",
    "@language": "en-GB"
   },
   "rdfs:isDefinedBy": {
    "@id": "https://ostering.com/ns/taxonomy#"
   }
  },
  {
   "@id": "https://ostering.com/ns/taxonomy#stride",
   "@type": "rdf:Property",
   "rdfs:label": {
    "@value": "stride",
    "@language": "en-GB"
   },
   "rdfs:comment": {
    "@value": "The STRIDE categories the threat belongs to, best fit first.",
    "@language": "en-GB"
   },
   "rdfs:isDefinedBy": {
    "@id": "https://ostering.com/ns/taxonomy#"
   }
  },
  {
   "@id": "https://ostering.com/ns/taxonomy#strideFit",
   "@type": "rdf:Property",
   "rdfs:label": {
    "@value": "strideFit",
    "@language": "en-GB"
   },
   "rdfs:comment": {
    "@value": "Clean: a STRIDE prompt would plausibly find this threat. Loose: STRIDE gives a label but not the question that finds it. None: no STRIDE category applies.",
    "@language": "en-GB"
   },
   "rdfs:isDefinedBy": {
    "@id": "https://ostering.com/ns/taxonomy#"
   }
  },
  {
   "@id": "https://ostering.com/ns/taxonomy#linddun",
   "@type": "rdf:Property",
   "rdfs:label": {
    "@value": "linddun",
    "@language": "en-GB"
   },
   "rdfs:comment": {
    "@value": "The LINDDUN privacy threat categories the threat belongs to, best fit first.",
    "@language": "en-GB"
   },
   "rdfs:isDefinedBy": {
    "@id": "https://ostering.com/ns/taxonomy#"
   }
  },
  {
   "@id": "https://ostering.com/ns/taxonomy#linddunFit",
   "@type": "rdf:Property",
   "rdfs:label": {
    "@value": "linddunFit",
    "@language": "en-GB"
   },
   "rdfs:comment": {
    "@value": "Clean: a LINDDUN prompt would plausibly find this threat. Loose: LINDDUN gives a label but not the question that finds it. None: no LINDDUN category applies.",
    "@language": "en-GB"
   },
   "rdfs:isDefinedBy": {
    "@id": "https://ostering.com/ns/taxonomy#"
   }
  },
  {
   "@id": "https://ostering.com/ns/taxonomy#capecMatch",
   "@type": "rdf:Property",
   "rdfs:label": {
    "@value": "capecMatch",
    "@language": "en-GB"
   },
   "rdfs:comment": {
    "@value": "The rating for the entry's CAPEC 3.9 patterns as a whole. Direct: the best-fit pattern (ost:capecBestFit) describes the threat, and the patterns are linked with skos:closeMatch. Partial: only a generic parent pattern applies, linked with skos:broadMatch. None: no pattern.",
    "@language": "en-GB"
   },
   "rdfs:isDefinedBy": {
    "@id": "https://ostering.com/ns/taxonomy#"
   }
  },
  {
   "@id": "https://ostering.com/ns/taxonomy#cweMatch",
   "@type": "rdf:Property",
   "rdfs:label": {
    "@value": "cweMatch",
    "@language": "en-GB"
   },
   "rdfs:comment": {
    "@value": "The rating for the entry's CWE 5.0 weaknesses as a whole. Direct: the best-fit weakness (ost:cweBestFit) names the flaw, and any others cover further aspects of it; all are linked with skos:closeMatch. Partial: only a broader or adjacent weakness applies, linked with skos:broadMatch. None: no CWE weakness names it.",
    "@language": "en-GB"
   },
   "rdfs:isDefinedBy": {
    "@id": "https://ostering.com/ns/taxonomy#"
   }
  },
  {
   "@id": "https://ostering.com/ns/taxonomy#capecBestFit",
   "@type": "rdf:Property",
   "rdfs:label": {
    "@value": "capecBestFit",
    "@language": "en-GB"
   },
   "rdfs:comment": {
    "@value": "The CAPEC pattern that fits the entry best, first of its list.",
    "@language": "en-GB"
   },
   "rdfs:isDefinedBy": {
    "@id": "https://ostering.com/ns/taxonomy#"
   }
  },
  {
   "@id": "https://ostering.com/ns/taxonomy#cweBestFit",
   "@type": "rdf:Property",
   "rdfs:label": {
    "@value": "cweBestFit",
    "@language": "en-GB"
   },
   "rdfs:comment": {
    "@value": "The CWE weakness that fits the entry best, first of its list; for a Direct match, the one that names the flaw.",
    "@language": "en-GB"
   },
   "rdfs:isDefinedBy": {
    "@id": "https://ostering.com/ns/taxonomy#"
   }
  },
  {
   "@id": "https://ostering.com/ns/taxonomy#position",
   "@type": "rdf:Property",
   "rdfs:label": {
    "@value": "position",
    "@language": "en-GB"
   },
   "rdfs:comment": {
    "@value": "The group's place in the sequence of layers, stations or suits.",
    "@language": "en-GB"
   },
   "rdfs:isDefinedBy": {
    "@id": "https://ostering.com/ns/taxonomy#"
   }
  },
  {
   "@id": "https://ostering.com/ns/taxonomy#unit",
   "@type": "rdf:Property",
   "rdfs:label": {
    "@value": "unit",
    "@language": "en-GB"
   },
   "rdfs:comment": {
    "@value": "What a group is in this taxonomy: a layer, a station, a suit, or the structural hazards.",
    "@language": "en-GB"
   },
   "rdfs:isDefinedBy": {
    "@id": "https://ostering.com/ns/taxonomy#"
   }
  }
 ]
}