Public Demo Launch¶
This checklist prepares AI1SAD for a controlled public demo. It does not add billing, authentication, new providers, scraping, or scoring changes.
AI1SAD estimates environmental and surveillance-relevant shark encounter conditions. It does not predict individual attacks or guarantee safety outcomes.
Recommended Demo Mode¶
Use demo mode for a public launch:
In demo mode:
- admin writes are disabled
- selected public responses include demo labeling
- demo scenarios expose only public summaries
- private notes, internal rules, restricted source details, credentials, and raw provider secrets must not be exposed
- provider failures should lower confidence or fall back safely rather than crash public routes
- scoring behavior remains unchanged
Required Environment Variables¶
Minimum controlled demo backend:
DEMO_MODE=true
MONGODB_DATABASE=AI1SAD
ADMIN_EVENTS_ENABLED=false
ADMIN_SURVEILLANCE_ENABLED=false
ADMIN_ALERTS_ENABLED=false
API_ACCESS_ENABLED=false
MongoDB-backed public demo:
Do not commit .env, MongoDB connection strings, provider credentials, API keys, passwords, tokens, or private data.
Optional Environment Variables¶
Frontend demo deployment:
VITE_AI1SAD_DEMO_MODE=true
VITE_AI1SAD_USE_MOCKS=false
VITE_AI1SAD_API_BASE_URL=https://<demo-backend>
For a standalone frontend demo without a backend, keep mock mode enabled:
Railway Backend Checklist¶
- Confirm start command:
uvicorn app.main:app --host 0.0.0.0 --port $PORT. - Store
MONGODB_URIonly in Railway variables if using Atlas. - Keep
DEMO_MODE=truefor public demo deployments. - Keep all admin write flags false.
- Keep
API_ACCESS_ENABLED=falseunless real key storage is deployed later. - Seed only public, privacy-reviewed demo data.
- Run smoke checks after deploy.
MongoDB Atlas Notes¶
- Use a dedicated demo database/user.
- Use least-privilege credentials.
- Rotate credentials outside the repository.
- Do not seed victim names, private notes, exact addresses, restricted-source material, or internal analyst records into public collections.
- Public API routes should continue filtering by
visibility="public".
Frontend Checklist¶
- Demo banner appears when demo mode is enabled.
- Map loads with mock data if the backend is unavailable.
- Scenario selector includes Horseshoe Reef, Queensland, Florida, Hawaii, and Red Sea.
- "Why this zone?" panels load explanation fields from API/mock responses.
- Low warning and high surveillance priority are labeled as activity/habitat-specific surveillance priority.
- Frontend does not calculate model scores.
MkDocs GitHub Pages Checklist¶
mkdocs buildsucceeds.site/remains ignored.- Public docs include disclaimer, demo environment, deployment readiness, Railway deploy, operational mapping, and usage policy pages.
- No secrets, private data, or restricted source content appear in generated docs.
Public Launch Smoke Checks¶
Run:
The script checks:
GET /healthGET /api/v1/demo/statusGET /api/v1/demo/scenariosGET /api/v1/explain/location
Manual checklist:
- health endpoint works
- demo scenarios load
- map loads
- explanations load
- alerts demo loads
- docs site builds
- no secrets exposed
- no private/internal signals exposed
Safety Boundary¶
The public demo is an operational intelligence demonstration. It is not an individual attack prediction system, beach closure authority, shark-intent inference system, or substitute for local lifeguards, emergency services, wildlife agencies, marine agencies, weather offices, or beach managers.