Mike is a young open-source legal AI project. Until you have reviewed your deployment and data flows, test it with disposable infrastructure and synthetic documents only.
Create separate test resources for Mike:
- a throwaway Supabase project
- a throwaway S3-compatible storage bucket, such as Cloudflare R2
- disposable model-provider API keys with low spending limits
- a test email account
Do not use production Supabase projects, production storage buckets, firm API keys, or real client documents for initial testing.
Only variables prefixed with NEXT_PUBLIC_ should be assumed safe to expose to
the browser. Service-role keys and model-provider keys should stay server-side.
For frontend testing, frontend/.env.local should normally contain only:
NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_PUBLISHABLE_DEFAULT_KEY=your-supabase-anon-key
NEXT_PUBLIC_API_BASE_URL=http://localhost:3001Keep the Supabase service-role key in backend/.env only:
SUPABASE_SECRET_KEY=your-supabase-service-role-keyModel-provider keys such as ANTHROPIC_API_KEY, GEMINI_API_KEY, and
OPENROUTER_API_KEY should also stay in backend/.env.
Use fake or public sample documents when testing:
- synthetic NDAs
- sample contracts
- public court documents
- dummy PDF/DOCX files
Do not upload privileged, confidential, client, matter, personnel, or firm knowledge-management material until you are comfortable with the deployment's storage, logging, deletion, and model-provider behavior.
Before running or committing changes, check:
git status --shortStop if .env, .env.local, or any file containing secrets appears in the
output.
If you do not want to use model-provider keys yet, use dummy provider values and test only the non-LLM flows first:
- account creation against a test Supabase project
- project creation
- file upload with synthetic documents
- folder organization
- document deletion
Then add one disposable, capped model-provider key and test assistant behavior with synthetic documents.
After testing, delete:
- uploaded objects from the storage bucket
- test Supabase rows or the whole test Supabase project
- disposable model-provider keys
- local
.envfiles that contain secrets
For legal-document workflows, deletion semantics matter. Verify that your storage bucket no longer contains test document objects after delete flows.