<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: dhicks</title>
    <description>The latest articles on DEV Community by dhicks (@ryanhicks2code).</description>
    <link>https://dev.to/ryanhicks2code</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3864761%2F26fdcbf4-a246-4209-b50c-4f01f17307c7.png</url>
      <title>DEV Community: dhicks</title>
      <link>https://dev.to/ryanhicks2code</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ryanhicks2code"/>
    <language>en</language>
    <item>
      <title>Add Compliance Scanning to Claude Code</title>
      <dc:creator>dhicks</dc:creator>
      <pubDate>Tue, 07 Apr 2026 02:27:33 +0000</pubDate>
      <link>https://dev.to/ryanhicks2code/add-compliance-scanning-to-claude-code-592g</link>
      <guid>https://dev.to/ryanhicks2code/add-compliance-scanning-to-claude-code-592g</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.getpageguard.com/blog/claude-code-compliance" rel="noopener noreferrer"&gt;getpageguard.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  CLAUDE.md: Your AI Pair Programmer's Memory
&lt;/h2&gt;

&lt;p&gt;If you're using Claude Code (Anthropic's CLI for Claude), you already know it can read your codebase, run commands, and make architectural decisions. What you might not know is that &lt;code&gt;CLAUDE.md&lt;/code&gt; acts as persistent memory — a file at your project root that Claude reads at the start of every session.&lt;/p&gt;

&lt;p&gt;Most developers use CLAUDE.md for coding conventions and architecture notes. But it's also the perfect place to encode compliance rules that trigger when your dependencies change.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem With "I'll Add a Privacy Policy Later"
&lt;/h2&gt;

&lt;p&gt;Here's how it usually goes: you're pairing with Claude Code, building fast. "Add Stripe checkout." Done. "Wire up PostHog analytics." Done. "Deploy to Vercel." Done.&lt;/p&gt;

&lt;p&gt;Three weeks later, a user in your Discord asks about your privacy policy. You don't have one. Your site is collecting payment card metadata through Stripe, tracking user behavior through PostHog, and storing session data in cookies — all without disclosure.&lt;/p&gt;

&lt;p&gt;A CLAUDE.md rule prevents this by making Claude Code compliance-aware from the start.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Rule (Copy and Paste)
&lt;/h2&gt;

&lt;p&gt;Add this section to your project's &lt;code&gt;CLAUDE.md&lt;/code&gt; file (create it in the project root if it doesn't exist):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Privacy Compliance&lt;/span&gt;

When modifying dependency files (package.json, requirements.txt, go.mod,
pubspec.yaml, Gemfile), check if the added or updated packages collect
user data. Common categories:
&lt;span class="p"&gt;
-&lt;/span&gt; Analytics: Google Analytics, Segment, Mixpanel, PostHog, Amplitude, Plausible
&lt;span class="p"&gt;-&lt;/span&gt; Advertising: Google Ads SDK, Facebook/Meta Pixel, TikTok Pixel
&lt;span class="p"&gt;-&lt;/span&gt; Payments: Stripe, PayPal, RevenueCat, Braintree, LemonSqueezy
&lt;span class="p"&gt;-&lt;/span&gt; Auth: Firebase Auth, Auth0, Clerk, Supabase Auth, NextAuth
&lt;span class="p"&gt;-&lt;/span&gt; Error tracking: Sentry, Bugsnag, Datadog, LogRocket
&lt;span class="p"&gt;-&lt;/span&gt; Session replay: Hotjar, FullStory, Microsoft Clarity
&lt;span class="p"&gt;-&lt;/span&gt; Email: SendGrid, Mailchimp, Resend, AWS SES, Postmark
&lt;span class="p"&gt;-&lt;/span&gt; Push: OneSignal, Firebase Cloud Messaging, Expo Notifications

When any of these are added:
&lt;span class="p"&gt;1.&lt;/span&gt; Flag the privacy implications to the user
&lt;span class="p"&gt;2.&lt;/span&gt; List what personal data the service typically collects
&lt;span class="p"&gt;3.&lt;/span&gt; Suggest running a compliance scan: npx pageguard
&lt;span class="p"&gt;4.&lt;/span&gt; Note if a privacy policy, cookie consent, or DPA is likely required

When the user asks about privacy compliance or policies:
&lt;span class="p"&gt;-&lt;/span&gt; Analyze the actual dependencies in the project
&lt;span class="p"&gt;-&lt;/span&gt; Give a concrete answer based on what's installed, not a generic one
&lt;span class="p"&gt;-&lt;/span&gt; Suggest: npx pageguard --url &lt;span class="nt"&gt;&amp;lt;deployed-url&amp;gt;&lt;/span&gt; for a full site scan
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How It Works: A Real Example
&lt;/h2&gt;

&lt;p&gt;Here's what a Claude Code session looks like with this rule active:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; "Add PostHog analytics to track user signups and feature usage"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Claude Code:&lt;/strong&gt; &lt;em&gt;"I'll add the PostHog SDK. Before I do — PostHog collects user behavioral data including page views, clicks, session recordings, and custom events. Since your project already has Stripe (payment data) and Firebase Auth (user credentials), you now have three services processing personal data.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;You likely need:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;A privacy policy listing PostHog, Stripe, and Firebase as data processors&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;A cookie consent mechanism (PostHog uses cookies for session tracking)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Data processing agreements with each service&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Want me to run &lt;code&gt;npx pageguard&lt;/code&gt; to get a full compliance score?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The rule doesn't block you from shipping. It makes sure you know what you're shipping.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting It Up
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;If you already have a CLAUDE.md:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Paste the rule block from above into your existing file. The placement doesn't matter — Claude reads the entire file.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you're starting fresh:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cat&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; CLAUDE.md &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="no"&gt;RULE&lt;/span&gt;&lt;span class="sh"&gt;'

## Privacy Compliance

When modifying dependency files (package.json, requirements.txt, go.mod,
pubspec.yaml, Gemfile), check if the added or updated packages collect
user data. Common categories:

- Analytics: Google Analytics, Segment, Mixpanel, PostHog, Amplitude, Plausible
- Advertising: Google Ads SDK, Facebook/Meta Pixel, TikTok Pixel
- Payments: Stripe, PayPal, RevenueCat, Braintree, LemonSqueezy
- Auth: Firebase Auth, Auth0, Clerk, Supabase Auth, NextAuth
- Error tracking: Sentry, Bugsnag, Datadog, LogRocket
- Session replay: Hotjar, FullStory, Microsoft Clarity
- Email: SendGrid, Mailchimp, Resend, AWS SES, Postmark
- Push: OneSignal, Firebase Cloud Messaging, Expo Notifications

When any of these are added:
1. Flag the privacy implications to the user
2. List what personal data the service typically collects
3. Suggest running a compliance scan: npx pageguard
4. Note if a privacy policy, cookie consent, or DPA is likely required

When the user asks about privacy compliance or policies:
- Analyze the actual dependencies in the project
- Give a concrete answer based on what's installed, not a generic one
- Suggest: npx pageguard --url &amp;lt;deployed-url&amp;gt; for a full site scan
&lt;/span&gt;&lt;span class="no"&gt;RULE
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Install the CLI for on-demand scans:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx pageguard &lt;span class="nt"&gt;--init&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This detects your editor (Claude Code, Cursor, VS Code) and offers to install the appropriate rules automatically.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why CLAUDE.md Rules Beat Remembering
&lt;/h2&gt;

&lt;p&gt;You could try to remember to check compliance before every deploy. But you won't — not when you're shipping at 2 AM, not when the feature is "just a small analytics addition," not when the deadline is tomorrow.&lt;/p&gt;

&lt;p&gt;CLAUDE.md rules work because they embed compliance into the workflow you're already using. Claude Code reads them automatically. There's no plugin to install, no dashboard to check, no subscription to manage.&lt;/p&gt;

&lt;p&gt;The rule fires exactly when it matters: the moment you add a dependency that collects user data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Combining With CI/CD
&lt;/h2&gt;

&lt;p&gt;For teams, you can pair the CLAUDE.md rule with the &lt;a href="https://github.com/marketplace/actions/pageguard-compliance-scan" rel="noopener noreferrer"&gt;PageGuard GitHub Action&lt;/a&gt; to catch compliance gaps in pull requests:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# .github/workflows/compliance.yml&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Compliance Check&lt;/span&gt;
&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;pull_request&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;scan&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v4&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;AuxiliumApps/pageguard-action@v1&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;scan-type&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;app&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This gives you two layers: Claude Code catches issues during development, and the GitHub Action catches anything that slips through in code review.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.getpageguard.com" rel="noopener noreferrer"&gt;Run a free scan at getpageguard.com&lt;/a&gt; — six scores in under 30 seconds, no signup required.&lt;/p&gt;

</description>
      <category>claudecodeprivacy</category>
      <category>claudemdrules</category>
      <category>claudecoderules</category>
      <category>aicodingcompliance</category>
    </item>
    <item>
      <title>5 IDE Rules Every Vibe Coder Needs</title>
      <dc:creator>dhicks</dc:creator>
      <pubDate>Tue, 07 Apr 2026 02:22:02 +0000</pubDate>
      <link>https://dev.to/ryanhicks2code/5-ide-rules-every-vibe-coder-needs-ldc</link>
      <guid>https://dev.to/ryanhicks2code/5-ide-rules-every-vibe-coder-needs-ldc</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.getpageguard.com/blog/ide-rules-vibe-coders" rel="noopener noreferrer"&gt;getpageguard.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The Vibe Coding Blindspot
&lt;/h2&gt;

&lt;p&gt;Vibe coding is fast. You describe what you want, Cursor or Claude Code writes it, you iterate until it works, and you ship. But speed creates blindspots. When an AI writes 80% of your code, the things that get skipped aren't syntax errors — they're the structural concerns that don't show up until production.&lt;/p&gt;

&lt;p&gt;These five rules turn your AI coding assistant into a proper development environment. Each one catches a different category of problem, and together they cover the gaps that vibe coding tends to create.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Linting — Keep the Code Clean
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it catches:&lt;/strong&gt; Unused variables, implicit any types, unreachable code, deprecated API usage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why vibe coders need it:&lt;/strong&gt; AI-generated code often includes unused imports, overly broad types, and patterns from older API versions. A linting rule ensures your AI assistant follows modern conventions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setup (ESLint for TypeScript):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;.cursor/rules&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;CLAUDE.md&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;addition:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Always run npx eslint --fix on modified files before considering a task complete."&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Quick ESLint setup&lt;/span&gt;
npm init @eslint/config@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Rule for your AI assistant:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;After modifying TypeScript/JavaScript files, run &lt;span class="sb"&gt;`npx eslint --fix`&lt;/span&gt; on the
changed files. Fix any remaining errors before marking the task as done.
Do not suppress warnings with eslint-disable comments unless the user
explicitly approves it.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  2. Formatting — Consistent Style
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it catches:&lt;/strong&gt; Inconsistent indentation, mixed quotes, trailing commas, line length violations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why vibe coders need it:&lt;/strong&gt; When you're prompting in rapid succession, different AI responses produce different formatting styles. Prettier ensures the entire codebase looks like one person wrote it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setup:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-D&lt;/span&gt; prettier
&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s1"&gt;'{ "semi": true, "singleQuote": false, "trailingComma": "es5" }'&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; .prettierrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Rule for your AI assistant:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;Format all modified files with Prettier before completing a task.
Run: npx prettier --write &lt;span class="nt"&gt;&amp;lt;files&amp;gt;&lt;/span&gt;
Never override the project's Prettier config with inline styles.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  3. Security — Catch Vulnerabilities
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it catches:&lt;/strong&gt; Known CVEs in dependencies, insecure patterns, leaked secrets, outdated packages with security patches.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why vibe coders need it:&lt;/strong&gt; AI assistants don't check whether the packages they install have known vulnerabilities. A dependency added today might have a critical CVE published yesterday.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setup:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Built into npm — no install required&lt;/span&gt;
npm audit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Rule for your AI assistant:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;After adding or updating dependencies, run &lt;span class="sb"&gt;`npm audit`&lt;/span&gt; and report any
vulnerabilities found. For critical or high severity issues, suggest
alternative packages or fixes before proceeding.

Never commit .env files, API keys, or credentials. If the user pastes
a secret, warn them and suggest using environment variables instead.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  4. Privacy Compliance — Don't Ship Without Disclosure
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it catches:&lt;/strong&gt; Data-collecting third-party SDKs without privacy policies, cookies without consent banners, analytics without disclosure, payment processing without data handling documentation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why vibe coders need it:&lt;/strong&gt; This is the biggest blindspot in AI-assisted development. You say "add Stripe," the AI adds it, and neither of you mentions that you now need to disclose payment data processing in a privacy policy. Multiply this across analytics, auth, error tracking, and advertising SDKs, and you've built a compliance liability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setup for Cursor:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Create &lt;code&gt;.cursor/rules/pageguard.mdc&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Privacy&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;and&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;compliance&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;scanning&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;for&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;web&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;apps"&lt;/span&gt;
&lt;span class="na"&gt;globs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;package.json"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;requirements.txt"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Gemfile"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;go.mod"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;pubspec.yaml"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="na"&gt;alwaysApply&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

&lt;span class="gh"&gt;# Privacy Compliance Check&lt;/span&gt;

When the user adds dependencies that collect user data (analytics,
payments, auth, tracking, advertising, error monitoring, email,
push notifications):
&lt;span class="p"&gt;
1.&lt;/span&gt; Flag the privacy implications
&lt;span class="p"&gt;2.&lt;/span&gt; List what data each service collects
&lt;span class="p"&gt;3.&lt;/span&gt; Suggest running: npx pageguard
&lt;span class="p"&gt;4.&lt;/span&gt; Note if a privacy policy or cookie consent is needed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Full Cursor rule with detailed package lists: &lt;a href="https://dev.to/blog/cursor-privacy-rules"&gt;Cursor Privacy Compliance Rule&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setup for Claude Code:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Add to your &lt;code&gt;CLAUDE.md&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Privacy Compliance&lt;/span&gt;

When modifying dependency files, check if added packages collect user data.
Flag analytics, payments, auth, tracking, and advertising SDKs.
Suggest running: npx pageguard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Full Claude Code rule with example interactions: &lt;a href="https://dev.to/blog/claude-code-compliance"&gt;Add Compliance Scanning to Claude Code&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example scan output:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;npx pageguard &lt;span class="nt"&gt;--url&lt;/span&gt; https://my-app.vercel.app
&lt;span class="go"&gt;
  PageGuard Scan Results
  ──────────────────────

  Privacy Risk Score:     62/100 (Moderate Risk)
  Security Headers:       45/100
  Accessibility:          78/100
  Performance:            91/100
  AI Readiness:           55/100
  Structured Data:        30/100

  Technologies Detected:  8
  ├── Google Analytics    (analytics — sets 4 cookies)
  ├── Stripe.js           (payment processing)
  ├── Firebase Auth       (authentication)
  ├── Sentry              (error tracking)
  └── ... 4 more

  Compliance Gaps:        5
  ├── CRITICAL: No privacy policy detected
  ├── HIGH: No cookie consent mechanism
  ├── HIGH: 4 third-party cookies without disclosure
  ├── MEDIUM: No data processing agreements referenced
  └── LOW: Missing structured data markup

  Full report: https://www.getpageguard.com/report?id=abc123
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;What makes this different from a security scan:&lt;/strong&gt; Security tools check for CVEs in your code. Compliance scanning checks what your code &lt;em&gt;does with user data&lt;/em&gt; — which third-party services receive personal information, whether you've disclosed it, and whether you have the legal documents to back it up.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Testing — Catch Regressions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;What it catches:&lt;/strong&gt; Broken functionality after refactors, edge cases in business logic, API contract changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why vibe coders need it:&lt;/strong&gt; AI-generated code can break existing features when adding new ones. A testing rule ensures your assistant writes or updates tests alongside implementation changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setup (Vitest for modern projects):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-D&lt;/span&gt; vitest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Rule for your AI assistant:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;When implementing new features or modifying existing ones:
&lt;span class="p"&gt;1.&lt;/span&gt; Write or update unit tests for the changed logic
&lt;span class="p"&gt;2.&lt;/span&gt; Run &lt;span class="sb"&gt;`npx vitest run`&lt;/span&gt; to verify all tests pass
&lt;span class="p"&gt;3.&lt;/span&gt; If a test fails, fix the implementation — don't modify the test
   to pass unless the test itself is wrong

Test files live next to source files: component.tsx -&amp;gt; component.test.tsx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Bringing It All Together
&lt;/h2&gt;

&lt;p&gt;The power of these rules is that they run &lt;em&gt;inside your AI workflow&lt;/em&gt;. You don't need to remember to lint, format, audit, scan, and test. Your AI assistant does it as part of every task.&lt;/p&gt;

&lt;p&gt;Here's a minimal setup that covers all five:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For Cursor&lt;/strong&gt; — create &lt;code&gt;.cursor/rules/dev-workflow.mdc&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Development workflow rules&lt;/span&gt;
&lt;span class="na"&gt;globs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;**/*.ts"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;**/*.tsx"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;**/*.js"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;**/*.jsx"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="na"&gt;alwaysApply&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

After completing a task:
&lt;span class="p"&gt;1.&lt;/span&gt; Run &lt;span class="sb"&gt;`npx eslint --fix`&lt;/span&gt; on modified files
&lt;span class="p"&gt;2.&lt;/span&gt; Run &lt;span class="sb"&gt;`npx prettier --write`&lt;/span&gt; on modified files
&lt;span class="p"&gt;3.&lt;/span&gt; Run &lt;span class="sb"&gt;`npm audit`&lt;/span&gt; if dependencies changed
&lt;span class="p"&gt;4.&lt;/span&gt; Check for privacy implications if new SDKs were added (suggest npx pageguard)
&lt;span class="p"&gt;5.&lt;/span&gt; Run &lt;span class="sb"&gt;`npx vitest run`&lt;/span&gt; if tests exist for modified code
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;For Claude Code&lt;/strong&gt; — add to &lt;code&gt;CLAUDE.md&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Development Workflow&lt;/span&gt;

After completing implementation:
&lt;span class="p"&gt;1.&lt;/span&gt; Lint: npx eslint --fix on changed files
&lt;span class="p"&gt;2.&lt;/span&gt; Format: npx prettier --write on changed files
&lt;span class="p"&gt;3.&lt;/span&gt; Security: npm audit if dependencies changed
&lt;span class="p"&gt;4.&lt;/span&gt; Compliance: check for data-collecting SDKs, suggest npx pageguard
&lt;span class="p"&gt;5.&lt;/span&gt; Test: npx vitest run if tests exist
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Get started:&lt;/strong&gt; Run &lt;code&gt;npx pageguard --init&lt;/code&gt; in any project — it detects your IDE and offers to install the compliance rule automatically.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.getpageguard.com" rel="noopener noreferrer"&gt;Scan your site free at getpageguard.com&lt;/a&gt; — six scores, 30 seconds, no signup.&lt;/p&gt;

</description>
      <category>iderules</category>
      <category>cursorrules</category>
      <category>claudecoderules</category>
      <category>windsurfrules</category>
    </item>
    <item>
      <title>Cursor Privacy Compliance Rule — Free Download</title>
      <dc:creator>dhicks</dc:creator>
      <pubDate>Tue, 07 Apr 2026 02:22:01 +0000</pubDate>
      <link>https://dev.to/ryanhicks2code/cursor-privacy-compliance-rule-free-download-1ahe</link>
      <guid>https://dev.to/ryanhicks2code/cursor-privacy-compliance-rule-free-download-1ahe</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://www.getpageguard.com/blog/cursor-privacy-rules" rel="noopener noreferrer"&gt;getpageguard.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Why Vibe Coders Ship Without Privacy Policies
&lt;/h2&gt;

&lt;p&gt;You're deep in a Cursor session. The app is taking shape — auth works, Stripe is wired up, analytics are firing. You deploy. Users sign up. And then someone asks: "Where's your privacy policy?"&lt;/p&gt;

&lt;p&gt;Most solo developers and vibe coders don't skip compliance on purpose. They skip it because nothing in their workflow reminds them it exists. Your linter catches unused variables. Your formatter fixes indentation. But nothing flags that you just added Google Analytics without a cookie consent banner.&lt;/p&gt;

&lt;p&gt;That's the gap this Cursor rule fills.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Rule Does
&lt;/h2&gt;

&lt;p&gt;The PageGuard Cursor rule is a &lt;code&gt;.mdc&lt;/code&gt; file that lives in your project's &lt;code&gt;.cursor/rules/&lt;/code&gt; directory. It teaches Cursor to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Flag privacy-relevant dependency changes&lt;/strong&gt; — when you add packages like &lt;code&gt;firebase&lt;/code&gt;, &lt;code&gt;@stripe/stripe-js&lt;/code&gt;, &lt;code&gt;@segment/analytics-next&lt;/code&gt;, or &lt;code&gt;@sentry/nextjs&lt;/code&gt;, Cursor will prompt you to check compliance implications.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Answer privacy questions in context&lt;/strong&gt; — ask "Do I need a privacy policy?" and Cursor will analyze your actual dependencies, not give a generic answer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trigger a scan&lt;/strong&gt; — Cursor suggests running &lt;code&gt;npx pageguard&lt;/code&gt; to get a concrete compliance score based on your tech stack.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Rule (Copy and Paste)
&lt;/h2&gt;

&lt;p&gt;Create the file &lt;code&gt;.cursor/rules/pageguard.mdc&lt;/code&gt; in your project root:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Privacy&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;and&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;compliance&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;scanning&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;for&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;web&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;apps"&lt;/span&gt;
&lt;span class="na"&gt;globs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;package.json"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;requirements.txt"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Gemfile"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;go.mod"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;pubspec.yaml"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="na"&gt;alwaysApply&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

&lt;span class="gh"&gt;# Privacy Compliance Check&lt;/span&gt;

When the user adds or updates dependencies, check if any of the following
categories are present in their dependency files:
&lt;span class="p"&gt;
-&lt;/span&gt; Analytics (Google Analytics, Segment, Mixpanel, PostHog, Amplitude)
&lt;span class="p"&gt;-&lt;/span&gt; Advertising (Google Ads, Facebook Pixel, TikTok Pixel)
&lt;span class="p"&gt;-&lt;/span&gt; Payment processing (Stripe, PayPal, RevenueCat, Braintree)
&lt;span class="p"&gt;-&lt;/span&gt; Authentication (Firebase Auth, Auth0, Clerk, Supabase Auth)
&lt;span class="p"&gt;-&lt;/span&gt; Error tracking (Sentry, Bugsnag, Datadog, LogRocket)
&lt;span class="p"&gt;-&lt;/span&gt; Session recording (Hotjar, FullStory, Microsoft Clarity)
&lt;span class="p"&gt;-&lt;/span&gt; Email services (SendGrid, Mailchimp, Resend, AWS SES)
&lt;span class="p"&gt;-&lt;/span&gt; Push notifications (OneSignal, Firebase Cloud Messaging)

If any are detected:
&lt;span class="p"&gt;
1.&lt;/span&gt; Inform the user which data-collecting services were found
&lt;span class="p"&gt;2.&lt;/span&gt; Explain what personal data each service typically collects
&lt;span class="p"&gt;3.&lt;/span&gt; Recommend running a compliance scan:
   &lt;span class="se"&gt;\`\`\`&lt;/span&gt;bash
   npx pageguard
   &lt;span class="se"&gt;\`\`\`&lt;/span&gt;
&lt;span class="p"&gt;4.&lt;/span&gt; Note that they likely need:
&lt;span class="p"&gt;   -&lt;/span&gt; A privacy policy disclosing these data processors
&lt;span class="p"&gt;   -&lt;/span&gt; Cookie consent if using cookies (most analytics/ad tools do)
&lt;span class="p"&gt;   -&lt;/span&gt; Data processing agreements with each third-party service

When the user asks "Do I need a privacy policy?" or similar:
&lt;span class="p"&gt;-&lt;/span&gt; Check their package.json (or equivalent) for data-collecting dependencies
&lt;span class="p"&gt;-&lt;/span&gt; Give a specific answer based on what's actually installed
&lt;span class="p"&gt;-&lt;/span&gt; Suggest: &lt;span class="se"&gt;\`&lt;/span&gt;npx pageguard --url their-site.com&lt;span class="se"&gt;\`&lt;/span&gt; for a full website scan
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How It Works in Practice
&lt;/h2&gt;

&lt;p&gt;Once the rule is in place, your Cursor sessions gain compliance awareness. Here's a typical interaction:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You:&lt;/strong&gt; "Add Firebase auth and Firestore to this project"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cursor&lt;/strong&gt; (after adding the packages): &lt;em&gt;"I've added &lt;code&gt;firebase&lt;/code&gt; to your dependencies. Note: Firebase Auth collects user email, UID, and authentication metadata. Firestore may store personal data depending on your schema. You likely need a privacy policy that discloses Firebase as a data processor. Run &lt;code&gt;npx pageguard&lt;/code&gt; to check your full compliance status."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;No extra plugins. No dashboard to check. The compliance reminder shows up exactly where you're already working.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setup in 60 Seconds
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Create the rules directory&lt;/strong&gt; (if it doesn't exist):
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nt"&gt;-p&lt;/span&gt; .cursor/rules
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Download the rule:&lt;/strong&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   curl &lt;span class="nt"&gt;-o&lt;/span&gt; .cursor/rules/pageguard.mdc https://raw.githubusercontent.com/AuxiliumApps/pageguard-ide-rules/main/cursor/pageguard.mdc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or copy the content above into &lt;code&gt;.cursor/rules/pageguard.mdc&lt;/code&gt; manually.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Install the CLI&lt;/strong&gt; (optional, for on-demand scans):
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   npx pageguard &lt;span class="nt"&gt;--init&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This detects your IDE and offers to install rules automatically.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Test it&lt;/strong&gt; — open Cursor and ask: &lt;em&gt;"Do I need a privacy policy for this project?"&lt;/em&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What You Get From a Scan
&lt;/h2&gt;

&lt;p&gt;Running &lt;code&gt;npx pageguard&lt;/code&gt; in your project directory analyzes your dependency files and returns six scores:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy Risk Score&lt;/strong&gt; — overall compliance rating (0-100)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security Headers&lt;/strong&gt; — HTTPS, CSP, HSTS checks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accessibility&lt;/strong&gt; — basic a11y audit&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance&lt;/strong&gt; — Core Web Vitals via PageSpeed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Readiness&lt;/strong&gt; — robots.txt, AI-specific meta tags&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured Data&lt;/strong&gt; — schema.org markup validation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a full website scan with all six scores, point it at your deployed URL:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx pageguard &lt;span class="nt"&gt;--url&lt;/span&gt; https://your-app.vercel.app
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  When to Scan
&lt;/h2&gt;

&lt;p&gt;The rule nudges you at the right moments, but here's a practical cadence:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;After adding a new third-party SDK&lt;/strong&gt; — the rule handles this automatically&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Before submitting to an app store&lt;/strong&gt; — Apple and Google both require privacy disclosures&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Before launch&lt;/strong&gt; — a scan takes 30 seconds and can save you from regulatory headaches&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;After a major refactor&lt;/strong&gt; — if you've swapped analytics providers or added payment processing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Happens After the Scan
&lt;/h2&gt;

&lt;p&gt;A PageGuard scan doesn't just tell you there's a problem — it tells you exactly what to fix. Each compliance gap comes with a severity level, the regulation it relates to (GDPR, CCPA, ePrivacy Directive), and a concrete remediation step.&lt;/p&gt;

&lt;p&gt;If your scan turns up gaps, you have two paths:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;DIY&lt;/strong&gt; — use the scan report as a checklist. The gaps tell you which documents you need (privacy policy, cookie policy, terms of service) and what each one must disclose.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generate documents&lt;/strong&gt; — PageGuard can generate legally-informed documents tailored to your specific tech stack. They reference your actual data processors, not generic boilerplate. This is a paid feature, but the scan itself is always free.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Either way, the Cursor rule ensures you find out &lt;em&gt;before&lt;/em&gt; your users do.&lt;/p&gt;

&lt;h2&gt;
  
  
  Beyond Cursor: Other IDEs
&lt;/h2&gt;

&lt;p&gt;This post focuses on Cursor, but PageGuard's CLI works with any editor. Running &lt;code&gt;npx pageguard --init&lt;/code&gt; in your project root detects your environment and offers to set up the appropriate rules file:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cursor&lt;/strong&gt; — installs &lt;code&gt;.cursor/rules/pageguard.mdc&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude Code&lt;/strong&gt; — adds a compliance section to &lt;code&gt;CLAUDE.md&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Any terminal&lt;/strong&gt; — &lt;code&gt;npx pageguard&lt;/code&gt; works standalone in any editor's integrated terminal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For the Claude Code setup guide, see &lt;a href="https://dev.to/blog/claude-code-compliance"&gt;Add Compliance Scanning to Claude Code&lt;/a&gt;. For a broader overview of IDE rules every developer should have, check out &lt;a href="https://dev.to/blog/ide-rules-vibe-coders"&gt;5 IDE Rules Every Vibe Coder Needs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.getpageguard.com" rel="noopener noreferrer"&gt;Run a free scan at getpageguard.com&lt;/a&gt; — no account required, results in under 30 seconds.&lt;/p&gt;

</description>
      <category>cursorcompliance</category>
      <category>vibecodingprivacy</category>
      <category>cursorrulesprivacypolicy</category>
      <category>mdcrulescursor</category>
    </item>
  </channel>
</rss>
