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.
npx agentmods add rules/brighton-labs/railguard-cursor-coding/data-science-python-railguard-availablegit clone --depth 1 https://github.com/brighton-labs/railguard-cursor-codingWhat 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 | $0.00739 | $0.00739 |
| Opus 5 | $0.00369 | $0.00369 |
| Sonnet 5 | $0.00148 | $0.00148 |
| Haiku 4.5 | $0.00074 | $0.00074 |
Grade A, and why
data-science-python-railguard-available 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 2d 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.
How it starts
The opening of the file, as written. The whole thing — 90 lines — stays where its author put it; the contents beside it link to each section on GitHub.
description: Guide the LLM to generate secure, privacy-conscious data science code in notebooks and Python scripts. Defers input validation to .cursor/rules/input-validation.mdc while enforcing safe loading, export, and transformation of data.
globs: ["/*.ipynb", "/*.py"]
alwaysApply: true
Overview
This rule supports data analysts and scientists working in Python (e.g., Jupyter, Colab, VSCode notebooks) by:
- Enforcing safe data previews and exports
- Preventing accidental leakage of personally identifiable information (PII)
- Deferring all structured input validation logic to:
.cursor/rules/railguard-input-validation.mdc
(which uses the RAILGUARD Framework for secure reasoning and enforcement)
Safe Data Handling
- Use
pandas.read_csv()andread_excel()withdtype=...to enforce schema. - Always drop or mask sensitive fields before using
.head(),.sample(), or.plot(). - Never use
eval(),exec(),pd.eval()orquery()on raw data or unvalidated user inputs. - When exporting data, verify and exclude all PII fields.
Default PII fields to remove:
PII_FIELDS = ["email", "full_name", "ssn", "ip", "dob", "phone", "address"]
- Always log sanitized export filenames using
logging, notprint(). - Prefer versioned, structured export paths (e.g.,
exports/cleaned_data_v1.csv).
Cross-Reference: Validation Logic
Input validation, schema enforcement, sanitization, and secure reasoning are handled globally in:
.cursor/rules/railguard-input-validation.mdc
This ensures:
- Protection against malformed files, unexpected schema, or poisoned input
- Step-by-step generation reasoning (RAILGUARD pillars)
- Enforcement of redlines (e.g., avoiding
eval, ensuring schema is present) - Behaviorally aware, explainable code generation across file types
Example: Secure Data Load + Export
import pandas as pd
import logging
PII_FIELDS = ["email", "ssn", "address", "full_name"]
# Load CSV with enforced column types
df = pd.read_csv("customers.csv", dtype={"id": str, "email": str})
# Drop sensitive fields
df_clean = df.drop(columns=PII_FIELDS, errors="ignore")
# Preview non-sensitive columns only
print(df_clean[["id", "signup_date"]].head())
# Export with logging
output_path = "exports/customers_clean_v1.csv"
df_clean.to_csv(output_path, index=False)
logging.info(f"Exported sanitized data to {output_path}")
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.
- 2d ago First seen · 90 lines · 739 tokens per session scan A ff86fb2bff2d
data-science-python-railguard-available is a cursor rule published in the GitHub repository brighton-labs/railguard-cursor-coding (13 stars, last pushed 1y ago), licensed MIT. It adds 739 tokens to every session, about $0.0037 per session on Opus 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-08-30.
Other cursor rules, from other repositories
medgemma
MedGemma medical image analysis and medical assistant.
arcade-physics
Here are some tips to implement arcade physics with Phaser Editor.
angular-20
This rule provides comprehensive best practices and coding standards for Angular development, focusing on modern TypeScript, standalone components, signals, and performance optimizations.
dev-standard
Apache Superset development standards and guidelines for Cursor IDE.
cli-error-handling
CLI command error handling patterns.
prefer-direct-imports-over-module-mocks
Prefer extracting a testable core over vi.mock / vi.resetModules when unit tests need to reach production logic entangled with config, env, or singletons.