Skip to content

.vt13 * { box-sizing: border-box; margin: 0; padding: 0; }
.vt13 { font-family: ‘Inter’, -apple-system, BlinkMacSystemFont, sans-serif; color: #111827; max-width: 980px; margin: 0 auto; padding: 0 1.25rem; }
.vt13 .serif { font-family: ‘Playfair Display’, Georgia, serif; }
.vt13 .mono { font-family: ‘JetBrains Mono’, ‘Fira Code’, monospace; } .vt13-hero { text-align: center; margin: 0 0 2.5rem; }
.vt13-hero h1 { font-family: ‘Playfair Display’, Georgia, serif; font-size: 2.4rem; line-height: 1.15; margin-bottom: 0.9rem; color: #0f172a; }
@media (min-width: 768px) { .vt13-hero h1 { font-size: 3rem; } }
.vt13-hero p { color: #4b5563; font-size: 1.03rem; line-height: 1.7; max-width: 700px; margin: 0 auto 1rem; }
.vt13-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; }
.vt13-badge { border: 1px solid #e5e7eb; background: #f9fafb; color: #4b5563; border-radius: 999px; padding: .35rem .8rem; font-size: .78rem; font-weight: 500; } .vt13-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 1rem; box-shadow: 0 1px 3px rgba(15, 23, 42, .05); overflow: hidden; margin-bottom: 1.3rem; }
.vt13-card-body { padding: 1.2rem; }
@media (min-width: 768px) { .vt13-card-body { padding: 1.5rem; } } .vt13-toolbar { display: flex; gap: .6rem; flex-wrap: wrap; justify-content: space-between; align-items: center; margin-bottom: .8rem; }
.vt13-label { font-size: .78rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: #6b7280; }
.vt13-upload { display: inline-flex; align-items: center; gap: .35rem; color: #4f46e5; font-size: .8rem; font-weight: 600; cursor: pointer; }
.vt13-upload input { display: none; }
.vt13-upload:hover { color: #4338ca; }
.vt13-hint { font-size: .75rem; color: #9ca3af; margin-top: .55rem; } .vt13-input { width: 100%; min-height: 280px; resize: vertical; border: 1px solid #d1d5db; border-radius: .85rem; background: #f9fafb; color: #1f2937; font-family: ‘JetBrains Mono’, monospace; font-size: .82rem; line-height: 1.58; padding: .95rem 1rem; outline: none; transition: border-color .15s, box-shadow .15s, background .15s; }
.vt13-input:focus { border-color: #111827; background: #fff; box-shadow: 0 0 0 3px rgba(17,24,39,.08); } .vt13-actions { display: flex; gap: .6rem; flex-wrap: wrap; justify-content: flex-end; margin-top: .95rem; }
.vt13-btn { border: 1px solid transparent; border-radius: .6rem; padding: .58rem 1rem; font-size: .84rem; font-weight: 600; cursor: pointer; transition: all .14s; font-family: ‘Inter’, sans-serif; }
.vt13-btn:disabled { opacity: .55; cursor: not-allowed; }
.vt13-btn-main { background: #111827; color: #fff; }
.vt13-btn-main:hover:not(:disabled) { background: #1f2937; }
.vt13-btn-soft { background: #fff; border-color: #e5e7eb; color: #374151; }
.vt13-btn-soft:hover:not(:disabled) { background: #f9fafb; }
.vt13-btn-link { background: transparent; color: #6b7280; }
.vt13-btn-link:hover:not(:disabled) { color: #111827; background: #f3f4f6; } .vt13-alert { border-radius: .75rem; padding: .8rem .9rem; margin-top: .75rem; font-size: .82rem; border: 1px solid transparent; }
.vt13-alert-error { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }
.vt13-alert-info { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; } .vt13-hidden { display: none !important; } .vt13-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-bottom: 1rem; }
@media (min-width: 800px) { .vt13-summary { grid-template-columns: 1.2fr repeat(4, minmax(0,1fr)); } }
.vt13-stat { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: .8rem; padding: .9rem; text-align: center; }
.vt13-stat-big { display: flex; align-items: center; justify-content: center; gap: .85rem; background: linear-gradient(140deg,#0f172a,#1f2937); color: #fff; border: 0; }
.vt13-score { font-family: ‘Playfair Display’, serif; font-size: 2rem; line-height: 1; }
.vt13-grade { font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: #d1d5db; margin-top: .25rem; }
.vt13-num { font-family: ‘Playfair Display’, serif; font-size: 1.7rem; line-height: 1; margin-bottom: .2rem; }
.vt13-k { font-size: .7rem; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; font-weight: 700; } .vt13-riskbar-wrap { background: #e5e7eb; border-radius: 999px; height: 8px; overflow: hidden; margin: .75rem 0 1rem; }
.vt13-riskbar { height: 100%; width: 0%; border-radius: 999px; transition: width .25s ease; }
.vt13-riskbar.good { background: #16a34a; }
.vt13-riskbar.mid { background: #ca8a04; }
.vt13-riskbar.bad { background: #dc2626; } .vt13-sev-legend { display: flex; gap: .8rem; flex-wrap: wrap; color: #6b7280; font-size: .78rem; }
.vt13-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; margin-right: .3rem; position: relative; top: 1px; } .vt13-subtitle { font-family: ‘Playfair Display’, serif; font-size: 1.2rem; margin-bottom: .7rem; color: #111827; } .vt13-table-wrap { overflow-x: auto; }
.vt13-table { width: 100%; border-collapse: collapse; font-size: .78rem; }
.vt13-table th, .vt13-table td { border-bottom: 1px solid #f1f5f9; text-align: left; padding: .68rem .72rem; vertical-align: top; }
.vt13-table th { background: #f8fafc; color: #475569; font-size: .68rem; text-transform: uppercase; letter-spacing: .055em; }
.vt13-table tr:hover td { background: #fafafa; }
.vt13-sev-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: .15rem .52rem; font-size: .67rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.vt13-sev-critical { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.vt13-sev-high { background: #fff7ed; color: #c2410c; border: 1px solid #fed7aa; }
.vt13-sev-medium { background: #fefce8; color: #a16207; border: 1px solid #fde68a; }
.vt13-sev-low { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; } .vt13-list { list-style: none; display: grid; gap: .6rem; }
.vt13-list li { border: 1px solid #e5e7eb; background: #fff; border-radius: .75rem; padding: .75rem .85rem; }
.vt13-list small { display: block; color: #64748b; margin-top: .3rem; line-height: 1.45; } .vt13-template { width: 100%; min-height: 180px; border: 1px solid #d1d5db; border-radius: .8rem; padding: .8rem .9rem; background: #f8fafc; color: #0f172a; font-family: ‘JetBrains Mono’, monospace; font-size: .78rem; line-height: 1.56; } .vt13-footer-note { text-align: center; font-size: .76rem; color: #9ca3af; margin: 1rem 0 2rem; } .vt13-empty { text-align: center; padding: 1.7rem 1rem; color: #94a3b8; } .vt13-toast { position: fixed; bottom: 1.4rem; left: 50%; transform: translateX(-50%) translateY(20px); opacity: 0; transition: all .2s ease; background: #111827; color: #fff; font-size: .8rem; padding: .6rem .95rem; border-radius: .6rem; z-index: 9999; pointer-events: none; }
.vt13-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); } @media print { .vt13-actions, .vt13-toolbar, .vt13-footer-note, .vt13-card-actions { display: none !important; } .vt13-card { box-shadow: none; }
}

.env Security Scanner

Paste your .env content and get an instant risk report for exposed secrets, weak values, cloud token formats, and dangerous runtime flags. Everything runs in your browser.

Client-side only No signup Large file friendly Shareable report URL
Input .env content
Paste raw .env text, or upload a .env / .txt file.

Risk profile

Findings

Line Key Severity Reason

Remediation plan

    Safe .env.example template

    ๐Ÿ”’ More Security Tools

    Browse all 16 free tools in the Security Tools collection โ€” K8s YAML linter, GitHub Actions security, Terraform scanner, JWT inspector, CVE dashboard, and more.

    ๐Ÿ“š See also: Bash Scripting Reference โ€” free developer quick-reference.

    </> Embed .env Security Scanner

    Copy this iframe snippet to embed this tool on your website. The tool runs client-side and includes a "Powered by ReleaseRun" attribution.

    Preview: Open embed view