CLASSIFIED
EYES ONLY

SHADOW NOTES

Field Manual // Operations Guide
Project ShadowNotes v1.3.1
Classification On-Device AI / WebAssembly
Network Status AIR-GAPPED (Post-Download)
Hackathon RunAnywhere Vibe Challenge
Vision Atmanirbhar Bharat / #India2047
Team Divya Mohan & Kumkum Thakur
Institution Shoolini University
Facilitated By ThoughtWorks Technologies

FIELD OPERATIONS // QUICK START

01
Access the Application
Navigate to shadownotes.dmj.one. The boot sequence initializes the secure environment, registers the LLM model backend, and downloads the on-device AI engine (~810 MB, one-time).
First load takes 1-3 minutes depending on connection. After that, the app works fully offline.
02
Select Operational Domain
Choose one of 4 domain profiles: Security Audit, Legal Deposition, Medical Notes, or Incident Report. Each domain has its own AI extraction pipeline and intelligence categories.
03
Begin Capture Session
Click BEGIN CAPTURE SESSION to enter the active capture screen. You'll see the case number, timer, and the split-view layout with transcript on the left and intelligence on the right.
04
Choose Capture Mode
Three capture modes are available: MIC — Push-to-talk voice capture with real-time transcription. TEXT — Manual text input for quiet environments. AGENT — Hands-free VoiceAgent mode using VoicePipeline + VoiceAgent for continuous listen-process-respond without manual button presses.
Try: "Patient presents with elevated blood pressure, 160 over 95. Prescribing Telmisartan 40mg daily." Then click DECODE INTELLIGENCE to extract findings.
05
Decode & Review Intelligence
Click DECODE INTELLIGENCE to trigger AI extraction. The streaming LLM (TextGeneration.generateStream()) processes your transcript token-by-token, showing results in real-time. StructuredOutput.extractJson() validates the extraction format. All domain categories are visible — click + ADD on any category to manually add findings.
Click any extracted finding to edit it. Click the X to remove incorrect entries. On production hardware with GPU, extraction can run live.
06
End Session & Review Dossier
Click END SESSION to view the complete session dossier with all transcripts and intelligence findings. You can still edit findings on this screen.
07
Destroy All Data
Click DESTROY SESSION and confirm. A cinematic burn animation plays as all data is wiped from browser memory and encrypted vault. Zero trace remains.

OPERATIONAL DOMAINS

🛡 Security Audit — Kavach
OPERATION FIREWALL • “The Divine Shield”
TOP SECRET
Extracts: Vulnerabilities, Timeline, Evidence, Affected Systems, Risk Assessment
Legal Deposition — Nyaaya
OPERATION TESTIMONY • “The Path of Justice”
CONFIDENTIAL
Extracts: Key Statements, Timeline, Parties Involved, Contradictions, Exhibits
🩺 Medical Notes — Sanjeevani
OPERATION VITALS • “The Life-Giving Herb”
RESTRICTED
Extracts: Symptoms, Diagnoses, Medications, Vital Signs, Follow-up Actions
🚨 Incident Report — Prahari
OPERATION CHRONICLE • “The Vigilant Sentinel”
SECRET
Extracts: Incident Timeline, Witnesses, Damage Assessment, Root Cause, Next Steps

VERIFICATION PROTOCOL // TESTING

Browser requirement: Use Chrome, Edge, or Safari. Firefox does not support Web Speech API for live transcription.
Microphone access: Allow microphone when prompted. Without it, speech capture will not function.
AI model download: Wait for the boot screen to show the green checkmarks. The ~810 MB model (Gemma 3 1B Instruct) downloads once and is cached in the browser's private filesystem (OPFS).
Offline test: After first load, disconnect from the internet entirely. Open the app again — it should boot and run the AI model completely offline. Open DevTools Network tab to verify zero outgoing requests during capture.
Privacy test: During a capture session, check DevTools Network tab. Zero requests should be made. All AI processing happens on your device.
Data destruction: After destroying a session, check DevTools Application tab — the encrypted vault entry for that case is removed. OPFS model cache (AI weight file) remains for reuse.
Edit intelligence: Click on any extracted finding to edit it inline. Press Enter to save, Escape to cancel. Click the X button to remove incorrect findings.

CAPABILITIES

🎙
Browser-Native Transcription
Web Speech API provides fast, lightweight speech-to-text that works on any device with zero model download.
🧠
Streaming AI Extraction
Gemma 3 1B Instruct LLM streams tokens in real-time via TextGeneration.generateStream(). StructuredOutput.extractJson() validates extraction format. Advanced sampling with topK, topP, temperature, and stopSequences.
📝
Keyword Fallback
Instant regex-based extraction while the LLM loads, ensuring intelligence findings from the first word spoken.
🔒
Encrypted Vault
AES-256-GCM encryption with per-case HKDF-derived keys. WebAuthn biometric auth (Windows Hello / Touch ID). Encrypted export/import via .shadow files.
Editable Findings
Click any AI-extracted finding to correct it inline. Remove incorrect entries with one click. Voice commands: "Hey Shadow, delete case..."
🔥
Session Destruction
Animated data destruction with phase-by-phase memory wipe. Encrypted vault entry removed. Zero trace remains.
🔊
VoiceAgent Mode
Hands-free operation via VoicePipeline + VoiceAgent. Continuous listen → process → respond loop. No button presses needed — speak and the AI extracts intelligence automatically.
🧩
RAG Context Injection
Prior findings are semantically retrieved via embeddings and injected into the LLM prompt. Extraction accuracy improves across sessions as context builds.
🛡
Brute-Force Protection
Vault unlock is rate-limited with exponential backoff (5s / 15s / 30s / 60s) after 3 failed attempts. Prevents passphrase guessing attacks.
🔍
Semantic Search
Global search results are reranked by semantic relevance using embeddings-based findSimilar(). Find intelligence by meaning, not just keywords.
Deep SDK Integration
RunAnywhere SDK: All 3 packages (web, web-llamacpp, web-onnx) — 20+ genuinely load-bearing features including LLM streaming, ToolCalling, Embeddings, STT, TTS, VAD, AudioCapture, and AudioPlayback.
📄
Professional PDF Export
Domain-specific PDFs via jsPDF with Hindi branding: Sanjeevani (Medical), Kavach (Security), Nyaaya (Legal), Prahari (Incident). Signature blocks, metadata grids, and colour-coded sections.
💻
Desktop App (Electron)
Cross-platform desktop via Electron 35 with GPU acceleration, WebAuthn support, and native packaging for Windows, macOS, and Linux.
🧠
Multi-Model Selection
Choose from 3 LLM tiers: Gemma 3 1B (~810 MB), Qwen2.5 0.5B (~400 MB), SmolLM2 135M (~100 MB). Match AI quality to your device’s capability.
WCAG 2.2 Accessible
172+ ARIA attributes, full keyboard navigation, screen-reader support, reduced-motion and forced-colors media queries.

TECH STACK

ComponentTechnologyPurpose
FrameworkReact 19 + TypeScript 5.9 (strict)UI rendering and state management
Build ToolVite 7 + ESLint 10Development server, bundling, code quality
AI SDK (core)@runanywhere/web v0.1.0-beta.9ModelManager, EventBus, OPFSStorage, VoicePipeline, VoiceAgent, SDKLogger
AI SDK (LLM)@runanywhere/web-llamacppStreaming LLM, StructuredOutput, ToolCalling, Embeddings
AI SDK (Audio)@runanywhere/web-onnxSTT (Whisper), TTS (Piper), VAD (Silero), AudioCapture, AudioPlayback
LLM ModelsGemma 3 1B / Qwen2.5 0.5B / SmolLM2 135M3-tier model selection for all device capabilities
STTWhisper Tiny English (ONNX) + Web Speech APIOn-device speech-to-text with browser fallback
VADSilero VAD (ONNX, ~2.3 MB)Real-time voice activity detection
TTSPiper (Lessac, ONNX, ~64 MB)On-device text-to-speech for voice feedback
EncryptionAES-256-GCM + HKDF + PBKDF2 (600K iter)Per-case encryption via WebCrypto API
AuthWebAuthn + PRF extensionBiometric auth (Windows Hello / Touch ID / Face ID)
PDF ExportjsPDF 4.2Domain PDFs: Sanjeevani, Kavach, Nyaaya, Prahari
DesktopElectron 35 + electron-builderCross-platform desktop with GPU acceleration
FallbackKeyword Extraction EngineInstant regex-based intelligence extraction
Offlinevite-plugin-pwa + WorkboxFull offline PWA with service worker caching
TestingVitest 4 + Testing Library231 tests across 18 files

ACCESS POINTS

SUPPLEMENTARY BRIEFING // VIDEO