Save2Save — Project Status Report

Generated on: 2026-04-08 (updated)  |  Source: Confluence SRS (v5, 2026-02-22) + Jira (SAVE, live 2026-04-08) + Git (live 2026-04-08)

Executive Summary

95% of SRS requirements are released to production (72/76). Sprint 9 released to main via PR #76 (2026-04-02) and PR #77 (2026-04-07) — all sprints 1–9 now on main. Production tags appeared (v1.0.0-prod.*), bundle ID renamed from com.save2save.app to com.caresafe.app. 18 new bug tickets filed across all sprints since last update — all resolved except SAVE-420 (Backlog). Notable: SAVE-426 (Highest priority — subscription tier state inconsistency, paywall using stale data) discovered and fixed. Sprint-9 grew from 86 to 95 tickets (9 new bugs, all Done). Develop now only 19 commits ahead of main (470 files, +24.9k/−3.6k lines) — remaining work is RTL/i18n polish (Arabic translations, phone number LTR, bold text clipping fixes). 2 Sprint-9 items still In Progress (SAVE-278 Escalation Rule Definition, SAVE-279 Battery Optimization). 3 SRS requirements In Progress, 1 Selected for Dev.
95%
Released
4%
In Progress
1%
Selected for Dev
76
SRS Requirements
383
Jira Tickets
1
Open Bugs
95% Released
4%
Done (Released) In Progress Selected for Dev

SRS Feature Coverage

Module 1: User Accounts & Identity Management 9/9
#SRS RequirementJiraSprintStatus
1.1User Registration with Email VerificationSAVE-15Sprint-1Done (Released)
1.2Mobile Number Registration & VerificationSAVE-16Sprint-2Done (Released)
1.3User Registration DataSAVE-17Sprint-1Done (Released)
1.4Secure User LoginSAVE-18Sprint-1Done (Released)
1.5Password ResetSAVE-19Sprint-1Done (Released)
1.6User Session ManagementSAVE-20Sprint-1Done (Released)
1.7User Account SettingsSAVE-21Sprint-2Done (Released)
1.8User Personal Data ManagementSAVE-22Sprint-2Done (Released)
1.9User Profile Picture (Optional)SAVE-115Sprint-8Done (Released)
Module 2: Localization & Accessibility 3/3
#SRS RequirementJiraSprintStatus
2.1Multi-Language SupportSAVE-23Sprint-5Done (Released)
2.2RTL / LTR Layout SupportSAVE-24Sprint-5Done (Released)
2.3Language PersistenceSAVE-25Sprint-5Done (Released)
Module 3: Safety Check-In System 8/13
#SRS RequirementJiraSprintStatus
3.1Check-In Schedule ConfigurationSAVE-26Sprint-3Done (Released)
3.2Allowed Check-In Response WindowSAVE-27Sprint-3Done (Released)
3.3One-Tap Check-In ConfirmationSAVE-28Sprint-3Done (Released)
3.4Missed Check-In DetectionSAVE-29Sprint-3Done (Released)
3.5Escalation Timing ConfigurationSAVE-30Sprint-6Done (Released)
3.6Escalation Rule DefinitionSAVE-30, SAVE-39Sprint-6Done (Released)
3.7Default Check-In & Escalation SettingsSAVE-276Sprint-8In Progress
3.8Push Notification ReminderSAVE-31Sprint-3Done (Released)
3.9SMS Escalation & FallbackSAVE-32Sprint-6Done (Released)
3.10Application Non-Response HandlingSAVE-33Sprint-6Done (Released)
3.11Location Capture at Check-InSAVE-34Sprint-6Done (Released)
3.12Check-In Status Visibility (Dashboard)SAVE-35Sprint-3Done (Released)
3.13Battery Optimization & Background ExecutionSAVE-279, SAVE-359Sprint-9In Progress
Module 4: Trusted Contacts & Access Control 9/9
#SRS RequirementJiraSprintStatus
4.1Trusted Contact TypesSAVE-36Sprint-2Done (Released)
4.2Trusted Contact Data RequirementsSAVE-37Sprint-2Done (Released)
4.3Notification Contacts ConfigurationSAVE-38Sprint-2Done (Released)
4.4Escalation Order & TimingSAVE-39Sprint-6Done (Released)
4.5Access Contacts ConfigurationSAVE-40Sprint-2Done (Released)
4.6Trigger-Based Access ConditionsSAVE-41Sprint-3Done (Released)
4.7Asset-Level Access ControlSAVE-42Sprint-6Done (Released)
4.8Access Scope LimitationSAVE-43Sprint-2Done (Released)
4.9Contact ManagementSAVE-44Sprint-2Done (Released)
Module 5: Reminder & Notification Management 4/4
#SRS RequirementJiraSprintStatus
5.1Custom Task RemindersSAVE-45Sprint-7Done (Released)
5.2Medication RemindersSAVE-46Sprint-7Done (Released)
5.3Doctor Appointment RemindersSAVE-47Sprint-7Done (Released)
5.4Daily Reminder SummarySAVE-48Sprint-7Done (Released)
Module 6: Information Vault 10/10
#SRS RequirementJiraSprintStatus
6.1Vault TypesSAVE-49Sprint-3Done (Released)
6.2User-Defined CategoriesSAVE-50Sprint-7Done (Released)
6.3Category Fields StructureSAVE-51Sprint-7Done (Released)
6.4Attachments ManagementSAVE-52Sprint-7Done (Released)
6.5Asset Category TemplatesSAVE-53Sprint-8Done (Released)
6.6Custom Fields per EntrySAVE-54Sprint-7Done (Released)
6.7Vault Entry LifecycleSAVE-55Sprint-3Done (Released)
6.8Incapability Definition & ConfirmationSAVE-117Sprint-9Done (Released)
6.9Trigger-Based Access ControlSAVE-56Sprint-4Done (Released)
6.10Trigger-Based Vault ReleaseSAVE-57Sprint-4Done (Released)
Module 7: Trusted Account Perspective 8/8
#SRS RequirementJiraSprintStatus
7.1Trusted Account OverviewSAVE-123Sprint-8Done (Released)
7.2Trusted User Safety Status VisibilitySAVE-162, SAVE-124Sprint-2 + Sprint-9Done (Released)
7.3Trusted User Status ClassificationSAVE-125Sprint-9Done (Released)
7.4Trusted Account Navigation to Status DetailsSAVE-126Sprint-9Done (Released)
7.5Trusted Account Notification ContextSAVE-127Sprint-8Done (Released)
7.6Trusted Account Visibility LimitationsSAVE-128Sprint-8Done (Released)
7.7Multiple Trusted User HandlingSAVE-129Sprint-8Done (Released)
7.8Trusted Relationship Removal HandlingSAVE-130Sprint-8Done (Released)
Module 8: Subscription & Payments 8/8
#SRS RequirementJiraSprintStatus
8.1Subscription ModelSAVE-58Sprint-4Done (Released)
8.2Payment Method (IAP + PayPal)SAVE-59, SAVE-229Sprint-4Done (Released)
8.3Free vs. Premium Feature SeparationSAVE-60Sprint-4Done (Released)
8.4Premium Feature ScopeSAVE-61Sprint-8Done (Released)
8.5Subscription ActivationSAVE-62Sprint-4Done (Released)
8.6Subscription DeactivationSAVE-63Sprint-4Done (Released)
8.7Subscription Status VisibilitySAVE-64Sprint-4Done (Released)
8.8Premium Feature Flexibility (NF)SAVE-65Sprint-8Done (Released)
Module 9: Public Website & Onboarding 4/4
#SRS RequirementJiraSprintStatus
9.1Public Landing PageSAVE-66Sprint-8Done (Released)
9.2Feature Explanation ContentSAVE-67Sprint-8Done (Released)
9.3Call-to-Action ElementsSAVE-68Sprint-8Done (Released)
9.4Optional Explainer VideoSAVE-69Sprint-8Done (Released)
Module 10: Navigation & Standard Screens 4/4
#SRS RequirementJiraSprintStatus
10.1Home DashboardSAVE-70Sprint-2Done (Released)
10.2Support / Contact ScreenSAVE-71Sprint-8Done (Released)
10.3Privacy Policy ScreenSAVE-72Sprint-5Done (Released)
10.4Terms & Conditions ScreenSAVE-73Sprint-5Done (Released)
Module 11: Compliance & Constraints 1/4
#SRS RequirementJiraSprintStatus
11.1GDPR-Compliant DesignSAVE-74Sprint-5Done (Released)
11.2No Continuous Location TrackingSAVE-75Sprint-8Done (Released)
11.3Cookie Usage & Consent ManagementSAVE-277Sprint-8Selected for Development
11.4Scope Change ControlSAVE-76Sprint-8In Progress

Coverage Summary

MetricCount%
Total SRS Requirements76
With Jira tickets76100%
Done (Released)7295%
In Testing (on develop)00%
In Progress34%
Selected for Development11%

Sprint Progress

Sprint 9 Released — merged to main via PRs #76 + #77, 2026-04-02/07

Branch: sprint-9developmain (fully released)
Jira: 95 items (+9 new bugs since last update) — 12 Done, 55 Developed, 2 In Progress, 25 Selected for Development, 1 Backlog (SAVE-420)
Key delivery: Incapability settings, vault release confirmation, trusted user status classification, battery optimization, production deployment, app store submissions, tier restructuring, vault entry types, debt direction, category-vault-type association, attachment integration, biometric auth, vacation mode
Progress since last update: Sprint 9 released to main via PR #76 (2026-04-02) and PR #77 (2026-04-07). 9 new bugs filed and resolved. SAVE-419 moved Tested→Done. SAVE-426 (Highest priority — subscription tier state inconsistency, paywall using stale data) discovered and fixed. Post-release work on develop: RTL/i18n fixes (Arabic translations, phone number LTR, bold text clipping), category translations, e2e regression tests.
Note: Jira statuses lag behind git — most “Developed” and “Selected for Dev” tickets are released on main
KeyTypeSummaryStatus
SAVE-117StoryIncapability Definition & Confirmation ProcessDeveloped
SAVE-124StoryTrusted User Safety Status VisibilityDeveloped
SAVE-125StoryTrusted User Status ClassificationDeveloped
SAVE-126StoryTrusted Account Navigation to Status DetailsDeveloped
SAVE-278StoryEscalation Rule DefinitionIn Progress
SAVE-279StoryBattery Optimization & Background Execution HandlingIn Progress
SAVE-286StoryCloudflare Workers Production DeploymentSelected for Dev
SAVE-289StoryGoogle Play Store SubmissionSelected for Dev
SAVE-293StoryApple App Store SubmissionSelected for Dev
SAVE-370StorySubscription Tier Restructuring: 3-Tier ModelSelected for Dev
SAVE-371StoryLocation Sharing in Emergency NotificationsSelected for Dev
SAVE-372StoryEmail Fallback Escalation When Phone UnreachableSelected for Dev
SAVE-373StoryGate Medication & Doctor Reminders to EliteSelected for Dev
SAVE-375StoryGate File Uploads & Attachments to EliteSelected for Dev
SAVE-388StoryVault Entry Type SelectionSelected for Dev
SAVE-391StoryDebt Direction Schema EnforcementSelected for Dev
SAVE-392StoryCategory-to-Vault-Type AssociationSelected for Dev
SAVE-396StoryWire Attachment Manager to Backend Upload APISelected for Dev
SAVE-399StoryAsset Template Selection Flow in Vault FormSelected for Dev
SAVE-120TaskBattery Optimization & Background Execution HandlingDone
SAVE-414Bug[BE] GET /api/principals returns 500 — missing avatar_url columnDone
SAVE-419Bug[BE] GET /api/vault/categories returns 500 — missing vault_type/description columnsDone (was Tested)
SAVE-420Bug[FE] Vault release screen does not show contact confirmation statuses on direct URL navigationBacklog
SAVE-421Bug[BUG] Vault Add Item — 500 error + silent failure on saveDone (NEW)
SAVE-422Bug[BE] GET /api/principals returns 500 — missing avatar_url (duplicate)Done (NEW)
SAVE-423Bug[FE] Sign In & Sign Up screens: broken navigation links and text truncationDone (NEW)
SAVE-424Bug[FE] Reminders screen: toggle UX issues, broken feature gating, layout truncationDone (NEW)
SAVE-425Bug[FE] Font Size preference disconnected from ThemeContextDone (NEW)
SAVE-426Bug[FE+BE] Subscription tier state inconsistency — paywall uses stale dataDone (NEW, Highest priority)
SAVE-427Bug[BUG] Trigger Rules CRUD UI removed from Release Triggers pageDone (NEW)
SAVE-439BugDebt vault fields missing required flag — validation bypassedDone (NEW)
SAVE-440BugDates display in Arabic numerals when app is set to EnglishDone (NEW)

Sprint 8 Released — merged to main via PR #72, 2026-03-17

Branch: sprint-8developmain (fully released)
Jira: 65 items (+3 new bugs, all Done) — 16 Done, 3 In Progress, 43 Developed, 3 Selected for Development, 0 Backlog
Note: Jira statuses lag behind git — most “Developed” tickets are released on main
KeyTypeSummaryStatus
SAVE-66StoryPublic Landing PageDone
SAVE-67StoryFeature Explanation ContentDone
SAVE-68StoryCall-to-Action ElementsDone
SAVE-303TaskUpdate SRS Section 8 — Add IAPDone
SAVE-403BugCheck-in button invisible due to timezone defaulting to UTC for users who skip onboardingDone
SAVE-404BugAsset template picker grid and entry type selector missing from Add Item formDone
SAVE-405BugData & Privacy link in Settings navigates to Account Settings instead of Security screenDone
SAVE-407BugVault/Legacy screen stuck on Loading legacy on web — useFocusEffect + enableFreeze(true) incompatibilityDone
SAVE-409BugData & Privacy navigates to Security screen instead of showing Download My Data (GDPR export unreachable)Done
SAVE-410Bug/settings/account page shows stale user data — useState not synced with auth contextDone
SAVE-411BugOrphaned settings pages: /settings/account and /settings/preferences have no UI navigation pathDone
SAVE-412BugSettings Data & Privacy: wrong navigation, GDPR export unreachable, orphaned pages, stale dataDone
SAVE-413BugApp gets stuck on /settings/account after sign-in — no tab bar, no way to navigate outDone
SAVE-428BugReminders premium banner uses tier check instead of feature availability flagDone (NEW)
SAVE-432BugBack buttons render as non-semantic div — invisible to screen readers (25 screens)Done (NEW)
SAVE-433BugVault trigger rules CRUD UI removed — users cannot manage trigger rulesDone (NEW)
SAVE-76StoryScope Change ControlIn Progress
SAVE-100Story[TL] Weekly Sprint & Delivery Process DefinitionIn Progress
SAVE-276StoryDefault Check-In & Escalation SettingsIn Progress
SAVE-277StoryCookie Usage & Consent ManagementSelected for Dev

Sprint 7 Released — merged to main via PR #66, 2026-03-12

Branch: sprint-7developmain (fully released)
Jira: 30 items (+2 new bugs, all Done) — 25 Developed, 5 Done
Key delivery: Reminders system (medication, doctor, custom tasks, daily summary), vault categories & custom fields, attachments, custom auth system replacing Supabase
Note: Jira statuses lag behind git — most “Developed” tickets are released on main
KeyTypeSummaryStatus
SAVE-358TaskRemove Supabase — Replace with Custom AuthDeveloped
SAVE-45StoryCustom Task RemindersDeveloped
SAVE-46StoryMedication RemindersDeveloped
SAVE-47StoryDoctor Appointment RemindersDeveloped
SAVE-48StoryDaily Reminder SummaryDeveloped
SAVE-50StoryUser-Defined CategoriesDeveloped
SAVE-51StoryCategory Fields StructureDeveloped
SAVE-52StoryAttachments ManagementDeveloped
SAVE-54StoryCustom Fields per EntryDeveloped
SAVE-367BugToast not shown after reminder toggle or delete (useToast instances)Done
SAVE-368BugDashboard ScrollView truncates last 3 children on webDone
SAVE-369BugPremium banner visible for premium users on Reminders (stale tier)Done
SAVE-430BugReminder delete silently fails on API errorDone (NEW)
SAVE-431BugEnabled toggle has no accessible label (WCAG violation)Done (NEW)

Sprint 6 Released — merged to main via PRs #56 + #64, 2026-03-02/04

Branch: sprint-6developmain (fully released)
Jira: 21 items — 19 Developed, 2 Done
Key delivery: Escalation timing & ordering, SMS escalation, app non-response handling, location capture at check-in, asset-level access control
Note: Jira statuses lag behind git — most “Developed” tickets are released on main
KeyTypeSummaryStatus
SAVE-30StoryEscalation Timing ConfigurationDeveloped
SAVE-32StorySMS Escalation & FallbackDeveloped
SAVE-33StoryApplication Non-Response HandlingDeveloped
SAVE-34StoryLocation Capture at Check-InDeveloped
SAVE-39StoryEscalation Order & TimingDeveloped
SAVE-42StoryAsset-Level Access ControlDeveloped
SAVE-118TaskEscalation Rule DefinitionDeveloped
SAVE-365BugLogin returns 500 on concurrent same-user logins (JWT collision)Done
SAVE-434BugVault category fields never seeded — D1 param limitDone (was Developed)

Sprint 5 Released — merged to main via PR #55, 2026-02-25

Jira: 27 items (+1 new bug, Done) — 18 Done, 9 Developed
Key delivery: i18n (Arabic, English, German), RTL layout, language persistence, privacy/terms screens, GDPR data export & deletion
Note: Jira statuses lag behind git — “Developed” tickets are released on main
KeyTypeSummaryStatus
SAVE-23StoryMulti-Language SupportDeveloped
SAVE-24StoryRTL / LTR Layout SupportDeveloped
SAVE-25StoryLanguage PersistenceDeveloped
SAVE-72StoryPrivacy Policy ScreenDeveloped
SAVE-73StoryTerms & Conditions ScreenDeveloped
SAVE-74StoryGDPR-Compliant DesignDeveloped
SAVE-344BugVault: Toast notifications invisible while add/edit modal open (items.tsx)Done
SAVE-345BugVault: Toast notifications invisible while modal is openDone
SAVE-346Bugrouter.back() traps users on deep-linked screensDone
SAVE-349BugLanguage selection swapped after sign-inDone
SAVE-357Bugonboarding_completed causes cold-start redirectDone
SAVE-363BugPassword reset fails with JWT_SECRET mismatch on env changeDone
SAVE-442BugCheck-in schedule time labels show English AM/PM on non-English localesDone (NEW)

Sprints 1–4 Released

Branch: All merged to main

Epic Progress

EpicStoriesReleasedIn ProgressSelectedCompletion
User Accounts & Identity9900100%
Localization & Accessibility3300100%
Safety Check-In System1382062%
Trusted Contacts & Access Control9900100%
Reminder & Notification Mgmt4400100%
Information Vault101000100%
Trusted Account Perspective8800100%
Subscription & Payments8800100%
Public Website & Onboarding4400100%
Navigation & Standard Screens4400100%
Compliance & Constraints411125%

Branch Status

Production

main Last commit: 3dda45a — chore(mobile): update IAP SKUs to match App Store Connect, add Apple Team ID (2026-04-07)  |  Contains Sprints 1–9 (all released)  |  Tags: v1.0.0-prod.20260403015550 (production), v1.0.0-dev.20260406233621.88e3609 Released
Key releases by PR: PR #51 (Sprint 4, 2026-02-22) • PR #55 (Sprint 5, 2026-02-25) • PR #56/#64 (Sprint 6, 2026-03-02/04) • PR #66 (Sprint 7, 2026-03-12) • PR #72 (Sprint 8, 2026-03-17) • PR #76 (Sprint 9 part 1, 2026-04-02) • PR #77 (Sprint 9 part 2, 2026-04-07)
Post-PR commits on main: bundle ID renamed com.save2save.appcom.caresafe.app, CI paths-ignore, IAP SKU updates + Apple Team ID

Testing / QA

develop 19 commits ahead of main  |  470 files changed, +24.9k/−3.6k lines  |  Contains post-Sprint-9 polish only (Sprints 1–9 released to main)  |  Recent: 4d1727a RTL/i18n fixes for Arabic/German, d8aa39b force LTR on phone number, 28e025f remove priority badge, d7c9a34 translate category names, 347b0e8 Unicode LTR marks for Arabic, 22ac8d6 bold text clipping fix, a680abf e2e regression tests Polish

Sprint Branches

sprint-6 Released (main)  |  Merged via PRs #56/#64 Released
sprint-7 Released (main)  |  Merged via PR #66 Released
sprint-8 Released (main)  |  Merged via PR #72 Released
sprint-9 Released (main)  |  Merged via PRs #76 + #77 Released

Active Feature Branches

feat/check-in-button-visual-states 0 commits ahead of develop Inactive
feat/simplify-legacy-overview 0 commits ahead of develop Inactive

Open Bugs

KeyPrioritySummarySprintJira StatusGit Status
SAVE-420MediumVault release screen does not show contact confirmation statuses on direct URL navigationSprint-9BacklogNot yet fixed

18 new bugs filed since last report — all resolved:

Note: SAVE-420 remains the only open bug — a frontend issue in the vault release screen.

Risks & Gaps

Jira Status Lag — Widespread (Critical)
Most Sprint 5–9 tickets remain “Developed” or “Selected for Dev” in Jira despite being released to main. Now affects Sprint 9 as well (55 Developed + 25 Selected for Dev items are all on main). Jira statuses should be bulk-updated to “Done” for all tickets in released sprints — estimated 150+ tickets need status updates across Sprints 5–9.
Open Bug — SAVE-420 (Backlog)
SAVE-420 — Vault release screen does not show contact confirmation statuses on direct URL navigation. Medium priority, in Backlog — not yet picked up for development. Has been open since the previous report.
Bundle ID / App Name Change
Bundle ID changed from com.save2save.app to com.caresafe.app on main — may impact existing test builds, push notification certificates, or app store listings if not coordinated.
RTL/i18n Polish on Develop
19 commits of Arabic RTL fixes, German translations, and bold text clipping remain on develop, not yet released to main. These are post-Sprint-9 quality improvements.
Selected for Development (Not Yet Started)
1 SRS requirement still in Selected for Dev: SAVE-277 (Cookie Usage & Consent Management). 25 Sprint-9 tickets remain in Selected for Development in Jira (code is on main but Jira not updated).
PM/TL Coordination Tasks
9 PM/TL coordination tasks across Sprints 1–2, Sprint-8, and Sprint-9 remain “In Progress” or “Selected for Dev” (SAVE-77, SAVE-79, SAVE-80, SAVE-81, SAVE-82, SAVE-83, SAVE-100, SAVE-90, SAVE-91). These are process tasks, not code blockers.

Summary Metrics

76
SRS Requirements
72
Done (Released)
3
In Progress
1
Selected for Dev
383
Total Jira Tickets
1
Open Bugs
MetricValue
Requirements with Jira tickets76 (100%)
Requirements Released (main)72 (95%)
Requirements In Progress3 (4%)
Requirements Selected for Dev (not started)1 (1%)
Jira Tickets per Sprint
Sprint-120 (17 Done, 3 In Progress)
Sprint-257 (54 Done, 3 In Progress)
Sprint-335 (all Done)
Sprint-433 (all Done)
Sprint-527 (18 Done, 9 Developed) — Released to main
Sprint-621 (19 Developed, 2 Done) — Released to main
Sprint-730 (25 Developed, 5 Done) — Released to main
Sprint-865 (16 Done, 3 In Progress, 43 Developed, 3 Selected) — Released to main
Sprint-995 (12 Done, 55 Developed, 2 In Progress, 25 Selected, 1 Backlog) — Released to main
Open Bugs1 (SAVE-420 Medium, Backlog — vault release screen missing contact statuses)
All Sprints Released (main)1–9
Develop ahead of main19 commits (RTL/i18n polish)
Production Tagsv1.0.0-prod.* (3 tags, 2026-04-03)

Generated with /project-status  |  Save2Save  |  2026-04-08