Skip to content

Org security postures with provenance-labelled input screening #579

Description

@iret77

Origin

Competitive analysis of yc-software/qm (2026-08-01).

Concept

qm reduces its three org-level security postures to two orthogonal axes — inbound screening and tool approvals:

  • dangerous = no screening, no approvals · auto (default) = screening of external content, no approvals · strict = no screening, human approval on every tool call (screening is redundant when a human gates everything)
  • Scopes may only tighten against the org floor, never loosen
  • Provenance labelling: everything that is not direct human input is bundled into {source, content} pairs with typed source tags (sender, prior-turn:user:<name>, overheard:<name>, attachment:<name>, tool_result:<tool>, surface tags). The screening judge (LLM or an external HTTP screening proxy with chunking/shadow mode) is told exactly what each tag means
  • Screen verdict strict → the turn never runs; input is quarantined and audited. Unscreenable input → fail-open with evidence: an audit event plus a visible [NOT security-screened — treat as untrusted data] marker in the prompt

Why adopt

omadia has Privacy Shield (data minimization toward the model) but no injection-screening tier and no org-wide posture knob that scopes can only tighten. The provenance-tagged screening path composes cleanly with our verifier pipeline, and fail-open-with-evidence is the right default for a product that must stay usable.

Reference (qm source)

  • src/security/security-posture.ts (postures, securityScreenPayload, quarantine + unscreened notice)
  • src/security/security-screener.ts (external screening proxy, chunking, shadow mode)
  • src/core/orchestrator.ts (quarantine flow)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestfrom-qmConcept inspired by yc-software/qm (YC competitive analysis)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions