Skip to main content

Documentation Index

Fetch the complete documentation index at: https://sherlock-osint.vercel.app/docs/llms.txt

Use this file to discover all available pages before exploring further.

Sherlock is a static Vite application that deploys cleanly to Vercel with no server database required. Workspace and artifact data live entirely in the visitor’s browser via SQLite over IndexedDB, and API keys stay browser-local when users add them through Settings → Runtime. This makes Vercel an ideal host — you get global CDN delivery and zero backend infrastructure to manage.

How the deployment works

Sherlock builds to a standard static dist/ directory. The repo includes a vercel.json that configures the build commands and ensures all page routes work correctly for direct navigation and bookmarked links.
The vercel.json at the repo root handles routing automatically. If you configure the build manually in the Vercel dashboard, set install command to npm ci --include=optional, build command to npm run build, and output directory to dist.

Deploying to Vercel

1

Import the GitHub repository

Go to vercel.com and click Add New Project. Select the Sherlock GitHub repository. Vercel will detect the vercel.json configuration automatically.
2

Review build settings

Vercel reads the build configuration from vercel.json. You should see install command npm ci --include=optional, build command npm run build, and output directory dist. No manual changes are needed.
3

Configure the tldraw license key (optional)

If your deployment uses Sherlock’s research board feature (powered by tldraw 4.x), add VITE_TLDRAW_LICENSE_KEY as an environment variable in the Vercel project settings before deploying. This is an app-level license for the canvas SDK — it’s different from the AI provider API keys.
4

Leave provider API keys unset for public BYOK hosting

For a public or shared deployment where each visitor uses their own AI provider account, do not set VITE_GEMINI_API_KEY, VITE_OPENROUTER_API_KEY, VITE_OPENAI_API_KEY, or VITE_ANTHROPIC_API_KEY in Vercel. Each visitor will add their own key in Settings → Runtime after the site loads.
5

Add a demo workspace seed (optional)

If you want first-time visitors to land in a pre-seeded demo workspace, place a workspace backup JSON file at public/seeds/demo-workspace.json in the repository before deploying. Sherlock will auto-import it once for any browser profile that visits with an empty workspace.
6

Deploy

Click Deploy. Once the build completes, your Sherlock instance is live. Each visitor can start using it immediately for browsing and will be prompted to add a provider API key when they want to run analysis or chat.

Environment variables

# Get your free API key from https://aistudio.google.com/app/apikey
VITE_GEMINI_API_KEY=your_key_here

# VITE_OPENROUTER_API_KEY=your_key_here
# VITE_OPENAI_API_KEY=your_key_here
# VITE_ANTHROPIC_API_KEY=your_key_here

# tldraw SDK license key — for local testing or deployments using tldraw 4.x
# VITE_TLDRAW_LICENSE_KEY=your_key_here
Do not set VITE_GEMINI_API_KEY, VITE_OPENROUTER_API_KEY, VITE_OPENAI_API_KEY, or VITE_ANTHROPIC_API_KEY in Vercel for a public-facing deployment. Because these are VITE_ prefixed variables, they are baked into the client bundle at build time and visible to every visitor. Every request made through the site would be charged to your provider account. For public hosting, use strict BYOK mode — see BYOK: bring your own key to Sherlock.

Important notes

Preview URLs have isolated storage Each Vercel preview URL is a separate browser origin. Workspace data and API keys stored on preview-xyz.vercel.app are completely separate from data on your production domain. This is useful for testing — you can use a preview deployment without touching production data. Redeploying does not wipe user data Deploying a new version to the same domain does not clear visitors’ browser storage. Their workspaces, artifacts, and saved keys persist across redeployments unless they explicitly clear their browser data or use the Delete Data action in Settings. VITE_TLDRAW_LICENSE_KEY is not a provider API key The tldraw license key is an SDK license for the board canvas feature. It’s configured at deploy time in Vercel (or in .env.local for local development) rather than entered in Settings → Runtime like provider API keys. You only need it if you’re using the research board surface.

Alternative static hosts

Because Sherlock outputs a standard dist/ directory from Vite, it deploys to any static hosting platform that supports SPA routing. You’ll need to configure a catch-all rewrite rule (equivalent to the one in vercel.json) on whatever platform you use:
  • Netlify — add a _redirects file with /* /index.html 200
  • Cloudflare Pages — add a _routes.json or configure custom headers
  • GitHub Pages — requires a workaround for SPA routing (a 404.html copy of index.html)
The build output itself is identical across all platforms.