Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/SyntaxArc/archipy-pluginWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/syntaxarc/archipy-plugin/security-for-apps)<a href="https://agentmods.dev/rules/syntaxarc/archipy-plugin/security-for-apps"><img src="https://agentmods.dev/badge/rules/syntaxarc/archipy-plugin/security-for-apps/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/syntaxarc/archipy-plugin/security-for-apps"><img src="https://agentmods.dev/badge/rules/syntaxarc/archipy-plugin/security-for-apps.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00416 | $0.00416 |
| Opus 5.5 | $0.00166 | $0.00166 |
| Sonnet 5.5 | $0.00083 | $0.00083 |
| Haiku 4.5 | $0.00042 | $0.00042 |
Grade A, and why
security-for-apps scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
Security for ArchiPy Apps
Secrets and Logging
- Never hardcode tokens, passwords, private keys, connection credentials, or OTLP authorization headers.
- Resolve secrets through
BaseConfigsettings sources (environment, secret files, or Vault) and document names only in.env.example. - Never put secrets in committed
.env/.env.testfiles; keep committed test values non-sensitive and prefer.env.examplefor required-variable documentation. - Do not log credentials, session/JWT tokens, cookies, full authorization headers, or unrestricted request bodies.
- Trace attributes may include non-sensitive identifiers only; do not capture free-form payloads or secret-like values.
Inputs and Infrastructure
- Validate external input at service/port boundaries.
- Use parameterized SQL/CQL and bound query values; never concatenate untrusted values into query text.
- Map infrastructure failures to domain errors without exposing driver messages, stack traces, hosts, or credentials.
- Health, readiness, and liveness responses reveal nothing about the service (no dependency names, versions, hosts, uptime, or error text): return only a status code and log probe failures server-side.
- Add dependencies with
uv add; prefer the smallest matchingarchipy[...]extras. - Treat network-facing adapters, authentication, cryptography, uploads, and deserialization as security-sensitive.
Suppressions
- Fix findings before suppressing them.
- Keep
# nosec, Ruff# noqa: S..., and type suppressions to the smallest line/file scope. - Name the rule and explain the false positive beside the suppression.
- Never blanket-disable Bandit or Ruff security rules for a new package.
Run the app's configured security scan after security-sensitive changes. If none exists, recommend adding Bandit/Ruff
security checks rather than assuming ArchiPy's library make security target is available.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago Changed · +2 lines · +42 tokens per session 833eae76e227
- 1mo ago First seen · 35 lines · 374 tokens per session scan A 8d700bf03987
security-for-apps is a cursor rule published in the GitHub repository SyntaxArc/archipy-plugin (3 stars, last pushed 2d ago), licensed MIT. It adds 416 tokens to every session, about $0.0017 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-08.
Other cursor rules, from other repositories
database-algorithm-rules
Database algorithm rules guide Python applications that store and retrieve data, including containerized services. They cover schema design, indexes, query efficiency, transactions, connection pools, caching, retries, and migrations.
django-models
A small set of rules for Django models, the Python framework's definitions of database-backed data. It also guides how Django code should access and validate that data.
python
Cursor rule "python" from jhl-labs/vibe-project, covering python rules, style guide, naming, imports and order: stdlib → third-party → local.
pyspark-etl-best-practices-cursorrules-prompt-file
Cursor rules for PySpark ETL development with code style, joins, window functions, map operations, and Iceberg patterns.
git-conventions
See CONTRIBUTING.md → "PR & commit conventions" for PR title format, commit messages, and branch naming.
python
Python best practices and patterns for modern software development with Flask and SQLite.