Hacker DirectoryHacker Directory

WEB / WEB-01.S01

Assets, threats and trust assumptions

A security claim needs a protected asset and an explicit trust assumption. Separate threat, weakness, vulnerability and impact using one private editorial note.

What to follow on the first pass

Compare a public book title with Duru’s private note. State what is protected and which assumption needs verification.

Select the note content as the asset. A browser saying “I am Duru” is a claim; a verified principal and permission to read the note are separate checks.

Asset / threat
An asset is something worth protecting; a threat is a situation or event that could harm it.
Claim / principal
A claim is an assertion; a principal is the subject used in identity and permission decisions. An assertion alone is not verification.
Ownership / permission
Who owns the record and which operations are permitted on it.
Where do the later details fit?

A tenant is a customer or workspace separated by the application; an entitlement is an access right. Session and authorization modules develop these decisions. Focus here on the protected data and required evidence.

CORE · RED · BLUE · ARTIFACT · PRACTICE

1. Core · Mechanism

Read every scenario without motion

Verified own context · allow

  1. Separate a claim from authority

    The private note body is an asset. The browser requests note.read and displays a Duru label. That label is neither a verified principal nor resource permission.

    Browser · submitted claim
    Claim: Duru · note.read
    Application · verified context
    No request yet
    Resource · server metadata
    note-atlas-01 · private
  2. External input reached the server

    Request arrival only proves receipt of the submitted claim. The application does not substitute client actor or tenant labels for its verified context.

    Browser · submitted claim
    Waiting for a decision
    Application · verified context
    Claim received; verification separate
    Resource · server metadata
    Body not delivered
  3. Principal context is established on the server

    In this fixture the server verified Duru’s principal; active tenant context is Atlas. Authentication does not imply permission to read this note.

    Browser · submitted claim
    Waiting for a decision
    Application · verified context
    Verified: Duru / Atlas
    Resource · server metadata
    Body not delivered
  4. Object context has a different source

    In this teaching fixture note metadata belongs to server authority: owner Duru, tenant Atlas. This card is not discovery or packet capture; the browser claim does not change metadata.

    Browser · submitted claim
    Waiting for a decision
    Application · verified context
    Principal ready; policy pending
    Resource · server metadata
    Owner: Duru · tenant: Atlas
  5. A local policy decision at the boundary

    Verified principal, tenant match, owner relationship and note.read requirements hold in this fixture. ALLOW applies only to this object/action/context.

    Browser · submitted claim
    Response not received
    Application · verified context
    ALLOW · OWNER_READ
    Resource · server metadata
    Body permitted for this read
  6. The result is in the browser; the source remains on the server

    Only the allow branch carries the private-note representation. A denied response carries the decision outcome. Production response detail requires separate information-disclosure design.

    Browser · submitted claim
    Permitted note representation received
    Application · verified context
    ALLOW · OWNER_READ
    Resource · server metadata
    note-atlas-01 remains protected on server
  7. A risk claim needs conditions and evidence

    A threat describes a potentially harmful situation. A vulnerability is a control weakness; this protected model does not implement that weakness. Impact requires evidence of which asset was actually affected and how. An ALLOW/DENY trace alone does not prove all of these.

    Browser · submitted claim
    Expected permitted outcome
    Application · verified context
    Audit: OWNER_READ; no secrets
    Resource · server metadata
    Asset scope: private note

Unverified claim · deny

  1. Separate a claim from authority

    The private note body is an asset. The browser requests note.read and displays a Duru label. That label is neither a verified principal nor resource permission.

    Browser · submitted claim
    Claim: Duru · note.read
    Application · verified context
    No request yet
    Resource · server metadata
    note-atlas-01 · private
  2. External input reached the server

    Request arrival only proves receipt of the submitted claim. The application does not substitute client actor or tenant labels for its verified context.

    Browser · submitted claim
    Waiting for a decision
    Application · verified context
    Claim received; verification separate
    Resource · server metadata
    Body not delivered
  3. Principal context is established on the server

    In this fixture the submitted Duru assertion is unverified. There is no authoritative principal; matching a name does not fill that gap.

    Browser · submitted claim
    Waiting for a decision
    Application · verified context
    Verified principal: absent
    Resource · server metadata
    Body not delivered
  4. Object context has a different source

    In this teaching fixture note metadata belongs to server authority: owner Duru, tenant Atlas. This card is not discovery or packet capture; the browser claim does not change metadata.

    Browser · submitted claim
    Waiting for a decision
    Application · verified context
    No principal; deny pending
    Resource · server metadata
    Owner: Duru · tenant: Atlas
  5. A local policy decision at the boundary

    The missing requirement yields DENY. The protected body is withheld. This is local evaluation; policy checks do not each imply network transfers.

    Browser · submitted claim
    Response not received
    Application · verified context
    DENY · VERIFIED_PRINCIPAL_REQUIRED
    Resource · server metadata
    Protected body withheld
  6. The result is in the browser; the source remains on the server

    Only the allow branch carries the private-note representation. A denied response carries the decision outcome. Production response detail requires separate information-disclosure design.

    Browser · submitted claim
    Denial received; no note body
    Application · verified context
    DENY · VERIFIED_PRINCIPAL_REQUIRED
    Resource · server metadata
    note-atlas-01 remains protected on server
  7. A risk claim needs conditions and evidence

    A threat describes a potentially harmful situation. A vulnerability is a control weakness; this protected model does not implement that weakness. Impact requires evidence of which asset was actually affected and how. An ALLOW/DENY trace alone does not prove all of these.

    Browser · submitted claim
    Expected protective denial
    Application · verified context
    Audit: VERIFIED_PRINCIPAL_REQUIRED; no secrets
    Resource · server metadata
    Asset scope: private note

Verified foreign tenant · deny

  1. Separate a claim from authority

    The private note body is an asset. The browser requests note.read and displays a Duru label. That label is neither a verified principal nor resource permission.

    Browser · submitted claim
    Claim: Duru · note.read
    Application · verified context
    No request yet
    Resource · server metadata
    note-atlas-01 · private
  2. External input reached the server

    Request arrival only proves receipt of the submitted claim. The application does not substitute client actor or tenant labels for its verified context.

    Browser · submitted claim
    Waiting for a decision
    Application · verified context
    Claim received; verification separate
    Resource · server metadata
    Body not delivered
  3. Principal context is established on the server

    In this fixture the server verified Duru’s principal; active tenant context is Orion. Authentication does not imply permission to read this note.

    Browser · submitted claim
    Waiting for a decision
    Application · verified context
    Verified: Duru / Orion
    Resource · server metadata
    Body not delivered
  4. Object context has a different source

    In this teaching fixture note metadata belongs to server authority: owner Duru, tenant Atlas. This card is not discovery or packet capture; the browser claim does not change metadata.

    Browser · submitted claim
    Waiting for a decision
    Application · verified context
    Principal ready; policy pending
    Resource · server metadata
    Owner: Duru · tenant: Atlas
  5. A local policy decision at the boundary

    The missing requirement yields DENY. The protected body is withheld. This is local evaluation; policy checks do not each imply network transfers.

    Browser · submitted claim
    Response not received
    Application · verified context
    DENY · TENANT_MISMATCH
    Resource · server metadata
    Protected body withheld
  6. The result is in the browser; the source remains on the server

    Only the allow branch carries the private-note representation. A denied response carries the decision outcome. Production response detail requires separate information-disclosure design.

    Browser · submitted claim
    Denial received; no note body
    Application · verified context
    DENY · TENANT_MISMATCH
    Resource · server metadata
    note-atlas-01 remains protected on server
  7. A risk claim needs conditions and evidence

    A threat describes a potentially harmful situation. A vulnerability is a control weakness; this protected model does not implement that weakness. Impact requires evidence of which asset was actually affected and how. An ALLOW/DENY trace alone does not prove all of these.

    Browser · submitted claim
    Expected protective denial
    Application · verified context
    Audit: TENANT_MISMATCH; no secrets
    Resource · server metadata
    Asset scope: private note

ACTORS · STATE · DATA FLOW

A public book and a private note

The public Atlas Notları book title is readable by everyone. In the same application, note-atlas-01 is Duru’s private editorial note. An asset is something valuable to protect: here the note body, accurate ownership metadata and attribution of a read to the right actor. Assets include more than passwords or keys; business records, available services and trustworthy audits can have value.

Specify the property for each asset. The private body needs confidentiality, ownership metadata integrity, and the note service availability. A public title has a different confidentiality requirement. Labeling every field secret obscures intended functionality and controls.

Threat, weakness, vulnerability and impact

A threat is a circumstance or event capable of harm. Serving a private note outside entitlement is a threat statement; a person or other source capable of causing it is a threat source. Weakness can describe a design or implementation defect class, such as missing trusted authorization. Vulnerability describes a weakness in a particular system that a threat can exploit or trigger. Glossaries use these words at different breadths; our working distinction separates a class from its concrete system instance.

Impact is the consequence for an asset and its business: unauthorized reading loses confidentiality. Wider impact requires scope—affected notes, people and downstream work. Risk considers impact alongside a reasoned likelihood assessment. A CWE label alone does not establish critical impact across an entire system.

Write the trust assumption down

In normal note.read, the browser selects the target. The server establishes a verified principal and active tenant context. OwnerId and tenantId come from server-held note metadata. Our private-note rule requires verified actor, matching tenant and matching owner before release. Choosing “owner” in a UI does not establish those conditions.

A trust boundary separates authorities or trust assumptions, not necessarily physical networks. A browser actor label is an assertion; the principal established by server authentication is a distinct input. Stored ownership metadata has another provenance. Controls state which source is accepted for which decision.

Controls, evidence and remaining scope

The trusted service layer enforces note.read: unverified principal denies, foreign tenant denies, verified own-note allows. The teaching matrix defines what should happen. Claiming an actual vulnerability additionally requires observing the implemented rule and any private data delivered.

HTTPS can protect transmission but does not evaluate note entitlement. A hidden button or “access denied” browser message is not a substitute for trusted enforcement. Private data emerging through another field, cache or download can invalidate a main-screen-only control. The authorization lesson expands those paths.

2. Red · Trust & Impact

Read every scenario without motion

Owner access

  1. Asset and property were defined

    The protected value is the private body of note-atlas-01; protectedProperty is confidentiality. A visible title or name label does not prove private-body delivery.

    Principal assertion
    note.read / Duru
    Trusted policy gate
    No decision
    Private asset
    note-atlas-01 / private
  2. Principal authority was inspected

    VERIFIED_OWN supplies principalVerified=true and verifiedContextTenant=atlas as server-side model predicates.

    Principal assertion
    note.read / Duru
    Trusted policy gate
    Verified Duru / atlas
    Private asset
    note-atlas-01 / private
  3. Object metadata has a separate source

    ownerId=duru and tenantId=atlas are authoritative metadata of the private asset. A client naming itself owner does not change the source of these values.

    Principal assertion
    note.read / Duru
    Trusted policy gate
    Verified Duru / atlas
    Private asset
    owner=duru / tenant=atlas
  4. The control runs before release

    Verified principal, tenant and ownership match; OWNER_READ allow is expected. Legitimate owner access is not realization of a threat.

    Principal assertion
    note.read / Duru
    Trusted policy gate
    ALLOW / OWNER_READ
    Private asset
    owner=duru / tenant=atlas
  5. The body boundary applied the outcome

    protectedBodyDelivered=true is this case’s expected model outcome. Asset delivery and decision are separate checks; the model establishes no actual application finding.

    Principal assertion
    note.read / Duru
    Trusted policy gate
    ALLOW / OWNER_READ
    Private asset
    Body: owner scope
  6. Impact stays with the supported property

    The gate prevents releasing private body outside entitlement. Hypothetical read disclosure concerns confidentiality; integrity or availability consequences need separate mutation or service evidence.

    Principal assertion
    note.read / Duru
    Trusted policy gate
    Confidentiality gate preserved
    Private asset
    Body: owner scope

Unverified actor

  1. Asset and property were defined

    The protected value is the private body of note-atlas-01; protectedProperty is confidentiality. A visible title or name label does not prove private-body delivery.

    Principal assertion
    note.read / Duru
    Trusted policy gate
    No decision
    Private asset
    note-atlas-01 / private
  2. Principal authority was inspected

    UNVERIFIED_ACTOR supplies principalVerified=false and verifiedContextTenant=null. actorId=duru is not a substitute for a server-verified principal.

    Principal assertion
    note.read / Duru
    Trusted policy gate
    Verification absent
    Private asset
    note-atlas-01 / private
  3. Object metadata has a separate source

    ownerId=duru and tenantId=atlas are authoritative metadata of the private asset. A client naming itself owner does not change the source of these values.

    Principal assertion
    note.read / Duru
    Trusted policy gate
    Verification absent
    Private asset
    owner=duru / tenant=atlas
  4. The control runs before release

    The verification prerequisite is absent; VERIFIED_PRINCIPAL_REQUIRED deny is expected. Body release follows the decision, not a UI appearance.

    Principal assertion
    note.read / Duru
    Trusted policy gate
    DENY / VERIFIED_PRINCIPAL_REQUIRED
    Private asset
    owner=duru / tenant=atlas
  5. The body boundary applied the outcome

    protectedBodyDelivered=false is this case’s expected model outcome. Asset delivery and decision are separate checks; the model establishes no actual application finding.

    Principal assertion
    note.read / Duru
    Trusted policy gate
    DENY / VERIFIED_PRINCIPAL_REQUIRED
    Private asset
    Body withheld
  6. Impact stays with the supported property

    The gate prevents releasing private body outside entitlement. Hypothetical read disclosure concerns confidentiality; integrity or availability consequences need separate mutation or service evidence.

    Principal assertion
    note.read / Duru
    Trusted policy gate
    Confidentiality gate preserved
    Private asset
    Body withheld

ASSUMPTION · BOUNDARY · CONTROL

Establish conditions before claiming a vulnerability

Private-note access requires the owner/tenant entitlement. A potentially broken assumption is accepting a browser actor assertion in place of a trusted principal. That is a design-review question; without evidence that a particular implementation accepts it, it is not a confirmed vulnerability.

UNVERIFIED_ACTOR expects deny. An allow warrants examining both decision-input provenance and private-body delivery. A visible title is not the same as release of the private note. Keep the affected asset and output field explicit.

Do not inflate impact

Own-note allow is intended functionality, not realization of a threat. Foreign-tenant denial is a blocking-policy example. Even observing unauthorized private-note disclosure does not automatically prove modified ownership or access to all tenant data.

Confidentiality, integrity and availability consequences require different evidence. A read exposure may demonstrate confidentiality loss; claim no integrity loss without mutation and no availability loss without service evidence. Distinguish observed from possible impact.

Name the threat a control reduces

Trusted-principal verification prevents an unsupported identity assertion becoming decision authority. Tenant/ownership checks constrain disclosure outside entitlement. Output projection reduces private fields appearing in an allowed response. These controls address different faults; the presence of one does not prove the others ran.

The model uses normal permission reasoning over supplied actor/resource cases. It requires no external targets, credential acquisition or enumeration.

3. Blue · Secure development & defense

Read every scenario without motion

Negative control

  1. A threat record is not an event

    TR-NOTE-01 defines a boundary, assumption, candidateWeakness and controlOwner. vulnerabilityStatus=not-claimed-for-real-system makes it neither a confirmed vulnerability nor an observed disclosure.

    Threat record
    Hypothesis / confidentiality
    Policy expectation
    No observation
    Output review
    No conclusion
  2. The expected denial was selected

    UNVERIFIED_ACTOR is expected to be denied with VERIFIED_PRINCIPAL_REQUIRED. Withholding the protected body is another expectation of the same control. The row defines a required outcome rather than an observed one.

    Threat record
    Hypothesis / confidentiality
    Policy expectation
    Expected: deny / body=false
    Output review
    No conclusion
  3. The decision inputs were identified

    The case matrix defines the expected denial from principalVerified, verifiedContextTenant and the asset ownerId/tenantId. These are not runtime audit records. An actual verification must separately observe that application-service obtains trusted inputs and produces VERIFIED_PRINCIPAL_REQUIRED.

    Threat record
    Hypothesis / confidentiality
    Policy expectation
    Expected: deny / VERIFIED_PRINCIPAL_REQUIRED
    Output review
    No conclusion
  4. Protected output was inspected separately

    The case matrix expects protectedBodyDelivered=false. Denial and withholding the private body are separate expectations of the control. Runtime verification needs both the decision record and response coverage of protected fields; private body is not copied into audit.

    Threat record
    Hypothesis / confidentiality
    Policy expectation
    Expected: deny / VERIFIED_PRINCIPAL_REQUIRED
    Output review
    Expected: protectedBodyDelivered=false
  5. The control owner gets the right question

    application-service must preserve VERIFIED_OWN allow alongside UNVERIFIED_ACTOR and OTHER_TENANT denials. Blocking every access is not a successful regression.

    Threat record
    Owner allow + two denials required
    Policy expectation
    Expected: deny / VERIFIED_PRINCIPAL_REQUIRED
    Output review
    Expected: protectedBodyDelivered=false
  6. Finding and unknown were separated

    The UNVERIFIED_ACTOR row consistently expects denial and protectedBodyDelivered=false. This neither verifies a running control nor establishes disclosure. Actual verification must measure normal owner access alongside rejection of an unverified principal and a different tenant.

    Threat record
    Owner allow + two denials required
    Policy expectation
    Expected: deny / VERIFIED_PRINCIPAL_REQUIRED
    Output review
    Expectations agree; runtime unmeasured

Output absent

  1. A threat record is not an event

    TR-NOTE-01 defines a boundary, assumption, candidateWeakness and controlOwner. vulnerabilityStatus=not-claimed-for-real-system makes it neither a confirmed vulnerability nor an observed disclosure.

    Threat record
    Hypothesis / confidentiality
    Policy expectation
    No observation
    Output review
    No conclusion
  2. The expected denial was selected

    UNVERIFIED_ACTOR is expected to be denied with VERIFIED_PRINCIPAL_REQUIRED. Withholding the protected body is another expectation of the same control. The row defines a required outcome rather than an observed one.

    Threat record
    Hypothesis / confidentiality
    Policy expectation
    Expected: deny / body=false
    Output review
    No conclusion
  3. The decision inputs were identified

    The case matrix defines the expected denial from principalVerified, verifiedContextTenant and the asset ownerId/tenantId. These are not runtime audit records. An actual verification must separately observe that application-service obtains trusted inputs and produces VERIFIED_PRINCIPAL_REQUIRED.

    Threat record
    Hypothesis / confidentiality
    Policy expectation
    Expected: deny / VERIFIED_PRINCIPAL_REQUIRED
    Output review
    No conclusion
  4. Protected output was inspected separately

    This branch supplies no protected-field delivery observation. The expected denial is not an actual decision record, and excluding private body from the response needs separate observation.

    Threat record
    Hypothesis / confidentiality
    Policy expectation
    Expected: deny / VERIFIED_PRINCIPAL_REQUIRED
    Output review
    UNKNOWN: delivery
  5. The control owner gets the right question

    application-service must preserve VERIFIED_OWN allow alongside UNVERIFIED_ACTOR and OTHER_TENANT denials. Blocking every access is not a successful regression.

    Threat record
    Owner allow + two denials required
    Policy expectation
    Expected: deny / VERIFIED_PRINCIPAL_REQUIRED
    Output review
    UNKNOWN: delivery
  6. Finding and unknown were separated

    The expected denial is available, but actual decision and body-delivery observations are absent. The confidentiality outcome remains UNKNOWN. Neither disclosure nor complete protection follows without correlating the application-service decision and relevant response fields for the same operation.

    Threat record
    Owner allow + two denials required
    Policy expectation
    Expected: deny / VERIFIED_PRINCIPAL_REQUIRED
    Output review
    UNKNOWN: confidentiality outcome

IMPLEMENTATION · SECURITY CONTROL · VERIFICATION

A threat record is not an event record

The threat record links asset, boundary, assumption, candidate weakness, control and expected observation. It explores possible conditions. A decision event records an application outcome for a particular request. Keep their identity, timing and evidential scope distinct.

Our example correlates requestId, verified actor, active tenant, object metadata and decision/reason. These are custom application fields. Record field classification or delivery checks rather than copying private note contents into audits; credentials are not correlation identifiers.

Expected allow, expected deny, unknown

VERIFIED_OWN allow with note body is the normal positive case. UNVERIFIED_ACTOR and OTHER_TENANT deny without protected output are negative controls. Expected denial can be a safe result and may follow benign changes such as role removal. Alerting on every denial creates unnecessary noise.

Missing verification or object-tenant fields leaves the decision basis unknown. A deny event without output observation does not prove no data left. Add the missing observation rather than assuming a control worked: evaluate trusted decision and protected-field delivery together.

What review and regression close

The control owner re-evaluates positive and negative cases after changes. Verified own access remains available, missing verification and foreign tenant remain denied, and deny releases no protected output. This preserves intended functionality rather than making checks green by blocking everything.

New endpoints, caches, roles or resource classes may change assumptions. Update the model and verify enforcement at the same boundary. Without likelihood and impact rationale, do not invent a numeric risk; state uncertainty and the evidence needed.

In application code returning the private note, obtain principal and active tenant from verified server context and owner/tenant from authoritative object metadata. Browser actor or tenant labels cannot replace those values. Every entry point to that note must check this relationship before preparing its body; missing required context must withhold protected content. Hiding a UI button or making note IDs hard to guess does not enforce this decision. Preserving VERIFIED_OWN access while withholding bodies in the other two cases verifies both sides of the implementation contract.

NOW APPLY IT TO THE CASE

Which assumption must be verified before releasing the private note?

note-atlas-01 is Duru’s private note in the Atlas tenant. Trusted-principal and ownership checks are required before releasing its body. A threat record describes those conditions and potential consequences, not an observed incident.

Compare the linked case’s protected report with this lesson’s private note. Verified identity alone does not determine access to an object. Explain DENY for an unverified claim and the separate ownership and permission evidence needed after verification.

Open the related case file ↗

READ THE EXAMPLE TOGETHER

Private-note threat record and control matrix

Select a field and examine what it supports and where the evidence ends.

Read the raw artifact and field explanations
{
  "system": "atlas-editorial-note",
  "asset": {
    "id": "note-atlas-01",
    "ownerId": "duru",
    "tenantId": "atlas",
    "classification": "private",
    "protectedProperty": "confidentiality"
  },
  "threatRecord": {
    "id": "TR-NOTE-01",
    "threat": "private note body disclosed outside entitlement",
    "boundary": "browser assertion to trusted application context",
    "assumption": "principal and tenant are verified server-side; object metadata is authoritative",
    "candidateWeakness": "missing trusted resource authorization",
    "vulnerabilityStatus": "not-claimed-for-real-system",
    "conditionalImpact": "confidentiality loss of delivered private note; no proven mutation or service disruption",
    "controlOwner": "application-service",
    "control": "verified principal, tenant and owner policy before note body release"
  },
  "cases": [
    {
      "caseId": "VERIFIED_OWN",
      "actorId": "duru",
      "principalVerified": true,
      "verifiedContextTenant": "atlas",
      "objectId": "note-atlas-01",
      "action": "note.read",
      "expected": {
        "decision": "allow",
        "reason": "OWNER_READ",
        "protectedBodyDelivered": true
      }
    },
    {
      "caseId": "UNVERIFIED_ACTOR",
      "actorId": "duru",
      "principalVerified": false,
      "verifiedContextTenant": null,
      "objectId": "note-atlas-01",
      "action": "note.read",
      "expected": {
        "decision": "deny",
        "reason": "VERIFIED_PRINCIPAL_REQUIRED",
        "protectedBodyDelivered": false
      }
    },
    {
      "caseId": "OTHER_TENANT",
      "actorId": "duru",
      "principalVerified": true,
      "verifiedContextTenant": "orion",
      "objectId": "note-atlas-01",
      "action": "note.read",
      "expected": {
        "decision": "deny",
        "reason": "TENANT_MISMATCH",
        "protectedBodyDelivered": false
      }
    }
  ],
  "evidenceRequired": [
    "trusted principal verification",
    "authoritative object owner/tenant",
    "decision with reason",
    "protected field delivery observation"
  ]
}
asset / protectedProperty
Protected value and required security property.
candidateWeakness / vulnerabilityStatus
A review hypothesis, not evidence of a real-system vulnerability.
conditionalImpact
Consequence if the specified event occurs; other impact classes are not presumed.
principalVerified / verifiedContextTenant
Server-side teaching inputs, not the same authority as a client actor label.
expected / evidenceRequired
Required outcome and evidence to observe; actual runtime outcomes are separate.

Inert synthetic threat record, not a real vulnerability finding, risk score or production event. It shows three selected policy cases, not a full membership, concurrency or output-path model.

Two reality checks

Listing a threat proves a confirmed application vulnerability.

A threat describes possible harm. A concrete vulnerability requires evidence of the system weakness, necessary conditions and control behavior.

HTTPS also solves authorization of the private note.

TLS protects the channel. Trusted application policy separately decides whether this actor may read this private note.

YOUR TURN

Work through this story.

Predict the outcome, find the evidence boundary, and explain it in your own words.

The browser submits Duru’s name, but principalVerified=false. Can this information release the private note body?

  1. No; delivery stops with VERIFIED_PRINCIPAL_REQUIRED.
  2. Yes; matching the displayed name to ownerId is sufficient.
Read the explained answer

No; delivery stops with VERIFIED_PRINCIPAL_REQUIRED. — Even if the owner name matches, trusted identity is not established; the selected policy withholds the protected body.

What conclusion about a real system does this threat record support?

Selected lesson artifact fields; teaching example

threatRecord.vulnerabilityStatus
not-claimed-for-real-system
threatRecord.conditionalImpact
confidentiality loss of delivered private note; no proven mutation or service disruption
  1. It describes conditional confidentiality loss; it does not claim a real vulnerability was confirmed.
  2. The private-note threat proves the entire service is compromised.
Read the explained answer

It describes conditional confidentiality loss; it does not claim a real vulnerability was confirmed. — The status is not-claimed-for-real-system; it also provides no mutation or disruption evidence.

Explain the asset, protected property, control owner and required observation for the private note in four separate statements.

Read the explained answer

The asset is note-atlas-01; confidentiality is the protected property. The application must establish verified-principal, tenant and owner decisions before releasing the note body. Besides decision/reason, observe which protected fields were actually delivered; a synthetic expected result is not a runtime observation.

□ I defined the asset and security property separately.

□ I identified the control owner and delivery evidence.

Open the application console · request / response / browser
Also open request, URL, cookie and DOM examples

Sources and scope