Blame

de51b6 admin 2026-08-07 11:37:08
init
1
---
2
title: Risks, Decisions, and Open Questions
3
aliases: [Risk Register, ADRs]
4
tags: [3netra/wiki, risks, adr]
5
product: 3netra Meta Android App
6
source_repository: 3Netra-ai/3n_meta_android
7
source_ref: origin/prod
8
source_revision: b48aada8fd5427b5db0c02945569963c4ae543c8
9
last_verified: 2026-08-06
10
up: "[[Home]]"
11
---
12
13
# Risks, Decisions, and Open Questions
14
15
## Risk register
16
17
| Severity | Risk | Impact | Recommended action |
18
|---|---|---|---|
19
| Critical | Random embeddings when FaceNet model load fails | False identification and unsafe trust | Fail closed; surface model error; add model integrity test |
20
| Critical | Active AI client replaces every successful Edge Function reply with fixed text | Core narration/chat/summary is non-functional or misleading | Decode and validate the response; add contract/UI tests before release |
21
| Critical | Cloud biometric storage conflicts with local/encrypted claims | Student privacy, legal, trust | Define one consented architecture; enforce encryption, RLS, deletion |
22
| Critical | Committed/app-compiled credential material and an unsafe provider boundary | Credential compromise and unauthorized provider use | Rotate/revoke; purge history where required; use managed server secrets only |
23
| Critical | SOS flow is represented but incomplete | Safety harm | Remove claim/entry point until end-to-end verified |
24
| High | Compose and Expo apps share package/build ownership | Wrong artifact, config/signing drift | Record ADR selecting canonical app and retire/rename the other |
25
| High | Glasses connection methods are partly simulated | Core product appears connected when it is not | Implement DAT connection state as single source of truth |
26
| High | No proven Supabase RLS/policy tests | Cross-user or cross-school disclosure | Add versioned schema/policies and adversarial tests |
27
| High | Student age/consent is fabricated or defaulted | FERPA/DPDPA failure | Build verified eligibility workflow |
28
| High | Sensitive debug logging | Biometric/device data leakage | Structured redacted logging and release log policy |
29
| High | Very small test suite and lint disabled | Regression and release risk | Restore quality gates incrementally |
30
| High | AWS workflow cannot demonstrate a deployable active backend | Release drift and false operations claims | Select Edge Function or SAM as canonical; fix required parameters and add deployment/contract validation |
31
| Medium | Orphaned services/routes | Misleading feature status and maintenance cost | Wire with acceptance tests or remove |
32
| Medium | In-memory chat/story | Loss on process death; unclear retention | Decide explicit ephemeral vs durable design |
33
| Medium | Legacy PDF export API | Export failures on modern Android | Use MediaStore or Storage Access Framework |
34
| Medium | Product-age conflict | Wrong copy, consent, UX and validation | Product decision with one canonical PRD |
35
| Medium | Vendor/model hidden behind backend without telemetry | Cost/quality incidents hard to diagnose | Add backend model-routing and quota observability |
36
37
## Architecture decisions needed
38
39
| ID | Decision | Options |
40
|---|---|---|
41
| ADR-001 | Canonical Android app | Compose `src/frontend`; Expo root app; intentionally separate products/packages |
42
| ADR-002 | Biometric storage | Encrypted device-local only; encrypted cloud sync; remove recognition |
43
| ADR-003 | Primary audience | Higher Education (high school & college); separate editions |
44
| ADR-004 | Voice activation | Always-on wake word; push-to-talk; glasses gesture; phased combination |
45
| ADR-005 | AI provider boundary | Backend-selected model; user/tenant policy; deterministic fallback chain |
46
| ADR-006 | Session history | Explicitly ephemeral; encrypted local; cloud with consent and retention |
47
| ADR-007 | Hardware abstraction | Meta-only near term; formal HAL before second vendor |
48
| ADR-008 | Emergency feature | Production safety workflow; informational assistance only; remove |
49
| ADR-009 | AI execution path | Repair/retain Supabase `chat-vision`; activate/fix AWS SAM; one tested canonical boundary |
50
51
## Open product questions
52
53
- Is the app a student tool, caregiver companion, school platform, or all three with separate role surfaces?
54
- Which features are safe to advertise today on the active build?
55
- Does a struck-through roadmap item mean delivered, cancelled, or deferred?
56
- Who is authorized to enroll another person's face, and how is their consent recorded?
57
- What is the age threshold and guardian verification mechanism by market?
58
- Are images, video frames, prompts, responses, and transcripts retained by the backend or downstream model vendor?
59
- What happens when the AI is uncertain, especially for identity, emotion, obstacles, and emergency contexts?
60
- Is seven-language output required at launch, and which vendor is authoritative for each speech function?
61
62
## Recommended execution order
63
64
```mermaid
65
flowchart TD
66
A[Resolve product audience and canonical app] --> X[Repair fixed AI-response client path]
67
X --> B[Fix face-model fail-closed behavior]
68
B --> C[Define consent, RLS, retention, and vendor data flow]
69
C --> D[Make glasses connection/capture production-real]
70
D --> E[Turn core flows into tested release gates]
71
E --> F[Complete AI chat latency and wake-word scope]
72
F --> G[Wire or remove orphaned features]
73
G --> H[Add offline, navigation, dashboards, and new hardware]
74
```
75
76
---
77
78
> [!tip] Navigation
79
> ⬅️ [[11-Security-Privacy-Compliance|Security, Privacy & Compliance]] · 🏠 [[Home]] · ➡️ [[13-Source-Map-Glossary|Source Map & Glossary]]