Standard No.DSHIO/T 05—2026TitleRiskVersionv1.0Published2026-11-06Effective2026-11-06StatusCurrent

DSHIO-RISK · Risk

A plugin's declared permissions determine its risk. Four levels, computed from the declaration rather than assigned by hand.

Why this exists. DSH plugins are executable code that runs on your machine once installed. The official docs state plainly that security is not guaranteed. Users need to know: what can this plugin do?

Declaring permissions is the author's duty (DSHIO-DEV clause 3). The risk level is our conclusion computed from that declaration.

Permission values

PermissionMeaningTypical plugins
noneNo external accessThemes, formatters
networkMakes network requestsSearch, API proxies
filesystemReads or writes workspace filesEditors, project memory
shellExecutes system commandsTerminals, build tools
deviceAccesses hardwareCamera, microphone, clipboard

Four risk levels

LevelConditionMeaning
LowOnly noneNo external access
Mediumnetwork aloneSends requests, touches no files or commands
HighAny of filesystem / shell / device Can modify files or run commands
Criticalnetwork plus shell or filesystem Can read data and send it out

Why network plus file/shell is critical

A network call alone is not dangerous; reading a file alone is not dangerous. Together they mean data can be read and exfiltrated — the standard path for a data leak.

So that combination is raised to the top level regardless of anything else.

Algorithm

caps = declared_capabilities(plugin)

if "shell" in caps and "network" in caps:        → critical
elif "filesystem" in caps and "network" in caps: → critical
elif "device" in caps and "network" in caps:     → critical
elif any of shell/filesystem/device:             → high
elif "network" in caps:                          → medium
else:                                            → low

What this level does not do

NotExplanation
Not a security auditWe do not read the code for vulnerabilities
Does not assume the author is honestThe declaration may be false
Does not measure actual behaviourDeclared network but called once is still medium
So read risk together with the tests. Our T2–T5 run fully offline — meaning a plugin that declares network and tries to exfiltrate gets nowhere in the test environment.

Risk says what it could do; the tests say how far we verified. Read both.

Risk against grade

The two axes are independent:

LowMediumHighCritical
AIdealAcceptableDepends on needCaution
BFineFineDepends on needCaution
CUsableCarefulNot advisedNot advised
D/EDo not install

Version history

VersionStandard No.PublishedChange
v1.0DSHIO/T 05—20262026-11-06 First release

The version increments on any clause change; older versions remain available.