26 lines
6.3 KiB
JavaScript
26 lines
6.3 KiB
JavaScript
import { c as create_ssr_component, f as escape, d as add_attribute } from "../../../chunks/ssr.js";
|
|
const Page = create_ssr_component(($$result, $$props, $$bindings, slots) => {
|
|
let textInput = "";
|
|
let detectEmails = true;
|
|
let detectPhones = true;
|
|
let detectSSN = true;
|
|
let detectCreditCards = true;
|
|
let detectIPAddresses = true;
|
|
let detectDates = true;
|
|
let detectAddresses = true;
|
|
let detectIBAN = true;
|
|
let detectSecrets = true;
|
|
let coordinatesOnly = false;
|
|
return `<div class="max-w-6xl mx-auto animate-fade-in"> <div class="mb-6" data-svelte-h="svelte-1gigmmk"><h1 class="text-2xl font-bold text-surface-800">Privacy Scanner</h1> <p class="text-surface-600 mt-1">Detect and redact personally identifiable information (PII) from text and files</p></div> <div class="grid grid-cols-1 lg:grid-cols-3 gap-4"> <div class="card p-4"><h2 class="text-base font-bold text-surface-800 mb-3" data-svelte-h="svelte-z2bgze">Input</h2> <div class="flex gap-1 mb-4 p-1 bg-surface-100 rounded-lg"><button class="${"flex-1 py-1.5 px-3 text-sm font-medium rounded-md transition-all " + escape(
|
|
"bg-white text-primary-600 shadow-sm",
|
|
true
|
|
)}">Text</button> <button class="${"flex-1 py-1.5 px-3 text-sm font-medium rounded-md transition-all " + escape(
|
|
"text-surface-500 hover:text-surface-700",
|
|
true
|
|
)}">File</button></div> ${`<div class="space-y-3"><div class="flex justify-between items-center"><label class="label" data-svelte-h="svelte-17ng88c">Text to Scan</label> <div class="flex gap-2"><button class="text-xs text-primary-600 hover:text-primary-700" data-svelte-h="svelte-gqsqyq">Load Sample</button> ${``}</div></div> <textarea placeholder="Paste text containing potential PII here..." class="input min-h-[150px] resize-none font-mono text-xs">${escape("")}</textarea></div>`} <div class="mt-3 pt-3 border-t border-surface-200"><h3 class="text-xs font-semibold text-surface-600 mb-1.5" data-svelte-h="svelte-2wanpq">PII Detection</h3> <div class="grid grid-cols-2 gap-1 text-xs"><label class="flex items-center gap-2 cursor-pointer"><input type="checkbox" class="rounded text-primary-600"${add_attribute("checked", detectEmails, 1)}> <span class="text-surface-700" data-svelte-h="svelte-uaj41h">Emails</span></label> <label class="flex items-center gap-2 cursor-pointer"><input type="checkbox" class="rounded text-primary-600"${add_attribute("checked", detectPhones, 1)}> <span class="text-surface-700" data-svelte-h="svelte-16ero9x">Phones</span></label> <label class="flex items-center gap-2 cursor-pointer"><input type="checkbox" class="rounded text-primary-600"${add_attribute("checked", detectSSN, 1)}> <span class="text-surface-700" data-svelte-h="svelte-pfcx1a">SSN</span></label> <label class="flex items-center gap-2 cursor-pointer"><input type="checkbox" class="rounded text-primary-600"${add_attribute("checked", detectCreditCards, 1)}> <span class="text-surface-700" data-svelte-h="svelte-a24hdc">Credit Cards</span></label> <label class="flex items-center gap-2 cursor-pointer"><input type="checkbox" class="rounded text-primary-600"${add_attribute("checked", detectIPAddresses, 1)}> <span class="text-surface-700" data-svelte-h="svelte-1b5uxh9">IP Addresses</span></label> <label class="flex items-center gap-2 cursor-pointer"><input type="checkbox" class="rounded text-primary-600"${add_attribute("checked", detectDates, 1)}> <span class="text-surface-700" data-svelte-h="svelte-8j0e5r">Dates</span></label> <label class="flex items-center gap-2 cursor-pointer"><input type="checkbox" class="rounded text-primary-600"${add_attribute("checked", detectAddresses, 1)}> <span class="text-surface-700" data-svelte-h="svelte-13zyody">Addresses</span></label> <label class="flex items-center gap-2 cursor-pointer"><input type="checkbox" class="rounded text-primary-600"${add_attribute("checked", detectIBAN, 1)}> <span class="text-surface-700" data-svelte-h="svelte-pqx26y">IBAN</span></label></div> <h3 class="text-xs font-semibold text-surface-600 mt-2 mb-1" data-svelte-h="svelte-1vawpdc">Secrets Detection</h3> <div class="grid grid-cols-1 gap-1 text-xs"><label class="flex items-center gap-2 cursor-pointer"><input type="checkbox" class="rounded text-primary-600"${add_attribute("checked", detectSecrets, 1)}> <span class="text-surface-700" data-svelte-h="svelte-y3csm1">API Keys & Secrets (AWS, GitHub, Stripe, etc.)</span></label></div> <h3 class="text-xs font-semibold text-surface-600 mt-2 mb-1 flex items-center gap-1" data-svelte-h="svelte-ch88fc"><svg class="w-3.5 h-3.5 text-green-600" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"></path></svg>
|
|
Security Mode</h3> <div class="grid grid-cols-1 gap-1 text-xs"><label class="flex items-center gap-2 cursor-pointer group" title="When enabled, backend only returns coordinates (start, end, type) - actual PII values never leave your browser"><input type="checkbox" class="rounded text-green-600" ${""}${add_attribute("checked", coordinatesOnly, 1)}> <span class="text-surface-700 group-hover:text-surface-900" data-svelte-h="svelte-1su8x1n">Client-Side Redaction
|
|
<span class="text-surface-400 text-[10px] ml-1">(Ultra-secure: backend sees only coordinates)</span></span></label></div> ${``} ${``}</div> <button ${!textInput.trim() ? "disabled" : ""} class="btn-primary w-full mt-3 disabled:opacity-50">${escape("Scan for PII")}</button> ${``}</div> <div class="lg:col-span-2 card p-4"><h2 class="text-base font-bold text-surface-800 mb-3" data-svelte-h="svelte-1fhiuk9">Scan Results</h2> ${`<div class="text-center py-12" data-svelte-h="svelte-1a3kst4"><div class="w-16 h-16 rounded-2xl bg-surface-100 flex items-center justify-center mx-auto mb-4"><svg class="w-8 h-8 text-surface-400" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"></path></svg></div> <p class="text-surface-500">Enter text or upload a file to scan for PII</p></div>`}</div></div></div>`;
|
|
});
|
|
export {
|
|
Page as default
|
|
};
|