PageSourceSearch

https://sekrd.com/docs

html sekrd.com collected 2026-10-05 18:29:38 UTC 93,255 bytes, 88 lines download raw bytes

1<!DOCTYPE html><html lang="en" class="inter_ed26c892-module__0Hd1FG__variable space_grotesk_361135fd-module__Vna8kq__variable jetbrains_mono_b90ee254-module__ZcKZKW__variable h-full antialiased dark bg-black"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/0i3hrjo2hnx_l.css" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/16qne651ky9y~.css" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm" href="/_next/static/chunks/0_9rj3gtku9.b.js"/>
1<script src="/_next/static/chunks/0mu1qslb0zv9i.js" async="" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm"></script>
1<script src="/_next/static/chunks/03suqv13wr-t2.js" async="" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm"></script>
1<script src="/_next/static/chunks/03jnej.uud_v_.js" async="" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm"></script>
1<script src="/_next/static/chunks/turbopack-13l8v633ur2fr.js" async="" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm"></script>
1<script src="/_next/static/chunks/01xlw8hd842-c.js" async="" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm"></script>
1<script src="/_next/static/chunks/0d3shmwh5_nmn.js" async="" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm"></script>
1<script src="/_next/static/chunks/0zdxqxhdbwu6e.js" async="" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm"></script>
1<script src="/_next/static/chunks/128ijfj88em0b.js" async="" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm"></script>
1<script src="/_next/static/chunks/04m28jiwmtgfe.js" async="" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm"></script>
1<script src="/_next/static/chunks/0yxvw44bbd.z9.js" async="" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm"></script>
1<script src="/_next/static/chunks/0ufbysi4sus3i.js" async="" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm"></script>
1<script src="/_next/static/chunks/0qco2lbz6e8ii.js" async="" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm"></script>
1<meta name="next-size-adjust" content=""/><link rel="preconnect" href="https://api.sekrd.com"/><link rel="dns-prefetch" href="https://api.sekrd.com"/><link rel="preconnect" href="https://cdn.paddle.com"/><meta name="google-site-verification" content="bhDdgsbc9g1rIVUhQXtdMaKVEOELUBQCw2CzNTlQTL8"/><title>Documentation | Sekrd</title><meta name="description" content="Learn how to use Sekrd to secure your AI-built apps. Setup guides, API reference, CI/CD integration, and tutorials for Supabase, Firebase, and MCP security."/><meta name="author" content="Sekrd"/><meta name="keywords" content="security audit,supabase rls,firebase rules,vibe coding security,AI app security,lovable security,claude code security,cursor security,api security scanner,sekrd,mcp server security,security scanner,web app security,exposed api keys,rls policy audit,ai code security,vulnerability scanner,security badge,deep scan,fix prompts"/><meta name="creator" content="Sekrd"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><link rel="canonical" href="https://sekrd.com/docs"/><meta property="og:title" content="Sekrd — Deep security audit for AI-built apps"/><meta property="og:description" content="We find what your AI forgot to secure. Deep Supabase RLS, Firebase rules, auth flow auditing."/><meta property="og:url" content="https://sekrd.com"/><meta property="og:site_name" content="Sekrd"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://sekrd.com/opengraph-image"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Sekrd — Deep security audit for AI-built apps"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Sekrd — Deep security audit for AI-built apps"/><meta name="twitter:description" content="We find what your AI forgot to secure."/><meta name="twitter:image" content="https://sekrd.com/opengraph-image"/><link rel="icon" href="/favicon.ico?favicon.0x3dzn~oxb6tn.ico" sizes="256x256" type="image/x-icon"/><link rel="icon" href="/icon.svg?icon.0ra1442mwmect.svg" sizes="any" type="image/svg+xml"/>
1<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm" type="application/ld+json">{"@context":"https://schema.org","@type":"SoftwareApplication","name":"Sekrd","description":"Deep security audit for AI-built apps. Find Supabase RLS, Firebase rules, and auth vulnerabilities.","url":"https://sekrd.com","applicationCategory":"SecurityApplication","operatingSystem":"Web","offers":[{"@type":"Offer","price":"0","priceCurrency":"USD","description":"Free tier — URL scans with monthly quota"},{"@type":"Offer","price":"39","priceCurrency":"USD","description":"Pre-Launch Audit — one-time deep audit + compliance review + PDF report"},{"@type":"Offer","price":"29","priceCurrency":"USD","description":"Continuous Pro — monthly monitoring with drift alerts"}]}</script>
1<script src="/_next/static/chunks/03~yq9q893hmn.js" noModule="" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm"></script>
1</head><body class="min-h-full flex flex-col text-[#F5F5F7] font-[var(--font-inter)]"><div hidden=""><!--$--><!--/$--></div><!--$?--><template id="B:0"></template><div class="min-h-screen flex items-center justify-center"><div class="flex flex-col items-center gap-4"><div class="w-8 h-8 border-2 border-[#30D158] border-t-transparent rounded-full animate-spin"></div><p class="text-[#86868B] text-sm">Loading...</p></div></div><!--/$-->
1<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm">requestAnimationFrame(function(){$RT=performance.now()});</script>
1<script src="/_next/static/chunks/0_9rj3gtku9.b.js" nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm" id="_R_" async=""></script>
1<div hidden id="S:0"><div class="min-h-screen"><nav class="sticky top-0 z-50 backdrop-blur-xl bg-black/80 border-b border-white/5"><div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"><a class="flex items-center gap-2.5 group" href="/"><svg width="28" height="28" viewBox="0 0 80 80" fill="none" role="img" aria-label="Sekrd" xmlns="http://www.w3.org/2000/svg"><defs><mask id="_R_15anpfdtb_"><path d="M40 6L12 16v20c0 16 12 28 28 34 16-6 28-18 28-34V16L40 6z" fill="white"></path><text x="40" y="51" text-anchor="middle" fill="black" font-size="44" font-weight="800" font-family="SF Pro Display,-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif">S</text></mask></defs><path d="M40 6L12 16v20c0 16 12 28 28 34 16-6 28-18 28-34V16L40 6z" fill="#1C1C1E" stroke="#1C1C1E" stroke-width="4" stroke-linejoin="round"></path><path d="M40 6L12 16v20c0 16 12 28 28 34 16-6 28-18 28-34V16L40 6z" fill="#30D158" mask="url(#_R_15anpfdtb_)"></path><circle cx="57.5" cy="14" r="10" fill="#1C1C1E"></circle><circle cx="57.5" cy="14" r="5.5" fill="#30D158"><animate attributeName="r" values="5.5;3.5;5.5" dur="2.5s" repeatCount="indefinite" calcMode="spline" keySplines="0.4 0 0.2 1;0.4 0 0.2 1"></animate><animate attributeName="opacity" values="1;0.45;1" dur="2.5s" repeatCount="indefinite" calcMode="spline" keySplines="0.4 0 0.2 1;0.4 0 0.2 1"></animate></circle></svg><span class="font-[var(--font-heading)] text-lg font-bold tracking-tight group-hover:text-[#30D158] transition-colors">sekrd</span></a><div class="hidden md:flex items-center gap-6"><a class="text-sm text-[#86868B] hover:text-white transition-colors py-2 px-1" href="/pricing">Pricing</a><a class="text-sm text-[#86868B] hover:text-white transition-colors py-2 px-1" href="/docs">Docs</a><a class="text-sm text-[#86868B] hover:text-white transition-colors py-2 px-1" href="/blog">Blog</a><a class="text-sm text-[#86868B] hover:text-white transition-colors py-2 px-1" href="/about">About</a></div><div class="hidden md:flex items-center gap-3"><a class="text-sm text-[#86868B] hover:text-white transition-colors px-3 py-2" href="/auth/signin">Sign In</a><a class="px-4 py-2 bg-[#30D158] text-black text-sm font-semibold rounded-lg hover:bg-[#28B84C] transition-all hover:shadow-[0_0_20px_rgba(48,209,88,0.3)]" href="/scan">Scan Now</a></div><button type="button" class="md:hidden p-2.5 -mr-2.5" aria-label="Open menu" aria-expanded="false"><svg width="24" height="24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 6h16M4 12h16M4 18h16"></path></svg></button></div></nav><main><div class="max-w-5xl mx-auto px-6 py-16"><h1 class="font-[var(--font-heading)] text-4xl font-bold mb-4">Documentation</h1><p class="text-[#86868B] text-lg mb-6">Everything you need to know about securing your AI-built apps with Sekrd.</p><div class="sticky top-16 z-20 bg-black/95 backdrop-blur-sm pb-4 pt-2 -mx-6 px-6"><div class="relative"><svg class="absolute left-4 top-1/2 -translate-y-1/2 w-4 h-4 text-[#86868B]" fill="none" stroke="currentColor" viewBox="0 0 24 24" stroke-width="2"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.35-4.35" stroke-linecap="round"></path></svg><input type="text" placeholder="Search docs..." class="w-full pl-11 pr-10 py-3 bg-black border border-[#2C2C2E] rounded-lg text-[#F5F5F7] placeholder:text-[#86868B]/50 focus:outline-none focus:border-[#30D158] transition-colors text-sm" value=""/></div></div><nav class="flex flex-wrap gap-2 mb-16 p-4 bg-[#111113] border border-white/5 rounded-xl"><a href="#getting-started" class="px-3 py-1.5 text-sm text-[#86868B] hover:text-[#F5F5F7] hover:bg-[#1C1C1E] rounded-lg transition-colors">Getting Started</a><a href="#deep-scan" class="px-3 py-1.5 text-sm text-[#86868B] hover:text-[#F5F5F7] hover:bg-[#1C1C1E] rounded-lg transition-colors">Deep Scan</a><a href="#fix-prompts" class="px-3 py-1.5 text-sm text-[#86868B] hover:text-[#F5F5F7] hover:bg-[#1C1C1E] rounded-lg transition-colors">Fix Prompts</a><a href="#mcp-plugin" class="px-3 py-1.5 text-sm text-[#86868B] hover:text-[#F5F5F7] hover:bg-[#1C1C1E] rounded-lg transition-colors">MCP Plugin</a><a href="#api-reference" class="px-3 py-1.5 text-sm text-[#86868B] hover:text-[#F5F5F7] hover:bg-[#1C1C1E] rounded-lg transition-colors">API Reference</a><a href="#webhooks" class="px-3 py-1.5 text-sm text-[#86868B] hover:text-[#F5F5F7] hover:bg-[#1C1C1E] rounded-lg transition-colors">Webhooks</a><a href="#badge" class="px-3 py-1.5 text-sm text-[#86868B] hover:text-[#F5F5F7] hover:bg-[#1C1C1E] rounded-lg transition-colors">Badge</a><a href="#monitoring" class="px-3 py-1.5 text-sm text-[#86868B] hover:text-[#F5F5F7] hover:bg-[#1C1C1E] rounded-lg transition-colors">Monitoring</a><a href="#ai-review" class="px-3 py-1.5 text-sm text-[#86868B] hover:text-[#F5F5F7] hover:bg-[#1C1C1E] rounded-lg transition-colors">AI Review</a><a href="#scoring" class="px-3 py-1.5 text-sm text-[#86868B] hover:text-[#F5F5F7] hover:bg-[#1C1C1E] rounded-lg transition-colors">Scoring</a><a href="#account" class="px-3 py-1.5 text-sm text-[#86868B] hover:text-[#F5F5F7] hover:bg-[#1C1C1E] rounded-lg transition-colors">Account &amp; Data</a></nav><div class="space-y-20"><section data-search="getting-started scan url paste results findings fix prompt"><h2 id="getting-started" class="font-[var(--font-heading)] text-2xl font-bold mb-6 pb-3 border-b border-white/5 scroll-mt-24">Getting Started</h2><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Sekrd scans any web application for security vulnerabilities. Most scans finish in under 2 minutes; large or slow targets can take longer. Sign up is OAuth-quick. Free URL scans with a generous monthly quota (tune from /admin/settings).</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">1. Paste your URL</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Go to the <a href="/scan" class="text-[#30D158] hover:underline">Scan page</a> and enter the URL of your deployed app (e.g. <code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">https://myapp.vercel.app</code>).</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">2. Wait for results</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Sekrd runs 15 security checks in parallel: secrets detection, dependency CVE scanning, DAST (dynamic application security testing), active DAST (XSS probing, CORS verification, rate limit testing, IDOR detection, open redirect, CSRF, error page analysis), Supabase RLS audit, Firebase rules check, authentication flow analysis, payment security, cost exposure analysis, GDPR compliance scanning, and MCP server security audit. You will see each provider complete in real time.</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">3. Review findings</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Each finding includes a severity level (critical, high, medium, low, info), a description of the issue, its potential impact, evidence found, and a ready-to-use fix prompt tailored for your AI coding tool.</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">4. Fix with one prompt</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Copy the universal fix prompt for the finding and paste it into any AI coding tool (Cursor, Claude Code, Lovable — same prompt, same result). It includes the full context the tool needs to generate the exact code fix.</p></section><section data-search="deep-scan supabase firebase integration credentials backend"><h2 id="deep-scan" class="font-[var(--font-heading)] text-2xl font-bold mb-6 pb-3 border-b border-white/5 scroll-mt-24">Deep Scan</h2><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">A free scan checks your app externally. A Deep Scan connects to your backend services to audit internal 
1configuration that is invisible from outside.</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Supabase Integration</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><p class="text-sm text-[#A1A1A6] mb-3">Required credentials:</p><ul class="list-disc list-inside text-sm text-[#A1A1A6] space-y-1 mb-3"><li><code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">Project Ref</code> — found in your Supabase dashboard URL</li><li><code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">Service Role Key</code> — Settings → API → service_role (secret)</li><li><code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">Database Password</code> (recommended) — Settings → Database → Connection string password</li></ul><div class="p-3 bg-[#30D158]/5 border border-[#30D158]/20 rounded-lg mb-3"><p class="text-xs text-[#30D158] font-semibold mb-1">Why we need the Database Password</p><p class="text-xs text-[#A1A1A6]">The database password enables direct SQL access to <code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">pg_policies</code>, which is the only way to read the actual SQL of your RLS policies (e.g., catching <code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">USING(true)</code>). Without it, we can only detect whether tables are publicly accessible, not parse the policy logic. We perform <strong>strictly read-only</strong> operations.</p></div><div class="p-3 bg-[#FF9F0A]/5 border border-[#FF9F0A]/20 rounded-lg mb-3"><p class="text-xs text-[#FF9F0A] font-semibold mb-1">Security best practice</p><p class="text-xs text-[#A1A1A6]">All credentials are sent over HTTPS and used once for this audit, then immediately deleted. We never store your passwords. <strong>Change your database password in Supabase after the scan</strong>(Settings → Database → Reset database password). You can also revoke and regenerate the service role key.</p></div><p class="text-sm text-[#A1A1A6]">We audit: RLS policy SQL on every table, auth configuration (email confirmation, password strength), storage bucket policies, and database roles.</p></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Firebase Integration</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><p class="text-sm text-[#A1A1A6] mb-3">Required credentials:</p><ul class="list-disc list-inside text-sm text-[#A1A1A6] space-y-1 mb-3"><li><code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">Project ID</code> — found in Firebase console project settings</li><li><code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">Service Account JSON</code> (optional) — Settings → Service accounts → Generate new private key</li></ul><div class="p-3 bg-[#FF9F0A]/5 border border-[#FF9F0A]/20 rounded-lg mb-3"><p class="text-xs text-[#FF9F0A] font-semibold mb-1">Recommended: create a dedicated read-only account</p><p class="text-xs text-[#A1A1A6]">Create a new Service Account in your Firebase project and assign it the <strong>Viewer</strong> role. We only need read access to your security rules, not write. The JSON key is used once for the audit and immediately deleted. You can revoke the service account after the scan.</p></div><p class="text-sm text-[#A1A1A6]">We audit: Firestore security rules, Realtime Database rules, Cloud Storage rules, Authentication providers, and exposed API keys.</p></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Running a Deep Scan</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">After connecting your integrations in the dashboard, click &quot;Deep Scan&quot; on your project. The deep scan includes all free-scan providers plus the connected service audits. Results typically complete in 30-90 seconds.</p></section>
1<section data-search="fix-prompts cursor claude code lovable bolt prompt"><h2 id="fix-prompts" class="font-[var(--font-heading)] text-2xl font-bold mb-6 pb-3 border-b border-white/5 scroll-mt-24">Fix Prompts</h2><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Every finding includes copy-paste fix prompts tailored for popular AI coding tools. Each prompt includes the vulnerability context, evidence, and step-by-step instructions that the AI can use to generate the exact fix.</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Cursor</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><ol class="list-decimal list-inside text-sm text-[#A1A1A6] space-y-2"><li>Click the <strong class="text-[#F5F5F7]">Cursor</strong> tab on any finding card</li><li>Click &quot;Copy prompt&quot; to copy it to your clipboard</li><li>Open Cursor and press <code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">Cmd+K</code> (or <code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">Ctrl+K</code>) to open the AI chat</li><li>Paste the prompt — Cursor will generate the fix in context</li></ol></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Claude Code</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><ol class="list-decimal list-inside text-sm text-[#A1A1A6] space-y-2"><li>Click the <strong class="text-[#F5F5F7]">Claude Code</strong> tab on any finding card</li><li>Copy the prompt</li><li>Paste it into your Claude Code terminal session</li><li>Claude Code will edit the relevant files directly</li></ol></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Lovable</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><ol class="list-decimal list-inside text-sm text-[#A1A1A6] space-y-2"><li>Click the <strong class="text-[#F5F5F7]">Lovable</strong> tab on any finding card</li><li>Copy the prompt</li><li>Paste it into the Lovable editor chat — it understands Supabase context natively</li></ol></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Combined Fix Prompt</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Sign up to receive a single combined prompt that fixes <em>all</em> findings at once. This is sent via email as part of your PDF report, or available on the dashboard for authenticated users.</p></section><section data-search="mcp-plugin mcp server install claude cursor api key python"><h2 id="mcp-plugin" class="font-[var(--font-heading)] text-2xl font-bold mb-6 pb-3 border-b border-white/5 scroll-mt-24">MCP Plugin</h2><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">The Sekrd MCP server lets you scan URLs for vulnerabilities directly from your AI coding assistant. Install once, then just ask it to scan any URL.</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Install</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">The server runs natively via NPX. No installation required. Source code: <a href="https://github.com/sekrdcom/sekrd-mcp-ts" class="text-[#30D158] hover:underline" target="_blank" rel="noopener">github.com/sekrdcom/sekrd-mcp-ts</a></p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Claude Code</h3><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">claude mcp add sekrd -- npx -y @sekrd/mcp-server</code></pre><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">With API key (for paid plans, unlimited scans):</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">claude mcp add sekrd -e SEKRD_API_KEY=your_key -- npx -y @sekrd/mcp-server</code></pre><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Claude Desktop</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Add to your <code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">claude_desktop_config.json</code>:</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">{
2  &quot;mcpServers&quot;: {
3    &quot;sekrd&quot;: {
4      &quot;command&quot;: &quot;
4npx&quot;,
5      &quot;args&quot;: [&quot;-y&quot;, &quot;@sekrd/mcp-server&quot;],
6      &quot;env&quot;: {
7        &quot;SEKRD_API_KEY&quot;: &quot;your_key_here&quot;
8      }
9    }
10  }
11}</code></pre><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Cursor</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Add to <code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">.cursor/mcp.json</code> in your project root:</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">{
12  &quot;mcpServers&quot;: {
13    &quot;sekrd&quot;: {
14      &quot;command&quot;: &quot;npx&quot;,
15      &quot;args&quot;: [&quot;-y&quot;, &quot;@sekrd/mcp-server&quot;],
16      &quot;env&quot;: {
17        &quot;SEKRD_API_KEY&quot;: &quot;your_key_here&quot;
18      }
19    }
20  }
21}</code></pre><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">API Key</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><ul class="list-disc list-inside text-sm text-[#A1A1A6] space-y-1"><li><strong class="text-[#F5F5F7]">Without key:</strong> free scans per month subject to a per-IP rate limit</li><li><strong class="text-[#F5F5F7]">With key:</strong> Unlimited scans on Pre-Launch and Continuous Pro plans — see <a href="/pricing" class="text-[#30D158] hover:underline">pricing</a></li></ul><p class="text-xs text-[#86868B] mt-2">Get your API key at <a href="/dashboard/settings" class="text-[#30D158] hover:underline">Dashboard → Settings</a>.</p></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Available Tools</h3><div class="overflow-x-auto my-4"><table class="w-full text-sm border border-[#2C2C2E] rounded-lg overflow-hidden"><thead><tr class="bg-[#1C1C1E]"><th class="text-left p-3 font-semibold text-[#F5F5F7] border-b border-[#2C2C2E]">Tool</th><th class="text-left p-3 font-semibold text-[#F5F5F7] border-b border-[#2C2C2E]">Description</th></tr></thead><tbody class="text-[#A1A1A6]"><tr class="border-b border-[#2C2C2E]"><td class="p-3 font-mono text-[#30D158]">scan_url(url)</td><td class="p-3">Free security scan — submits URL and waits for results</td></tr><tr class="border-b border-[#2C2C2E]"><td class="p-3 font-mono text-[#30D158]">deep_scan(url, api_key)</td><td class="p-3">Authenticated deep scan with Supabase/Firebase audit</td></tr><tr class="border-b border-[#2C2C2E]"><td class="p-3 font-mono text-[#30D158]">get_scan(scan_id)</td><td class="p-3">Retrieve a scan result by ID</td></tr><tr class="border-b border-[#2C2C2E]"><td class="p-3 font-mono text-[#30D158]">get_report(scan_id)</td><td class="p-3">Formatted report with findings grouped by severity</td></tr><tr><td class="p-3 font-mono text-[#30D158]">list_findings(scan_id)</td><td class="p-3">List findings with fix prompts</td></tr></tbody></table></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Usage Example</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Once installed, just ask your AI assistant:</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">Scan https://myapp.vercel.app for security issues</code></pre><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">The scan runs 13 parallel security checks: secrets detection, dependency CVEs, DAST, Supabase RLS audit, Firebase rules, auth flow, payment security, cost exposure analysis, and GDPR compliance.</p></section><section data-search="api-reference endpoint post get scan url report pdf badge svg curl"><h2 id="api-reference" class="font-[var(--font-heading)] text-2xl font-bold mb-6 pb-3 border-b border-white/5 scroll-mt-24">API Reference</h2><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">All endpoints are served from your Sekrd instance. The default base URL is <code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">https://api.sekrd.com</code>.</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">POST /api/v1/scan/url</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><p class="text-sm text-[#A1A1A6] mb-3">Submit a free URL scan. Rate limited to 10 scans per IP per month on the free tier.</p><p class="text-xs font-semibold text-[#86868B] mb-2 uppercase tracking-wide">Request</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">curl -X POST https://api.sekrd.com/api/v1/scan/url \
22  -H &quot;Content-Type: application/json&quot; \
23  -H &quot;Authorization: Bearer YOUR_SEKRD_API_KEY&quot; \
24  -d &#x27;{&quot;url&quot;: &quot;https://myapp.vercel.app&quot;}&#x27;</code></pre><p class="text-xs font-semibold text-[#86868B] mb-2 uppercase tracking-wide">Response</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">{
25  &quot;scan_id&quot;: &quot;abc123&quot;,
26  &quot;status&quot;: &quot;queued&quot;,
27  &quot;poll_url&quot;: &quot;/api/v1/scans/abc123&quot;
28}</code></pre></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">
28GET /api/v1/scans/{id}</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><p class="text-sm text-[#A1A1A6] mb-3">Poll scan status and results. Returns the full scan result when complete, including score, verdict, provider breakdown, findings, and fix prompts.</p><p class="text-xs font-semibold text-[#86868B] mb-2 uppercase tracking-wide">Request</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">curl https://api.sekrd.com/api/v1/scans/abc123</code></pre><p class="text-xs font-semibold text-[#86868B] mb-2 uppercase tracking-wide">Response (scanning)</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">{
29  &quot;scan_id&quot;: &quot;abc123&quot;,
30  &quot;status&quot;: &quot;scanning&quot;,
31  &quot;progress&quot;: &quot;5/15 checks complete&quot;
32}</code></pre><p class="text-xs font-semibold text-[#86868B] mb-2 uppercase tracking-wide">Response (complete)</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">{
33  &quot;scan_id&quot;: &quot;abc123&quot;,
34  &quot;url&quot;: &quot;https://myapp.vercel.app&quot;,
35  &quot;status&quot;: &quot;complete&quot;,
36  &quot;score&quot;: 72,
37  &quot;verdict&quot;: &quot;SHIP&quot;,
38  &quot;summary&quot;: &quot;3 issues found across 15 checks&quot;,
39  &quot;duration_ms&quot;: 12340,
40  &quot;providers&quot;: {
41    &quot;secrets&quot;: { &quot;score&quot;: 0, &quot;findings&quot;: 0 },
42    &quot;dependencies&quot;: { &quot;score&quot;: 15, &quot;findings&quot;: 2 },
43    &quot;dast&quot;: { &quot;score&quot;: 10, &quot;findings&quot;: 1 }
44  },
45  &quot;findings&quot;: [
46    {
47      &quot;id&quot;: &quot;f1&quot;,
48      &quot;severity&quot;: &quot;high&quot;,
49      &quot;provider&quot;: &quot;dependencies&quot;,
50      &quot;title&quot;: &quot;Known CVE in [email protected]&quot;,
51      &quot;description&quot;: &quot;...&quot;,
52      &quot;fix_prompts&quot;: {
53        &quot;cursor&quot;: &quot;...&quot;,
54        &quot;claude_code&quot;: &quot;...&quot;,
55        &quot;lovable&quot;: &quot;...&quot;,
56        &quot;bolt&quot;: &quot;...&quot;
57      }
58    }
59  ]
60}</code></pre></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">GET /api/v1/scans/{id}/report.pdf</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><p class="text-sm text-[#A1A1A6] mb-3">Download the full PDF security report for a completed scan. Includes all findings, scores, and fix prompts in a printable format.</p><p class="text-xs font-semibold text-[#86868B] mb-2 uppercase tracking-wide">Request</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">curl -o report.pdf https://api.sekrd.com/api/v1/scans/abc123/report.pdf</code></pre></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">GET /badge/{id}.svg</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><p class="text-sm text-[#A1A1A6] mb-3">Returns an SVG security badge for the given scan. The badge color reflects the score verdict (green for SHIP, red for BLOCK).</p><p class="text-xs font-semibold text-[#86868B] mb-2 uppercase tracking-wide">Request</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">curl https://api.sekrd.com/badge/abc123.svg</code></pre></div></section><section data-search="webhooks vercel deploy hook ci cd pipeline monitoring"><h2 id="webhooks" class="font-[var(--font-heading)] text-2xl font-bold mb-6 pb-3 border-b border-white/5 scroll-mt-24">Webhooks</h2><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Set up webhooks to get notified when scans complete. This is useful for CI/CD pipelines and continuous monitoring.</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Vercel Deploy Hook</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><p class="text-sm text-[#A1A1A6] mb-3">Trigger a Sekrd scan automatically every time you deploy to Vercel:</p><ol class="list-decimal list-inside text-sm text-[#A1A1A6] space-y-2 mb-4"><li>Go to your Sekrd dashboard and copy your project webhook URL</li><li>In Vercel, go to Project Settings → Git → Deploy Hooks</li><li>Create a new hook and paste the Sekrd webhook URL</li></ol><p class="text-xs font-semibold text-[#86868B] mb-2 uppercase tracking-wide">Webhook URL format</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">https://api.sekrd.com/api/v1/webhooks/deploy/{project_id}</code></pre></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Webhook Payload</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><p class="text-sm text-[#A1A1A6] mb-3">When a scan completes, Sekrd sends a POST request to your configured webhook URL:</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">{
61  &quot;event&quot;: &quot;scan.complete&quot;,
62  &quot;scan_id&quot;: &quot;abc123&quot;,
63  &quot;url&quot;: &quot;https://myapp.vercel.app&quot;,
64  &quot;score&quot;: 72,
65  &quot;verdict&quot;: &quot;SHIP&quot;,
66  &quot;findings_count&quot;: 3,
67  &quot;critical_count&quot;: 0,
68  &quot;high_count&quot;: 1,
69  &quot;timestamp&quot;: &quot;2026-03-25T12:00:00Z&quot;
70}</code></pre></div></section><section data-search="badge readme markdown html svg security score verified"><h2 id="badge" class="font-[var(--font-heading)] text-2xl font-bold mb-6 pb-3 border-b border-white/5 scroll-mt-24">Badge</h2><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Show your security score in your README with the Sekrd verified badge. The badge updates automatically when you run new scans.</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Markdown</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><p class="text-xs font-semibold text-[#86868B] mb-2 uppercase tracking-wide">Copy this into your README.md</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">[![Sekrd Security Score](https://api.sekrd.com/badge/YOUR_SCAN_ID.svg)](https://sekrd.com/report/YOUR_SCAN_ID)</code></pre></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">HTML</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><p class="text-xs font-semibold text-[#86868B] mb-2 uppercase tracking-wide">Or use an HTML img tag</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">&lt;a href=&quot;https://sekrd.com/report/YOUR_SCAN_ID&quot;&gt;
71  &lt;img src=&quot;https://api.sekrd.com/badge/YOUR_SCAN_ID.svg&quot; alt=&quot;Sekrd Security Score&quot; /&gt;
72&lt;/a&gt;</code></pre></div><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Replace <code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">
72YOUR_SCAN_ID</code> with the scan ID from your latest scan. You can find this in the URL of your scan results page or in the API response.</p></section><section data-search="monitoring script tag uptime errors vitals daily rescan alert telegram email pro"><h2 id="monitoring" class="font-[var(--font-heading)] text-2xl font-bold mb-6 pb-3 border-b border-white/5 scroll-mt-24">Monitoring</h2><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Sekrd provides automated security monitoring for Pro subscribers. This includes scheduled re-scans (daily, weekly, or monthly), uptime monitoring, and instant alerts via email and Telegram.</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Setup: Add the Monitoring Script</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">After creating a project in your <a href="/dashboard" class="text-[#30D158] hover:underline">dashboard</a>, you&#x27;ll get a unique script tag. Add it to your app&#x27;s HTML:</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">&lt;script defer src=&quot;https://api.sekrd.com/monitor/YOUR_PROJECT_ID.js&quot;&gt;&lt;/script&gt;</code></pre><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Next.js (App Router)</h3><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">// app/layout.tsx
73import Script from &#x27;next/script&#x27;
74
75export default function RootLayout({ children }) {
76  return (
77    &lt;html&gt;
78      &lt;head&gt;
79        &lt;Script
80          src=&quot;https://api.sekrd.com/monitor/YOUR_PROJECT_ID.js&quot;
81          strategy=&quot;afterInteractive&quot;
82        /&gt;
83      &lt;/head&gt;
84      &lt;body&gt;{children}&lt;/body&gt;
85    &lt;/html&gt;
86  )
87}</code></pre><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">React (Vite / CRA)</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Add to <code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">index.html</code> before the closing <code class="px-1.5 py-0.5 bg-[#1C1C1E] border border-[#2C2C2E] rounded text-sm font-mono text-[#30D158]">&lt;/head&gt;</code> tag:</p><pre class="relative group my-4 p-4 bg-black border border-[#2C2C2E] rounded-lg overflow-x-auto text-sm leading-relaxed"><button type="button" class="absolute top-2 right-2 px-2 py-1 text-xs rounded bg-[#2C2C2E] hover:bg-[#3A3A3C] text-[#86868B] hover:text-[#F5F5F7] transition-colors">Copy</button><code class="font-mono text-[#E5E5EA]">&lt;script defer src=&quot;https://api.sekrd.com/monitor/YOUR_PROJECT_ID.js&quot;&gt;&lt;/script&gt;</code></pre><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">What It Collects</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><ul class="list-disc list-inside text-sm text-[#A1A1A6] space-y-1"><li><strong class="text-[#F5F5F7]">JS Errors</strong> — runtime errors and unhandled promise rejections</li><li><strong class="text-[#F5F5F7]">Pageviews</strong> — URL and referrer (no cookies, no PII)</li></ul></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">What It Does NOT Collect</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><ul class="list-disc list-inside text-sm text-[#A1A1A6] space-y-1"><li>No cookies or tracking</li><li>No personal data or user identifiers</li><li>No DOM content or screenshots</li><li>Lightweight (&lt;2KB), non-blocking, zero impact on your app</li></ul></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Pro Features</h3><div class="p-5 rounded-xl bg-[#111113] border border-white/5 mb-4"><ul class="list-disc list-inside text-sm text-[#A1A1A6] space-y-1"><li><strong class="text-[#F5F5F7]">Uptime Monitoring</strong> — 5-minute health checks with downtime alerts</li><li><strong class="text-[#F5F5F7]">Automated Re-scans</strong> — custom schedule: daily, weekly, or monthly</li><li><strong class="text-[#F5F5F7]">CVE Scanning</strong> — detect new vulnerabilities on every re-scan</li><li><strong class="text-[#F5F5F7]">Email + Telegram Alerts</strong> — instant notifications on score drops, new findings, downtime</li></ul><p class="text-xs text-[#86868B] mt-3">Configure alerts in <a href="/dashboard/settings" class="text-[#30D158] hover:underline">Dashboard → Settings</a>. Connect Telegram with one click.</p></div></section><section data-search="ai review gemini security analysis attack chain business impact recommendations artificial intelligence"><h2 id="ai-review" class="font-[var(--font-heading)] text-2xl font-bold mb-6 pb-3 border-b border-white/5 scroll-mt-24">AI Security Review</h2><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">AI Security Review performs a deep analysis of your scan results using advanced language models. It goes beyond pattern-matching rules to understand business context, identify attack chains, and provide prioritized recommendations.
87</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">What AI Review Adds</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">After a scan completes, click <strong class="text-[#F5F5F7]">Run AI Review</strong> on the report page. The AI analyzes all findings together and returns:</p><ul class="space-y-2 mb-4 ml-4"><li class="text-sm text-[#A1A1A6]"><strong class="text-[#F5F5F7]">Executive Summary</strong> — plain-English overview for founders and non-technical stakeholders</li><li class="text-sm text-[#A1A1A6]"><strong class="text-[#F5F5F7]">Risk Level</strong> — overall critical / high / medium / low assessment</li><li class="text-sm text-[#A1A1A6]"><strong class="text-[#F5F5F7]">Attack Chains</strong> — how multiple findings combine into larger attacks (e.g. &quot;leaked key + weak RLS = full database access&quot;)</li><li class="text-sm text-[#A1A1A6]"><strong class="text-[#F5F5F7]">Additional Findings</strong> — logic flaws, IDOR, and business-context issues that rule-based scanners miss</li><li class="text-sm text-[#A1A1A6]"><strong class="text-[#F5F5F7]">Prioritized Recommendations</strong> — top 3 actions to take, in order of impact</li></ul><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Limits</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Pre-Launch Audit: <strong class="text-[#F5F5F7]">10 AI reviews</strong> (during the 7-day re-scan window). Continuous Pro: <strong class="text-[#F5F5F7]">100 AI reviews/month</strong>. Free plan: not available (upgrade to Pre-Launch or Continuous Pro).</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Accuracy</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">AI findings are flagged as AI-generated and should be verified. The AI sees only the scan results, not your source code, so some findings may be speculative. Use AI Review as an additional signal alongside the deterministic rule-based scan, not as a replacement.</p></section><section data-search="scoring score verdict trust deduction severity hard block provider weights ship"><h2 id="scoring" class="font-[var(--font-heading)] text-2xl font-bold mb-6 pb-3 border-b border-white/5 scroll-mt-24">Scoring</h2><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">The Sekrd Trust Score is a 0–100 composite score calculated from findings across all 9 security providers. A higher score means fewer and less severe vulnerabilities.</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Verdict</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Every scan produces a binary verdict based on the Trust Score and findings:</p><div class="overflow-x-auto my-4"><table class="w-full text-sm border border-[#2C2C2E] rounded-lg overflow-hidden"><thead><tr class="bg-[#1C1C1E]"><th class="text-left p-3 font-semibold text-[#F5F5F7] border-b border-[#2C2C2E]">Verdict</th><th class="text-left p-3 font-semibold text-[#F5F5F7] border-b border-[#2C2C2E]">Condition</th><th class="text-left p-3 font-semibold text-[#F5F5F7] border-b border-[#2C2C2E]">Meaning</th></tr></thead><tbody class="text-[#A1A1A6]"><tr class="border-b border-[#2C2C2E]"><td class="p-3"><span class="px-2 py-1 bg-[#30D158]/10 text-[#30D158] font-bold rounded">SHIP</span></td><td class="p-3">Score ≥ 70, no critical findings</td><td class="p-3">Safe to deploy. Fix remaining issues at your pace.</td></tr><tr><td class="p-3"><span class="px-2 py-1 bg-[#FF453A]/10 text-[#FF453A] font-bold rounded">BLOCK</span></td><td class="p-3">Score &lt; 70 or any critical finding</td><td class="p-3">Do not deploy. Fix critical issues first.</td></tr></tbody></table></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">How Deductions Work</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Every scan starts at 100 points. Each finding deducts points based on its severity:</p><div class="overflow-x-auto my-4"><table class="w-full text-sm border border-[#2C2C2E] rounded-lg overflow-hidden"><thead><tr class="bg-[#1C1C1E]"><th class="text-left p-3 font-semibold text-[#F5F5F7] border-b border-[#2C2C2E]">Severity</th><th class="text-left p-3 font-semibold text-[#F5F5F7] border-b border-[#2C2C2E]">Deduction</th></tr></thead><tbody class="text-[#A1A1A6]"><tr class="border-b border-[#2C2C2E]"><td class="p-3 text-[#FF453A] font-semibold">Critical</td><td class="p-3">-25 points</td></tr><tr class="border-b border-[#2C2C2E]"><td class="p-3 text-[#FF453A] font-semibold">High</td><td class="p-3">-15 points</td></tr><tr class="border-b border-[#2C2C2E]"><td class="p-3 text-[#FF9F0A] font-semibold">Medium</td><td class="p-3">-8 points</td></tr><tr class="border-b border-[#2C2C2E]"><td class="p-3 text-[#86868B] font-semibold">Low</td><td class="p-3">-3 points</td></tr><tr><td class="p-3 text-[#48484A] font-semibold">Info</td><td class="p-3">0 points (informational only)</td></tr></tbody></table></div><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Free Scan vs Deep Scan Verdict</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">
87Free scans run 9 of 15 checks (external only). Because they cannot test active vulnerabilities (XSS, CORS, rate limits, IDOR) or backend configuration, free scans do not give a SHIP/BLOCK verdict. Instead they show &quot;No critical issues&quot; or &quot;Needs review&quot; with a recommendation to run a deep scan before shipping. Only deep scans produce the full SHIP/BLOCK verdict.</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Hard Blocks</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Certain critical findings (exposed database credentials, admin panels without auth, etc.) are classified as <strong class="text-[#F5F5F7]">hard blocks</strong>. A hard block forces the score to 0 regardless of other findings. This ensures that the most dangerous vulnerabilities cannot be masked by good scores elsewhere.</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Provider Weights</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">All 15 checks contribute equally to the score. Findings from any provider are deducted from the same 100-point pool. The provider breakdown on your scan result shows the individual risk score per provider so you can see which area needs the most attention.</p></section><section class="mb-16"><h2 id="account" class="font-[var(--font-heading)] text-2xl font-bold mb-6 pb-3 border-b border-white/5 scroll-mt-24">Account &amp; Data</h2><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Account Deletion</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">You can delete your account at any time from<!-- --> <strong class="text-[#F5F5F7]">Dashboard → Settings → Danger Zone → Delete Account</strong>. This permanently removes your account, all projects, scan history, and associated data. Active subscriptions are cancelled automatically. This action cannot be undone.</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Data Export</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Pro subscribers can export a compliance report (PDF) for any project from the project page. This includes all scan results, findings, and score history. For a full data export request, contact<!-- --> <a href="mailto:[email protected]" class="text-[#30D158] hover:underline">[email protected]</a>.</p><h3 class="text-lg font-semibold mb-3 mt-8 text-[#F5F5F7]">Cookies</h3><p class="text-sm text-[#A1A1A6] leading-relaxed mb-4">Sekrd uses only essential cookies for authentication (NextAuth session token). We do not use tracking cookies, analytics cookies, or third-party advertising cookies. See our <a href="/privacy" class="text-[#30D158] hover:underline">Privacy Policy</a> for details.</p></section></div></div></main><footer class="border-t border-white/5 bg-black"><div class="max-w-6xl mx-auto px-6 py-16"><div class="grid grid-cols-2 md:grid-cols-5 gap-8 mb-12"><div class="col-span-2 md:col-span-1"><div class="flex items-center gap-2 mb-4"><svg width="24" height="24" viewBox="0 0 80 80" fill="none" role="img" aria-label="Sekrd" xmlns="http://www.w3.org/2000/svg"><defs><mask id="_R_2lqnpfdtb_"><path d="M40 6L12 16v20c0 16 12 28 28 34 16-6 28-18 28-34V16L40 6z" fill="white"></path><text x="40" y="51" text-anchor="middle" fill="black" font-size="44" font-weight="800" font-family="SF Pro Display,-apple-system,Helvetica Neue,Helvetica,Arial,sans-serif">S</text></mask></defs><path d="M40 6L12 16v20c0 16 12 28 28 34 16-6 28-18 28-34V16L40 6z" fill="#1C1C1E" stroke="#1C1C1E" stroke-width="4" stroke-linejoin="round"></path><path d="M40 6L12 16v20c0 16 12 28 28 34 16-6 28-18 28-34V16L40 6z" fill="#30D158" mask="url(#_R_2lqnpfdtb_)"></path><circle cx="57.5" cy="14" r="10" fill="#1C1C1E"></circle><circle cx="57.5" cy="14" r="5.5" fill="#30D158"><animate attributeName="r" values="5.5;3.5;5.5" dur="2.5s" repeatCount="indefinite" calcMode="spline" keySplines="0.4 0 0.2 1;0.4 0 0.2 1"></animate><animate attributeName="opacity" values="1;0.45;1" dur="2.5s" repeatCount="indefinite" calcMode="spline" keySplines="0.4 0 0.2 1;0.4 0 0.2 1"></animate></circle></svg><span class="font-[var(--font-heading)] font-bold">sekrd</span></div><p class="text-sm text-[#86868B] leading-relaxed mb-3">Deep security audit for AI-built apps. Don&#x27;t ship until you&#x27;re sekrd.</p><p class="text-sm text-[#86868B]">Sekrd · Security + Compliance audit</p></div><div><h3 class="text-sm font-semibold mb-4 text-[#A1A1A6]">Product</h3><ul class="space-y-1"><li><a class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" href="/scan">Free Scan</a></li><li><a class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" href="/pricing">Pricing</a></li><li><a class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" href="/docs">Documentation</a></li><li><a class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" href="/blog">Blog</a></li><li><a href="https://github.com/marketplace/actions/sekrd-security-scan" class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" target="_blank" rel="noopener noreferrer">GitHub Action</a></li></ul></div><div><h3 class="text-sm font-semibold mb-4 text-[#A1A1A6]">Company</h3><ul class="space-y-1"><li><a class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" href="/about">About</a></li><li><a class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" href="/support">Support</a></li><li><a class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" href="/terms">Terms of Service</a></li><li><a class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" href="/privacy">Privacy Policy</a></li></ul></div><div><h3 class="text-sm font-semibold mb-4 text-[#A1A1A6]">Trust</h3><ul class="space-y-1"><li><a class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" href="/trust">Trust center</a></li><li><a class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" href="/security-policy">Security policy</a></li><li><a class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" href="/docs/cwe-mapping">CWE mapping</a></li><li><a class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" href="/docs/vulnerability-updates">
87Update cadence</a></li><li><a class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" href="/status">Status</a></li><li><a class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" href="/changelog">Changelog</a></li></ul></div><div><h3 class="text-sm font-semibold mb-4 text-[#A1A1A6]">Connect</h3><ul class="space-y-1"><li><a href="https://github.com/sekrdcom" class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" target="_blank" rel="noopener noreferrer">GitHub</a></li><li><a href="https://t.me/sekrdbot" class="text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5" target="_blank" rel="noopener noreferrer">Telegram</a></li></ul></div></div><div class="pt-8 border-t border-white/5 flex flex-col sm:flex-row items-center justify-between gap-4"><p class="text-xs text-[#86868B]">© <!-- -->2026<!-- --> Sekrd. All rights reserved.</p><ul class="flex items-center gap-1"><li><a href="https://www.youtube.com/@sekrd" target="_blank" rel="noopener noreferrer" aria-label="YouTube" title="YouTube" class="inline-flex items-center justify-center w-9 h-9 rounded-md text-[#86868B] hover:text-white hover:bg-white/5 transition-colors"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="w-[18px] h-[18px]"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"></path></svg></a></li><li><a href="https://www.linkedin.com/company/sekrd" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn" title="LinkedIn" class="inline-flex items-center justify-center w-9 h-9 rounded-md text-[#86868B] hover:text-white hover:bg-white/5 transition-colors"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="w-[18px] h-[18px]"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.063 2.063 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg></a></li><li><a href="https://x.com/sekrdcom" target="_blank" rel="noopener noreferrer" aria-label="X" title="X" class="inline-flex items-center justify-center w-9 h-9 rounded-md text-[#86868B] hover:text-white hover:bg-white/5 transition-colors"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="w-[18px] h-[18px]"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z"></path></svg></a></li><li><a href="https://www.instagram.com/sekrdcom" target="_blank" rel="noopener noreferrer" aria-label="Instagram" title="Instagram" class="inline-flex items-center justify-center w-9 h-9 rounded-md text-[#86868B] hover:text-white hover:bg-white/5 transition-colors"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="w-[18px] h-[18px]"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 1 0 0 12.324 6.162 6.162 0 0 0 0-12.324zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm6.406-11.845a1.44 1.44 0 1 0 0 2.881 1.44 1.44 0 0 0 0-2.881z"></path></svg></a></li><li><a href="https://www.tiktok.com/@sekrdcom" target="_blank" rel="noopener noreferrer" aria-label="TikTok" title="TikTok" class="inline-flex items-center justify-center w-9 h-9 rounded-md text-[#86868B] hover:text-white hover:bg-white/5 transition-colors"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="w-[18px] h-[18px]"><path d="M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-5.2 1.74 2.89 2.89 0 0 1 2.31-4.64 2.93 2.93 0 0 1 .88.13V9.4a6.84 6.84 0 0 0-1-.05A6.33 6.33 0 0 0 5.8 20.1a6.34 
876.34 0 0 0 10.86-4.43V8.66a8.16 8.16 0 0 0 4.77 1.52v-3.4a4.85 4.85 0 0 1-1.84-.09Z"></path></svg></a></li><li><a href="https://facebook.com/sekrdcom" target="_blank" rel="noopener noreferrer" aria-label="Facebook" title="Facebook" class="inline-flex items-center justify-center w-9 h-9 rounded-md text-[#86868B] hover:text-white hover:bg-white/5 transition-colors"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="w-[18px] h-[18px]"><path d="M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z"></path></svg></a></li><li><a href="https://www.threads.com/@sekrdcom" target="_blank" rel="noopener noreferrer" aria-label="Threads" title="Threads" class="inline-flex items-center justify-center w-9 h-9 rounded-md text-[#86868B] hover:text-white hover:bg-white/5 transition-colors"><svg viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="w-[18px] h-[18px]"><path d="M12.186 24h-.007c-3.581-.024-6.334-1.205-8.184-3.509C2.35 18.44 1.5 15.586 1.472 12.01v-.017c.03-3.579.879-6.43 2.525-8.482C5.845 1.205 8.6.024 12.18 0h.014c2.746.02 5.043.725 6.826 2.098 1.677 1.29 2.858 3.13 3.509 5.467l-2.04.569c-1.104-3.96-3.898-5.984-8.304-6.015-2.91.022-5.11.936-6.54 2.717C4.307 6.504 3.616 8.914 3.589 12c.027 3.086.718 5.496 2.057 7.164 1.43 1.781 3.631 2.695 6.54 2.717 2.623-.02 4.358-.631 5.8-2.045 1.647-1.613 1.618-3.593 1.09-4.798-.31-.71-.873-1.3-1.634-1.75-.192 1.352-.622 2.446-1.284 3.272-.886 1.102-2.14 1.704-3.73 1.79-1.202.065-2.361-.218-3.259-.801-1.063-.689-1.685-1.74-1.752-2.964-.065-1.19.408-2.285 1.33-3.082.88-.76 2.119-1.207 3.583-1.293a13.853 13.853 0 0 1 3.02.142c-.126-.742-.375-1.332-.75-1.757-.513-.586-1.308-.883-2.359-.89h-.029c-.844 0-1.992.232-2.721 1.32L7.734 7.847c.98-1.454 2.568-2.256 4.478-2.256h.044c3.194.02 5.097 1.975 5.287 5.388.108.046.216.094.321.142 1.49.7 2.58 1.761 3.154 3.07.797 1.82.871 4.79-1.548 7.158-1.85 1.81-4.094 2.628-7.277 2.65Zm1.003-11.69c-.242 0-.487.007-.739.021-1.836.103-2.98.946-2.916 2.143.067 1.256 1.452 1.839 2.784 1.767 1.224-.065 2.818-.543 3.086-3.71a10.5 10.5 0 0 0-2.215-.221z"></path></svg></a></li></ul><p class="text-xs text-[#86868B]">Don&#x27;t ship until you&#x27;re sekrd.</p></div></div></footer></div><!--$--><!--/$--></div>
87<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm">$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d||"/&"===d)if(0===h)break;else h--;else"$"!==d&&"$?"!==d&&"$~"!==d&&"$!"!==d&&"&"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data="$";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};
88$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data="$~",$RB.push(a,b),2===$RB.length&&("number"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};$RC("B:0","S:0")</script>
88<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm">(self.__next_f=self.__next_f||[]).push([0])</script>
88<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm">self.__next_f.push([1,"1:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"LoadingBoundaryProvider\"]\n2:\"$Sreact.fragment\"\n4:I[39756,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n5:I[37457,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"default\"]\n6:I[3265,[\"/_next/static/chunks/0zdxqxhdbwu6e.js\",\"/_next/static/chunks/128ijfj88em0b.js\",\"/_next/static/chunks/04m28jiwmtgfe.js\",\"/_next/static/chunks/0yxvw44bbd.z9.js\"],\"Navbar\"]\n7:I[80736,[\"/_next/static/chunks/0zdxqxhdbwu6e.js\",\"/_next/static/chunks/128ijfj88em0b.js\",\"/_next/static/chunks/04m28jiwmtgfe.js\",\"/_next/static/chunks/0yxvw44bbd.z9.js\"],\"default\"]\n8:I[45605,[\"/_next/static/chunks/0zdxqxhdbwu6e.js\",\"/_next/static/chunks/128ijfj88em0b.js\",\"/_next/static/chunks/04m28jiwmtgfe.js\",\"/_next/static/chunks/0yxvw44bbd.z9.js\"],\"SekrdLogo\"]\n9:I[22016,[\"/_next/static/chunks/0zdxqxhdbwu6e.js\",\"/_next/static/chunks/128ijfj88em0b.js\",\"/_next/static/chunks/04m28jiwmtgfe.js\",\"/_next/static/chunks/0yxvw44bbd.z9.js\"],\"\"]\n12:I[63491,[\"/_next/static/chunks/0zdxqxhdbwu6e.js\",\"/_next/static/chunks/128ijfj88em0b.js\",\"/_next/static/chunks/04m28jiwmtgfe.js\",\"/_next/static/chunks/0ufbysi4sus3i.js\"],\"default\"]\n19:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"OutletBoundary\"]\n1a:\"$Sreact.suspense\"\n1d:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"ViewportBoundary\"]\n1f:I[97367,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"MetadataBoundary\"]\n22:I[53934,[\"/_next/static/chunks/0zdxqxhdbwu6e.js\",\"/_next/static/chunks/128ijfj88em0b.js\",\"/_next/static/chunks/04m28jiwmtgfe.js\"],\"TrustedTypesInit\"]\n23:I[79520,[\"/_next/static/chunks/0zdxqxhdbwu6e.js\",\"/_next/static/chunks/128ijfj88em0b.js\",\"/_next/static/chunks/04m28jiwmtgfe.js\"],\"\"]\n24:I[30824,[\"/_next/static/chunks/0zdxqxhdbwu6e.js\",\"/_next/static/chunks/128ijfj88em0b.js\",\"/_next/static/chunks/04m28jiwmtgfe.js\"],\"Providers\"]\n25:I[46417,[\"/_next/static/chunks/0zdxqxhdbwu6e.js\",\"/_next/static/chunks/128ijfj88em0b.js\",\"/_next/static/chunks/04m28jiwmtgfe.js\"],\"ErrorBoundary\"]\n26:I[58298,[\"/_next/static/chunks/0zdxqxhdbwu6e.js\",\"/_next/static/chunks/128ijfj88em0b.js\",\"/_next/static/chunks/04m28jiwmtgfe.js\",\"/_next/static/chunks/0qco2lbz6e8ii.js\"],\"default\"]\n27:I[40244,[\"/_next/static/chunks/0zdxqxhdbwu6e.js\",\"/_next/static/chunks/128ijfj88em0b.js\",\"/_next/static/chunks/04m28jiwmtgfe.js\"],\"CookieBanner\"]\n28:I[27201,[\"/_next/static/chunks/01xlw8hd842-c.js\",\"/_next/static/chunks/0d3shmwh5_nmn.js\"],\"IconMark\"]\n:HL[\"/_next/static/chunks/0i3hrjo2hnx_l.css\",\"style\",{\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\"}]\n:HL[\"/_next/static/chunks/16qne651ky9y~.css\",\"style\",{\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\"}]\n:HL[\"/_next/static/media/051742360c26797e-s.p.0f97p8c3305p~.woff2\",\"font\",{\"crossOrigin\":\"\",\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/0c89a48fa5027cee-s.p.0rd3rjvnnhw7n.woff2\",\"font\",{\"crossOrigin\":\"\",\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/26f284dcc38c84c0-s.p.10hk62x1-0d9n.woff2\",\"font\",{\"crossOrigin\":\"\",\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.0q-301v4kxxnr.woff2\",\"font\",{\"crossOrigin\":\"\",\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/9c72aa0f40e4eef8-s.p.0m6w47a4e5dy9.w
88off2\",\"font\",{\"crossOrigin\":\"\",\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\",\"type\":\"font/woff2\"}]\n"])</script>
88<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm">self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"docs\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"docs\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",20],[[\"$\",\"$L1\",null,{\"loading\":[[\"$\",\"div\",\"l\",{\"className\":\"min-h-screen flex items-center justify-center\",\"children\":[\"$\",\"div\",null,{\"className\":\"flex flex-col items-center gap-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"w-8 h-8 border-2 border-[#30D158] border-t-transparent rounded-full animate-spin\"}],[\"$\",\"p\",null,{\"className\":\"text-[#86868B] text-sm\",\"children\":\"Loading...\"}]]}]}],[],[]],\"children\":[\"$\",\"$2\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0i3hrjo2hnx_l.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/16qne651ky9y~.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0zdxqxhdbwu6e.js\",\"async\":true,\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/128ijfj88em0b.js\",\"async\":true,\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/04m28jiwmtgfe.js\",\"async\":true,\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\"}]],\"$L3\"]}]}],{\"children\":[[\"$\",\"$2\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$2\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"min-h-screen\",\"children\":[[\"$\",\"$L6\",null,{}],[\"$\",\"main\",null,{\"children\":[\"$\",\"$L7\",null,{}]}],[\"$\",\"footer\",null,{\"className\":\"border-t border-white/5 bg-black\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-6xl mx-auto px-6 py-16\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid grid-cols-2 md:grid-cols-5 gap-8 mb-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"col-span-2 md:col-span-1\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-center gap-2 mb-4\",\"children\":[[\"$\",\"$L8\",null,{\"size\":24}],[\"$\",\"span\",null,{\"className\":\"font-[var(--font-heading)] font-bold\",\"children\":\"sekrd\"}]]}],[\"$\",\"p\",null,{\"className\":\"text-sm text-[#86868B] leading-relaxed mb-3\",\"children\":\"Deep security audit for AI-built apps. Don't ship until you're sekrd.\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-[#86868B]\",\"children\":\"Sekrd · Security + Compliance audit\"}]]}],[[\"$\",\"div\",\"Product\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-sm font-semibold mb-4 text-[#A1A1A6]\",\"children\":\"Product\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-1\",\"children\":[[\"$\",\"li\",\"/scan\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/scan\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"children\":\"Free Scan\"}]}],[\"$\",\"li\",\"/pricing\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/pricing\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"children\":\"Pricing\"}]}],[\"$\",\"li\",\"/docs\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/docs\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"children\":\"Documentation\"}]}],[\"$\",\"li\",\"/blog\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/blog\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"children\":\"Blog\"}]}],[\"$\",\"li\",\"https://github.com/marketplace/actions/sekrd-security-scan\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://github.com/marketplace/actions/sekrd-security-scan\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"GitHub Action\"}]}]]}]]}],[\"$\",\"div\",\"Company\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-sm font-semibold mb-4 text-[#A1A1A6]\",\"children\":\"Company\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-1\",\"children\":[[\"$\",\"li\",\"/about\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/about\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"children\":\"About\"}]}],[\"$\",\"li\",\"/support\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/support\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"children\":\"Supp
88ort\"}]}],[\"$\",\"li\",\"/terms\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/terms\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"children\":\"Terms of Service\"}]}],\"$La\"]}]]}],\"$Lb\",\"$Lc\"]]}],\"$Ld\"]}]}]]}],[\"$Le\"],\"$Lf\"]}],{},null,false,null]},null,false,\"$@10\"]},null,false,null],\"$L11\",false]],\"m\":\"$undefined\",\"G\":[\"$12\",[\"$L13\",\"$L14\"]],\"S\":false,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"HKJ0MzHbI0PJ3pgo8jrqt\"}\n"])</script>
88<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm">self.__next_f.push([1,"a:[\"$\",\"li\",\"/privacy\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/privacy\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"children\":\"Privacy Policy\"}]}]\n"])</script>
88<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm">self.__next_f.push([1,"b:[\"$\",\"div\",\"Trust\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-sm font-semibold mb-4 text-[#A1A1A6]\",\"children\":\"Trust\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-1\",\"children\":[[\"$\",\"li\",\"/trust\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/trust\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"children\":\"Trust center\"}]}],[\"$\",\"li\",\"/security-policy\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/security-policy\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"children\":\"Security policy\"}]}],[\"$\",\"li\",\"/docs/cwe-mapping\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/docs/cwe-mapping\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"children\":\"CWE mapping\"}]}],[\"$\",\"li\",\"/docs/vulnerability-updates\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/docs/vulnerability-updates\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"children\":\"Update cadence\"}]}],[\"$\",\"li\",\"/status\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/status\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"children\":\"Status\"}]}],[\"$\",\"li\",\"/changelog\",{\"children\":[\"$\",\"$L9\",null,{\"href\":\"/changelog\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"children\":\"Changelog\"}]}]]}]]}]\n"])</script>
88<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm">self.__next_f.push([1,"c:[\"$\",\"div\",\"Connect\",{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-sm font-semibold mb-4 text-[#A1A1A6]\",\"children\":\"Connect\"}],[\"$\",\"ul\",null,{\"className\":\"space-y-1\",\"children\":[[\"$\",\"li\",\"https://github.com/sekrdcom\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://github.com/sekrdcom\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"GitHub\"}]}],[\"$\",\"li\",\"https://t.me/sekrdbot\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://t.me/sekrdbot\",\"className\":\"text-sm text-[#86868B] hover:text-white transition-colors inline-block py-1.5\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"children\":\"Telegram\"}]}]]}]]}]\n"])</script>
88<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm">self.__next_f.push([1,"d:[\"$\",\"div\",null,{\"className\":\"pt-8 border-t border-white/5 flex flex-col sm:flex-row items-center justify-between gap-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-xs text-[#86868B]\",\"children\":[\"© \",2026,\" Sekrd. All rights reserved.\"]}],[\"$\",\"ul\",null,{\"className\":\"flex items-center gap-1\",\"children\":[[\"$\",\"li\",\"https://www.youtube.com/@sekrd\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.youtube.com/@sekrd\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"YouTube\",\"title\":\"YouTube\",\"className\":\"inline-flex items-center justify-center w-9 h-9 rounded-md text-[#86868B] hover:text-white hover:bg-white/5 transition-colors\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"aria-hidden\":true,\"className\":\"w-[18px] h-[18px]\",\"children\":[\"$\",\"path\",null,{\"d\":\"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z\"}]}]}]}],[\"$\",\"li\",\"https://www.linkedin.com/company/sekrd\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.linkedin.com/company/sekrd\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"LinkedIn\",\"title\":\"LinkedIn\",\"className\":\"inline-flex items-center justify-center w-9 h-9 rounded-md text-[#86868B] hover:text-white hover:bg-white/5 transition-colors\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"aria-hidden\":true,\"className\":\"w-[18px] h-[18px]\",\"children\":[\"$\",\"path\",null,{\"d\":\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.063 2.063 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z\"}]}]}]}],[\"$\",\"li\",\"https://x.com/sekrdcom\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://x.com/sekrdcom\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"X\",\"title\":\"X\",\"className\":\"inline-flex items-center justify-center w-9 h-9 rounded-md text-[#86868B] hover:text-white hover:bg-white/5 transition-colors\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"aria-hidden\":true,\"className\":\"w-[18px] h-[18px]\",\"children\":[\"$\",\"path\",null,{\"d\":\"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z\"}]}]}]}],[\"$\",\"li\",\"https://www.instagram.com/sekrdcom\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.instagram.com/sekrdcom\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"Instagram\",\"title\":\"Instagram\",\"className\":\"inline-flex items-center justify-center w-9 h-9 rounded-md text-[#86868B] hover:text-white hover:bg-white/5 transition-colors\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"aria-hidden\":true,\"className\":\"w-[18px] h-[18px]\",\"children\":[\"$\",\"path\",null,{\"d\":\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98C8.333 23.986 8.741 24 12 24c3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 1 0 0 12.324 6.162 6.162 0 0 0 0-12.324zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm6.406-11.845a1.44 1.44 0 1 0 0 2.881 1.44 1.44 0 0 0 0-2.881z\"}]}]}]}],\"$L15\",\"$L16\",\"$L17\"]}],\"$L18\"]}]\n"])</script>
88<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm">self.__next_f.push([1,"e:[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0yxvw44bbd.z9.js\",\"async\":true,\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\"}]\nf:[\"$\",\"$L19\",null,{\"children\":[\"$\",\"$1a\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@1b\"}]}]\n1c:[]\n10:\"$W1c\"\n11:[\"$\",\"$2\",\"h\",{\"children\":[null,[\"$\",\"$L1d\",null,{\"children\":\"$L1e\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L1f\",null,{\"children\":[\"$\",\"$1a\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L20\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n13:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/0i3hrjo2hnx_l.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\"}]\n14:[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/16qne651ky9y~.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\"}]\n15:[\"$\",\"li\",\"https://www.tiktok.com/@sekrdcom\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.tiktok.com/@sekrdcom\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"TikTok\",\"title\":\"TikTok\",\"className\":\"inline-flex items-center justify-center w-9 h-9 rounded-md text-[#86868B] hover:text-white hover:bg-white/5 transition-colors\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"aria-hidden\":true,\"className\":\"w-[18px] h-[18px]\",\"children\":[\"$\",\"path\",null,{\"d\":\"M19.59 6.69a4.83 4.83 0 0 1-3.77-4.25V2h-3.45v13.67a2.89 2.89 0 0 1-5.2 1.74 2.89 2.89 0 0 1 2.31-4.64 2.93 2.93 0 0 1 .88.13V9.4a6.84 6.84 0 0 0-1-.05A6.33 6.33 0 0 0 5.8 20.1a6.34 6.34 0 0 0 10.86-4.43V8.66a8.16 8.16 0 0 0 4.77 1.52v-3.4a4.85 4.85 0 0 1-1.84-.09Z\"}]}]}]}]\n16:[\"$\",\"li\",\"https://facebook.com/sekrdcom\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://facebook.com/sekrdcom\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"Facebook\",\"title\":\"Facebook\",\"className\":\"inline-flex items-center justify-center w-9 h-9 rounded-md text-[#86868B] hover:text-white hover:bg-white/5 transition-colors\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"aria-hidden\":true,\"className\":\"w-[18px] h-[18px]\",\"children\":[\"$\",\"path\",null,{\"d\":\"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z\"}]}]}]}]\n21:T498,M12.186 24h-.007c-3.581-.024-6.334-1.205-8.184-3.509C2.35 18.44 1.5 15.586 1.472 12.01v-.017c.03-3.579.879-6.43 2.525-8.482C5.845 1.205 8.6.024 12.18 0h.014c2.746.02 5.043.725 6.826 2.098 1.677 1.29 2.858 3.13 3.509 5.467l-2.04.569c-1.104-3.96-3.898-5.984-8.304-6.015-2.91.022-5.11.936-6.54 2.717C4.307 6.504 3.616 8.914 3.589 12c.027 3.086.718 5.496 2.057 7.164 1.43 1.781 3.631 2.695 6.54 2.717 2.623-.02 4.358-.631 5.8-2.045 1.647-1.613 1.618-3.593 1.09-4.798-.31-.71-.873-1.3-1.634-1.75-.192 1.352-.622 2.446-1.284 3.272-.886 1.102-2.14 1.704-3.73 1.79-1.202.065-2.361-.218-3.259-.801-1.063-.689-1.685-1.74-1.752-2.964-.065-1.19.408-2.285 1.33-3.082.88-.76 2.119-1.207 3.583-1.293a13.853 13.853 0 0 1 3.02.142c-.126-.742-.375-1.332-.75-1.757-.513-.586-1.308-.883-2.359-.89h-.029c-.844 0-1.992.232-2.721 1.32L7.734 7.847c.98-1.454 2.568-2.256 4.478-2.256h.044c3.194.02 5.097 1.975 5.287 5.388.108.046.216.094.321.142 1.49.7 2.58 1.761 3.154 3.07.797 1.82.871 4.79-1.548 7.158-1.85 1.81-4.094 2.628-7.277 2.65Zm1.003-11.69c-.242 0-.487.007-.739.021-1.836.103-2.98.946-2.916 2.143.067 1.256 1.452 1.839 2.784 1.767 1.224-.065 2.818-.543 3.086-3.71a10.5 10.5 0 0 0-2.215-.221z17:[\"$\",\"li\",\"https://www.threads.com/@sekrdcom\",{\"children\":[\"$\",\"a\",null,{\"href\":\"https://www.threads.com/@sekrdcom\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"aria-label\":\"Threads\",\"title\":\"Threads"])</script>
88<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm">self.__next_f.push([1,"\",\"className\":\"inline-flex items-center justify-center w-9 h-9 rounded-md text-[#86868B] hover:text-white hover:bg-white/5 transition-colors\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"aria-hidden\":true,\"className\":\"w-[18px] h-[18px]\",\"children\":[\"$\",\"path\",null,{\"d\":\"$21\"}]}]}]}]\n18:[\"$\",\"p\",null,{\"className\":\"text-xs text-[#86868B]\",\"children\":\"Don't ship until you're sekrd.\"}]\n1e:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
88<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm">self.__next_f.push([1,"3:[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"inter_ed26c892-module__0Hd1FG__variable space_grotesk_361135fd-module__Vna8kq__variable jetbrains_mono_b90ee254-module__ZcKZKW__variable h-full antialiased dark bg-black\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://api.sekrd.com\"}],[\"$\",\"link\",null,{\"rel\":\"dns-prefetch\",\"href\":\"https://api.sekrd.com\"}],[\"$\",\"link\",null,{\"rel\":\"preconnect\",\"href\":\"https://cdn.paddle.com\"}],[\"$\",\"meta\",null,{\"name\":\"google-site-verification\",\"content\":\"bhDdgsbc9g1rIVUhQXtdMaKVEOELUBQCw2CzNTlQTL8\"}],[\"$\",\"script\",null,{\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\",\"type\":\"application/ld+json\",\"children\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"SoftwareApplication\\\",\\\"name\\\":\\\"Sekrd\\\",\\\"description\\\":\\\"Deep security audit for AI-built apps. Find Supabase RLS, Firebase rules, and auth vulnerabilities.\\\",\\\"url\\\":\\\"https://sekrd.com\\\",\\\"applicationCategory\\\":\\\"SecurityApplication\\\",\\\"operatingSystem\\\":\\\"Web\\\",\\\"offers\\\":[{\\\"@type\\\":\\\"Offer\\\",\\\"price\\\":\\\"0\\\",\\\"priceCurrency\\\":\\\"USD\\\",\\\"description\\\":\\\"Free tier — URL scans with monthly quota\\\"},{\\\"@type\\\":\\\"Offer\\\",\\\"price\\\":\\\"39\\\",\\\"priceCurrency\\\":\\\"USD\\\",\\\"description\\\":\\\"Pre-Launch Audit — one-time deep audit + compliance review + PDF report\\\"},{\\\"@type\\\":\\\"Offer\\\",\\\"price\\\":\\\"29\\\",\\\"priceCurrency\\\":\\\"USD\\\",\\\"description\\\":\\\"Continuous Pro — monthly monitoring with drift alerts\\\"}]}\"}]]}],[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col text-[#F5F5F7] font-[var(--font-inter)]\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"$L22\",null,{}],[\"$\",\"$L23\",null,{\"id\":\"cf-beacon\",\"src\":\"https://static.cloudflareinsights.com/beacon.min.js\",\"strategy\":\"lazyOnload\",\"nonce\":\"MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm\",\"data-cf-beacon\":\"{\\\"token\\\":\\\"f793f28d6f614859b63d5e0a11e31fbb\\\"}\"}],[\"$\",\"$L24\",null,{\"children\":[[\"$\",\"$L25\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$26\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0qco2lbz6e8ii.js\",\"async\":true}]],\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"div\",null,{\"className\":\"min-h-screen\",\"children\":[[\"$\",\"$L6\",null,{}],[\"$\",\"div\",null,{\"className\":\"max-w-md mx-auto px-6 py-32 text-center\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"font-[var(--font-heading)] text-6xl font-bold text-[#30D158] mb-4\",\"children\":\"404\"}],[\"$\",\"p\",null,{\"className\":\"text-xl text-[#F5F5F7] mb-2\",\"children\":\"Page not found\"}],[\"$\",\"p\",null,{\"className\":\"text-[#86868B] mb-8\",\"children\":\"The page you're looking for doesn't exist or has been moved.\"}],[\"$\",\"$L9\",null,{\"href\":\"/\",\"className\":\"inline-block px-6 py-3 bg-[#30D158] text-black font-bold rounded-xl hover:bg-[#28B84C] transition-all\",\"children\":\"Back to home\"}]]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L27\",null,{}]]}]]}]]}]\n"])</script>
88<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm">self.__next_f.push([1,"1b:null\n"])</script>
88<script nonce="MzllOTk1NGEtNWY1My00NTNiLTllN2ItZTk1NWE1NjRlYTBm">self.__next_f.push([1,"20:[[\"$\",\"title\",\"0\",{\"children\":\"Documentation | Sekrd\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Learn how to use Sekrd to secure your AI-built apps. Setup guides, API reference, CI/CD integration, and tutorials for Supabase, Firebase, and MCP security.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"author\",\"content\":\"Sekrd\"}],[\"$\",\"meta\",\"3\",{\"name\":\"keywords\",\"content\":\"security audit,supabase rls,firebase rules,vibe coding security,AI app security,lovable security,claude code security,cursor security,api security scanner,sekrd,mcp server security,security scanner,web app security,exposed api keys,rls policy audit,ai code security,vulnerability scanner,security badge,deep scan,fix prompts\"}],[\"$\",\"meta\",\"4\",{\"name\":\"creator\",\"content\":\"Sekrd\"}],[\"$\",\"meta\",\"5\",{\"name\":\"robots\",\"content\":\"index, follow\"}],[\"$\",\"meta\",\"6\",{\"name\":\"googlebot\",\"content\":\"index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1\"}],[\"$\",\"link\",\"7\",{\"rel\":\"canonical\",\"href\":\"https://sekrd.com/docs\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:title\",\"content\":\"Sekrd — Deep security audit for AI-built apps\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:description\",\"content\":\"We find what your AI forgot to secure. Deep Supabase RLS, Firebase rules, auth flow auditing.\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:url\",\"content\":\"https://sekrd.com\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:site_name\",\"content\":\"Sekrd\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image\",\"content\":\"https://sekrd.com/opengraph-image\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:image:alt\",\"content\":\"Sekrd — Deep security audit for AI-built apps\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:title\",\"content\":\"Sekrd — Deep security audit for AI-built apps\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:description\",\"content\":\"We find what your AI forgot to secure.\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image\",\"content\":\"https://sekrd.com/opengraph-image\"}],[\"$\",\"link\",\"22\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0x3dzn~oxb6tn.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"23\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.0ra1442mwmect.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L28\",\"24\",{}]]\n"])</script>
88</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.