pdf-reader-mcp: Command for OpenCode

.opencode/command/saas-security.md

saas-security is a command for OpenCode from SylphxAI/pdf-reader-mcp. It costs 22 tokens per session (1,100 once invoked), scanned A, original, MIT.

A command for reviewing a SaaS product's security, privacy, consent, monitoring, and operational readiness. SaaS means software delivered as an online service; OWASP is a security guidance project for web applications.

In plain words
What is it for?
Use it to review security headers, content security policy, CSRF protection, rate limiting, consent handling, dependency audits, monitoring, and automated security checks.
Why use it?
It checks for common web protections, privacy-policy mismatches, dependency risks, rate-limit issues, and release-blocking gaps before launch.

Command for OpenCode

Written for OpenCode: installed under .opencode/. Also seen: agent in frontmatter.

This is SylphxAI/pdf-reader-mcp's own configuration. It tells OpenCode how to work on pdf-reader-mcp itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything pdf-reader-mcp configures →

About the project

pdf-reader-mcp, now named anymd, is a local Rust command-line tool and MCP server that converts documents, web pages, images, audio, and video into Markdown or extracted metadata, so AI agents can read them in a consistent text format. It is intended for local document processing without an API key, and the catalogue entries let coding agents call its conversion and search functions.

SylphxAI/pdf-reader-mcp · 1,042 stars · on GitHub · sylphxai.github.io

Reuse

Borrowing it

Nothing to install: this file belongs to SylphxAI/pdf-reader-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/SylphxAI/pdf-reader-mcp/main/.opencode/command/saas-security.md
Clone the repo
git clone --depth 1 https://github.com/SylphxAI/pdf-reader-mcp

Made for: OpenCode.

Wrote 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.

agentmods badge for saas-security

README.md
[![agentmods](https://agentmods.dev/badge/commands/sylphxai/pdf-reader-mcp/saas-security/github.svg)](https://agentmods.dev/commands/sylphxai/pdf-reader-mcp/saas-security)
Your own site
<a href="https://agentmods.dev/commands/sylphxai/pdf-reader-mcp/saas-security"><img src="https://agentmods.dev/badge/commands/sylphxai/pdf-reader-mcp/saas-security/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.

agentmods 80×15 button for saas-security

Your own site · 80×15
<a href="https://agentmods.dev/commands/sylphxai/pdf-reader-mcp/saas-security"><img src="https://agentmods.dev/badge/commands/sylphxai/pdf-reader-mcp/saas-security.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 22 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,100 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00022 $0.01100
Opus 5.5 $0.00009 $0.00440
Sonnet 5.5 $0.00004 $0.00220
Haiku 4.5 $0.00002 $0.00110

Measured 1mo ago against content hash 7992a5bd5d1a, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

saas-security 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 1mo 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.

.opencode/command/saas-security.md · 109 lines

How it starts

The opening of the file, as written. The whole thing — 109 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Security, Privacy & Compliance Review

Scope

Review security posture, privacy compliance, consent governance, observability systems, and operational readiness.

Specification

Security Baseline

  • OWASP Top 10:2025 taxonomy awareness and mitigation.
  • OWASP ASVS (L2/L3) verification baseline.
  • Baseline controls:
    • CSP (Content Security Policy) properly configured
    • HSTS with appropriate max-age
    • Security headers (X-Frame-Options, X-Content-Type-Options, etc.)
    • CSRF protection where applicable
    • Upstash-backed rate limiting
    • Supply-chain hygiene (dependency audits)
  • Security controls must be verifiable: CSP/HSTS/security headers and CSRF must be covered by automated checks or security tests and included in release gates.
  • Risk-based anti-bot for auth and high-cost endpoints; integrate rate limits + consent gating.

Consent Governance (Release-Blocking)

  • Behavioral consistency is required: policy and disclosures must match actual behavior across UI, data handling, logging/observability, analytics, support operations, and marketing tags; mismatches are release-blocking.
  • Analytics (PostHog) and marketing/newsletter communications (Resend) must be governed by consent and user preferences.
  • Marketing tags (including GTM and Google Ads) must not load or fire without appropriate consent.
  • Without consent, tracking and marketing sends must not occur, except for strictly necessary service communications.
  • Event schemas and attributes must follow data minimization, with explicit PII classification and handling rules.

Marketing Attribution (Hard Requirement)

  • GTM may be used only for marketing tags and attribution; it must not become the primary product analytics system (PostHog remains the product analytics source).
  • Conversions representing monetary value or entitlement changes must be server-truth aligned, idempotent, and deduplicated; client-side tags may exist for attribution but must not become the authoritative source of billing/entitlement truth.

Read the full file on GitHub · 109 lines

Changes

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.

  1. 1mo ago First seen · 109 lines · 22 tokens per session scan A 7992a5bd5d1a

Subscribe to this mod's changes

saas-security is a command published in the GitHub repository SylphxAI/pdf-reader-mcp (1,042 stars, last pushed 4d ago), licensed MIT. It adds 22 tokens to every session and 1,100 once invoked, about $0.0001 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-06.

Related

Other commands, from other repositories

sign

Sign a PDF — stamp a signature block (name + date, or a PNG signature) on a signed copy.

eigenweltlabs/legalwork · 22 tokens

bib-filter

Filter a LaTeX project's bibliography to the entries actually cited, with Overleaf-source resolution, temporary staging, validation, approval-gated canonical replacement, and compilation. Use before submission or after large revisions.

flonat/flonat-research · 41 tokens

brief-compliance-check

Check a LaTeX coursework submission against the requirements in a supplied PDF assessment brief. Use when verifying format, required sections, word limits, or deliverables before submission. Not for general prose proofreading; use $proofread.

flonat/flonat-research · 45 tokens

insights-deck

Archive an exported Claude Code insights HTML report and turn it into a timestamped Beamer presentation usable from either client. Use when the insights export is the source artifact for a presentation. Not for a general research talk; use $talk-deck.

flonat/flonat-research · 49 tokens

latex-polish

Inspect a cleanly compiling LaTeX document for source pathologies and rendered visual defects by linting and viewing selected PDF pages. Use when compilation succeeds but title pages, floats, tables, figures, or layout still need publication-quality review. Not for basic compilation health; use $latex-health-check.

flonat/flonat-research · 60 tokens

latex

Compile one specified LaTeX document, resolve build errors, audit citations, and report build quality. Use when a .tex source must be built or a concrete compilation failure repaired. Not for corpus-wide build checks, visual polish after a clean build, or creating a project; use $latex-health-check, $latex-polish, or…

flonat/flonat-research · 72 tokens