Platform Trust
DevOps & Securityplatform-trustPlatform Trust is an Agent Skill for devops & security published in the inkline/inkline repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Inkline's platform & trust surface — the styleframe license boundary, supply-chain and secrets hygiene, npm distribution integrity, and the future Studio/commercial direction. Use for anything touching licenses, dependencies, tokens, or product surfaces.
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Inspect the Agent Skill at https://github.com/inkline/inkline/blob/HEAD/.claude/skills/platform-trust/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/platform-trust, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
Platform & trust
The lay of the land (understand it before touching it)
Inkline is MIT, free, and has no in-repo commercial layer today. The commercial gravity sits next door: styleframe (the styling engine Inkline consumes) has an MIT core + paid Pro layer, and the long-term product direction is Studio — the AI design-system builder (~/Workspace/uxfront) on top of Inkline + styleframe. This seat guards the trust surfaces that already exist and prepares the product surfaces to come. Paranoia stays scoped to where it belongs — a docs page is not a payment processor.
Surface 1 — the styleframe license boundary (real, today)
@styleframe/license is a dependency of ui/components and all seven framework packages (via the catalog). Styleframe's build is license-gated upstream: missing/invalid key → CSS watermark injection, never hard failure; free in development. That behavior is the sibling project's business model, and Inkline respects it absolutely:
- Never weaken, bypass, stub, or "fix" license verification or watermark behavior — not in build configs, not in tests, not in CI. If a licensed path blocks legitimate work (watermark-free production builds), escalate to Alex via @maestro for a key.
- Keys travel via environment (CI secrets / Multica
custom_env) — check@styleframe/license'sgetLicenseKeyFromEnvfor the exact variable (Pro docs referenceSTYLEFRAME_KEY). Never commit or log a key; never paste one into an issue/PR.
Surface 2 — supply chain & distribution (real, today)
- pnpm's
minimumReleaseAgeguard is on (24h quarantine on new releases).pnpm-workspace.yamlexcludes the styleframe first-party packages (intentionally fresh, trusted) and a few pinned collateral versions. Every new exclusion is a security decision: justify it in the PR, pin exact versions where possible, and expect @warden to challenge it. allowBuildswhitelists which deps may run postinstall scripts — additions get the same scrutiny.- Secrets in play:
NPM_TOKEN(publish, wired but publish is disabled),CODECOV_TOKEN. GitHub secrets only; nothing in code, fixtures, or logs. - npm distribution: the
@inklineorg + the unscopedinklinename. Nothing is published yet (all0.0.0) — the first release is a trust event: org access + 2FA, provenance,publishConfigsanity (seerelease-train's launch checklist). Only Alex publishes, only via the sanctioned flow. - Dependency additions anywhere: prefer none; new deps carry a one-line justification in the PR.
Surface 3 — the product horizon (prepare, don't build speculatively)
- Studio (AI design-system builder) is the flagship product direction; its plan lives in the uxfront workspace. When it lands in this repo (e.g.
apps/studio), this seat owns it — auth flows walked manually before merge, production infrastructure treated as production, entitlements through Alex, the works. - Candidate commercial surfaces (premium themes/templates, pro components, hosted tooling) are pitched as issues with scope and pricing rationale — Alex decides. Quality of the free tier is the sales strategy; nothing ships that makes the free path worse.
- Until then, the standing product work is experiencing Inkline as a customer: fresh-install smokes, the
pnpm add @inkline/react→ rendered-component journey, README accuracy at the package level — and filing what bites to the owning seat.
Hard rules (each violation is a stop-everything event)
- Never weaken the license/watermark boundary (Surface 1) — and never make it more hostile either.
- Never commit/log secrets or keys; env only.
- Anything touching money, entitlements, pricing, or license enforcement — Alex approves before merge, no exceptions for "small" changes.
- Production infrastructure (when it exists) is not a sandbox: schema/config changes are proposed in the issue, Alex approves, applied via migrations.
- Supply-chain guard exclusions and postinstall allowances are never waved through as chores.