Skip to Content
veriom

Generate security md

Build a security rule file for a coding agent. Free: no model call, no units.

POST
/v1/workspaces/{workspace_id}/tools/security-md

Build a security rule file for a coding agent. Free: no model call, no units.

Authorization

workspaceToken
headerAuthorizationBearer <vat_<opaque-token>>

Expiring, hashed workspace token with explicit scopes.

Path Parameters

workspace_id*Workspace Id
Formatuuid

Request Body

application/json
  1. body
compliance?array<>
Itemsitems <= 5
include_workspace_context?Include Workspace Context
Defaulttrue
risk_appetite?Risk Appetite
Default"moderate"
Value in"low""moderate""high"
stack?array<string>
Itemsitems <= 12
target*Target
Value in"claude_skill""cursor_rules""codex_agents""copilot_instructions""windsurf_rules""security_md"
use_case*Use Case
Value in"web_app""api""mobile_backend""iac_cloud""ai_agent""data_pipeline""ci_cd"

Response Body

Successful Response

application/json
  1. response
content*Content
context*
filename*Filename
media_type?Media Type
Default"text/markdown"
path*Path

Where the file goes in a repository.

refine_available*Refine Available

Whether Refine with AI can run: it needs the workspace's own model keys and the Tailor Security.md skill turned on.

refine_skill_id*Refine Skill Id
sha256*Sha256
shortened*Shortened

Whether bullets were dropped to fit a size limit.

sources*array<string>

The reviewed skills the file is built from.

target*Target
Value in"claude_skill""cursor_rules""codex_agents""copilot_instructions""windsurf_rules""security_md"
target_label*Target Label
units?Units

Security.md is free: it uses no units.

Default0
Example Request
curl -X POST 'https://api.veriom.ai/v1/workspaces/497f6eca-6276-4993-bfeb-53cbbbba6f08/tools/security-md' \  -H 'Content-Type: application/json' \  -d '{  "target": "claude_skill",  "use_case": "web_app"}'
Example Response
{  "content": "string",  "context": {    "crossings": 0,    "data_stores": 0,    "map_reference": "string",    "observed_on": "string",    "services": 0,    "trust_boundaries": 0,    "used": true  },  "filename": "string",  "media_type": "text/markdown",  "path": "string",  "refine_available": true,  "refine_skill_id": "string",  "sha256": "string",  "shortened": true,  "sources": [    "string"  ],  "target": "claude_skill",  "target_label": "string",  "units": 0}