← FingerprintCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Fingerprint
Snapshot Sep 30, 2026 · 23:11 UTC · version 1.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "fingerprint-svelte",
"description": "Integrate Fingerprint device identification into a Svelte / SvelteKit app — initialize the agent and get the visitor's visitor_id and event_id.",
"included_files": [
{
"relative_path": "skill.json",
"size_in_bytes": 226
},
{
"relative_path": "snippets/CreateAccountForm.svelte",
"size_in_bytes": 747
},
{
"relative_path": "snippets/Provider.svelte",
"size_in_bytes": 682
}
],
"skill_md_contents": "---\nname: fingerprint-svelte\ndescription: Integrate Fingerprint device identification into a Svelte / SvelteKit app — initialize the agent and get the visitor's visitor_id and event_id.\n---\n\n# Fingerprint — Svelte\n\nIntegrate Fingerprint into a Svelte / SvelteKit app to identify visitors: initialize the provider\nonce at startup, then ask it for the visitor's `visitor_id` and a single-use `event_id` wherever\nyou need it (on load, or on an action like login or checkout).\n\n> Docs: https://docs.fingerprint.com/docs/svelte · JS Agent v4: https://docs.fingerprint.com/reference/js-agent-v4\n\n## Package\n`@fingerprint/svelte` — install the latest version. (For plain HTML or an unsupported framework,\nuse `@fingerprint/agent` instead.)\n\n## Env var\n- `FINGERPRINT_PUBLIC_API_KEY` — the public key, safe to ship to the browser.\n\n> Bundlers only expose prefixed vars to client code — map the key to the bundler's convention:\n> - Vite (plain Svelte): `VITE_FINGERPRINT_PUBLIC_API_KEY` → `import.meta.env.VITE_...`\n> - SvelteKit: `PUBLIC_FINGERPRINT_PUBLIC_API_KEY` → `import { PUBLIC_FINGERPRINT_PUBLIC_API_KEY } from '$env/static/public'`\n> Only `PUBLIC_`-prefixed vars reach the browser in SvelteKit. Never expose the secret key.\n\n## Steps\n\n1. **Install** `@fingerprint/svelte`.\n\n2. **Initialize once at the app root.** Wrap the app in `FingerprintProvider`, passing an `options`\n object with the public key and region (`us` | `eu` | `ap`, matching the workspace). The Svelte\n provider takes a single `options` prop. See `snippets/Provider.svelte`.\n\n3. **Get the identification where you need it.** Use `useVisitorData`. For identify-on-demand pass\n `{ immediate: false }` and call `getData()` on the action you care about; it returns\n `{ visitor_id, event_id, ... }`. See `snippets/CreateAccountForm.svelte`.\n\n4. **Verify it works.** Disable your ad blocker, run the dev server, trigger the call, and confirm\n a `visitor_id` is logged in the browser console (or that the event appears on the dashboard\n Events page).\n\n## Notes\n- Region must match the workspace (`us` | `eu` | `ap`).\n- Initialize once at the app root; don't re-instantiate per component. Don't block the UI on\n identification — handle the `isLoading` / error states.\n- **Production:** protect the agent from ad blockers with a custom subdomain or proxy —\n https://docs.fingerprint.com/docs/protecting-the-javascript-agent-from-adblockers.\n- Don't use legacy `@fingerprintjs/fingerprintjs-pro`, `FingerprintJS.load()`, or `scriptUrlPattern`.\n"
}SHA-256: cbb16411f3a9bb1a1bfb6b4ab9334e445bb69bbb58da7b1096f28f8e0f9c2dc1