L1 · GitHub
We never write your code
The App only reads archives and posts Checks. It cannot push commits or inject scripts into your deploy.
01 Security
If a security tool asks for write access to your code, or executes PR head as part of analysis, it has already expanded the blast radius. Norekt is built the other way.
Archives and checkouts are read as trees. We do not run, build, or import your application code inside the analyzer.
On the Action path, the engine installs outside github.workspace. Never drop a self-scan copy under the repo as .norekt.
.web3shield.yml loads from the PR base. Attackers on a feature branch cannot turn off scanners via config alone.
Broken or unreadable configuration is a hard error—not a silent green check.
Findings report type, path, and line. Values are not printed in Checks or annotations.
Hosted App: Contents R, Pull requests R, Checks RW, Metadata R. No Contents write. No admin.
02 Layers & trust
Easy mix-up: “no write permissions” is about the GitHub App. Runtime UI is a different boundary.
L1 · GitHub
The App only reads archives and posts Checks. It cannot push commits or inject scripts into your deploy.
L2 · Partner dApp
Pre-sign sheets ship in the partner’s frontend bundle (@norekt/sdk) — like adding analytics. We do not remote-inject into sites we don’t own. Compromised page JS can still strip the SDK; full CDN integrity is L3.
03 Permissions
| Permission | Level | Why |
|---|---|---|
| Contents | Read | Fetch PR head/base archives as data |
| Pull requests | Read | PR metadata and event context |
| Checks | Read & write | Create and update the Norekt Check and annotations |
| Metadata | Read | Required GitHub App baseline |
| Contents write | Never | We do not push, edit, or merge your code |
04 Modes
Shadow
Findings on the Check. Non-enforced scanners do not fail the job. Use this for precision dogfood.
Enforce
Scanners with enforce: true fail the Check. High-confidence secrets often enforce even while mode is shadow.
05 Claims
We will say: Norekt finds high-value frontend and supply-chain issues on PRs; dual delivery (App + Action); L2 pre-sign is a partner-installed SDK (dogfood); L3 CDN/DNS is a pilot with operator baselines.
We will not say: that L1 or L2 alone stops Bybit-class incidents; that we inject UI into partner sites without their integration; that pilot L3 is a full production SOC; that precision is Marketplace-ready until evidence gates say so.
Report vulnerabilities: SECURITY.md