52 lines
8.7 KiB
HTML
52 lines
8.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<link rel="icon" href="../../favicon.png" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<meta name="description" content="Build with AI - Data science guides, interactive tools, and insights" />
|
|
|
|
<link href="../../_app/immutable/assets/0.DxgpWi6j.css" rel="stylesheet">
|
|
<link rel="modulepreload" href="../../_app/immutable/entry/start.BwqP7o9C.js">
|
|
<link rel="modulepreload" href="../../_app/immutable/chunks/WSjfo0Ud.js">
|
|
<link rel="modulepreload" href="../../_app/immutable/chunks/mO2F3zLa.js">
|
|
<link rel="modulepreload" href="../../_app/immutable/chunks/OXvvA7WZ.js">
|
|
<link rel="modulepreload" href="../../_app/immutable/entry/app.I5VArHs7.js">
|
|
<link rel="modulepreload" href="../../_app/immutable/chunks/eH5yZvH4.js">
|
|
<link rel="modulepreload" href="../../_app/immutable/chunks/Bh-96fzJ.js">
|
|
<link rel="modulepreload" href="../../_app/immutable/chunks/tuD4s8Oc.js">
|
|
<link rel="modulepreload" href="../../_app/immutable/chunks/DBQEMQMg.js">
|
|
<link rel="modulepreload" href="../../_app/immutable/chunks/ECMuNRdJ.js">
|
|
<link rel="modulepreload" href="../../_app/immutable/nodes/0.BOu9fROT.js">
|
|
<link rel="modulepreload" href="../../_app/immutable/chunks/EiYUD4Mm.js">
|
|
<link rel="modulepreload" href="../../_app/immutable/nodes/8.CyYeH63o.js">
|
|
<link rel="modulepreload" href="../../_app/immutable/chunks/DhvLCtu-.js">
|
|
<link rel="modulepreload" href="../../_app/immutable/chunks/Da-hDQCT.js"><!--tts6bo--><meta name="description" content="Detect and redact personally identifiable information (PII) from text and files."/><!----><title>Privacy Scanner | Build with AI</title>
|
|
</head>
|
|
<body data-sveltekit-preload-data="hover">
|
|
<div style="display: contents"><!--[--><!--[--><!----><!--[--><!----><div class="min-h-screen bg-gradient-to-b from-slate-50 to-white"><nav class="fixed top-0 left-0 right-0 z-50 transition-all duration-300 bg-transparent"><div class="max-w-6xl mx-auto px-6 py-4 flex items-center justify-between"><a href="/" class="flex items-center gap-2"><img src="/logo.png" alt="ValueCurve" class="h-8 w-auto"/> <span class="font-semibold text-gray-900">Build ValueCurve</span></a> <div class="flex items-center gap-6"><a href="/guides/" class="text-gray-600 hover:text-gray-900 transition-colors text-sm font-medium">Guides</a> <a href="/tools/" class="text-gray-600 hover:text-gray-900 transition-colors text-sm font-medium">Tools</a> <a href="https://www.valuecurve.ai" target="_blank" rel="noopener" class="text-gray-600 hover:text-gray-900 transition-colors text-sm font-medium">Newsletter</a> <a href="/notebooks/" class="text-gray-600 hover:text-gray-900 transition-colors text-sm font-medium">Notebooks</a></div></div></nav><!----> <main class="pt-20 pb-10 px-5"><div class="max-w-6xl mx-auto"><div class="mb-5 flex items-center justify-between"><div class="flex items-center gap-4"><a href="/tools/" class="text-sm text-primary-600 hover:text-primary-700">← Tools</a> <h1 class="text-2xl font-bold text-gray-900">Privacy Scanner</h1> <span class="text-gray-400 text-sm hidden sm:inline">|</span> <p class="text-gray-500 text-sm hidden sm:inline">Detect & redact PII from text and files</p></div></div> <div class="grid grid-cols-1 lg:grid-cols-3 gap-5"><div class="bg-white rounded-xl border border-gray-100 shadow-sm p-5"><h2 class="text-base font-bold text-gray-900 mb-3">Input</h2> <div class="flex gap-1 mb-3 p-1 bg-gray-100 rounded-lg"><button class="flex-1 py-2 px-3 text-sm font-medium rounded-md transition-all bg-white text-primary-600 shadow-sm">Text</button> <button class="flex-1 py-2 px-3 text-sm font-medium rounded-md transition-all text-gray-500 hover:text-gray-700">File</button></div> <!--[--><div class="space-y-3"><div class="flex justify-between items-center"><label for="text-input" class="text-sm font-medium text-gray-700">Text to Scan</label> <div class="flex gap-2"><button class="text-xs text-primary-600 hover:text-primary-700">Load Sample</button> <!--[!--><!--]--></div></div> <textarea id="text-input" placeholder="Paste text containing potential PII here..." class="w-full px-3 py-2 border border-gray-200 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500 min-h-[150px] resize-none font-mono text-xs"></textarea></div><!--]--> <div class="mt-4 pt-3 border-t border-gray-200"><div class="flex items-center justify-between mb-2"><h3 class="text-xs font-semibold text-gray-500 uppercase">PII Detection</h3> <label class="flex items-center gap-1.5 cursor-pointer text-xs"><input type="checkbox" checked class="rounded text-primary-600"/> <span class="text-gray-600">Secrets</span></label></div> <div class="grid grid-cols-4 gap-1.5 text-xs"><label class="flex items-center gap-1.5 cursor-pointer"><input type="checkbox" checked class="rounded text-primary-600"/> <span class="text-gray-700">Email</span></label> <label class="flex items-center gap-1.5 cursor-pointer"><input type="checkbox" checked class="rounded text-primary-600"/> <span class="text-gray-700">Phone</span></label> <label class="flex items-center gap-1.5 cursor-pointer"><input type="checkbox" checked class="rounded text-primary-600"/> <span class="text-gray-700">SSN</span></label> <label class="flex items-center gap-1.5 cursor-pointer"><input type="checkbox" checked class="rounded text-primary-600"/> <span class="text-gray-700">Cards</span></label> <label class="flex items-center gap-1.5 cursor-pointer"><input type="checkbox" checked class="rounded text-primary-600"/> <span class="text-gray-700">IP</span></label> <label class="flex items-center gap-1.5 cursor-pointer"><input type="checkbox" checked class="rounded text-primary-600"/> <span class="text-gray-700">Dates</span></label> <label class="flex items-center gap-1.5 cursor-pointer"><input type="checkbox" checked class="rounded text-primary-600"/> <span class="text-gray-700">Addr</span></label> <label class="flex items-center gap-1.5 cursor-pointer"><input type="checkbox" checked class="rounded text-primary-600"/> <span class="text-gray-700">IBAN</span></label></div> <label class="flex items-center gap-2 cursor-pointer text-xs mt-2.5 pt-2.5 border-t border-gray-100" title="All detection runs in your browser - no data sent to server"><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> <input type="checkbox" class="rounded text-green-600"/> <span class="text-gray-600">Browser-Only Mode <span class="text-green-600 font-medium">(Zero Network)</span></span></label></div> <button disabled class="w-full mt-4 px-5 py-2.5 bg-primary-600 text-white rounded-lg text-sm font-medium hover:bg-primary-700 transition-all shadow-sm disabled:opacity-50 disabled:cursor-not-allowed">Scan for PII</button> <!--[!--><!--]--></div> <div class="lg:col-span-2 bg-white rounded-xl border border-gray-100 shadow-sm p-5"><h2 class="text-base font-bold text-gray-900 mb-4">Scan Results</h2> <!--[!--><div class="text-center py-12"><div class="w-16 h-16 rounded-2xl bg-gray-100 flex items-center justify-center mx-auto mb-4"><svg class="w-8 h-8 text-gray-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-gray-500">Enter text or upload a file to scan for PII</p></div><!--]--></div></div></div></main> <footer class="bg-gray-50 border-t border-gray-100 py-12"><div class="max-w-6xl mx-auto px-6"><div class="flex flex-col md:flex-row items-center justify-between gap-4"><div class="flex items-center gap-2"><img src="/logo.png" alt="ValueCurve" class="h-6 w-auto"/> <span class="text-sm text-gray-600">Build ValueCurve</span></div> <p class="text-sm text-gray-500">Data science guides and tools for builders.</p></div></div></footer><!----></div><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
|
|
|
|
<script>
|
|
{
|
|
__sveltekit_m4hdb0 = {
|
|
base: new URL("../..", location).pathname.slice(0, -1)
|
|
};
|
|
|
|
const element = document.currentScript.parentElement;
|
|
|
|
Promise.all([
|
|
import("../../_app/immutable/entry/start.BwqP7o9C.js"),
|
|
import("../../_app/immutable/entry/app.I5VArHs7.js")
|
|
]).then(([kit, app]) => {
|
|
kit.start(app, element, {
|
|
node_ids: [0, 8],
|
|
data: [null,null],
|
|
form: null,
|
|
error: null
|
|
});
|
|
});
|
|
}
|
|
</script>
|
|
</div>
|
|
</body>
|
|
</html>
|