QuitMap shows how cigarettes, distance, money, and return time are estimated. If you remember
better details later, you can edit them and the plan updates.
Local trail0 mi
First recovery moveProtect one planned token today.
Do not solve the whole habit right now. Wait for the next planned window, then choose: smoke, skip, or start a 10-minute rescue.
Return estimate--
Next window--
Tomorrow--
Real map foundationStylized map is safe until Mapbox is connected.
The live map should use a Tanveer-owned Mapbox public access token only. Until then, QuitMap keeps
the local canvas map, avoids exact home-address prompts, makes no map-provider calls by default, and
keeps Mapbox blocked as the default visual until final provider QA and owner approval pass.
Format check only. QuitMap masks the value in reports and does not save it from this field.
Map provider gate not run yet.
Safe real-map previewPreview not built yet.
Builds a masked Mapbox image URL from approximate country/city anchors only. No exact home address is used.
Mapbox image loads only after the explicit Load button is clicked.
Mapbox static preview not built yet.
Smoke-free returnYour trail ends here. QuitMap can guide you back home.
Preview
Start the return only when you are ready to turn the shocker into a plan.
Return estimate--
Today moved back0%
Tomorrow target--
This is a self-awareness tool, not medical advice. The plan changes when your real smoking changes.
Private wake-upSend the number, not a public post.
Share a private link that asks another smoker to check their own smoking trail. No sender profile,
no comparison, no public feed.
Private link
Private message
Own baseline
No public post
Private truth cardChoose the number to send privately.
Pick one simple card. The receiver still opens their own baseline, not your full result.
Receiver seesPrivate Trail card opened
They start with their own numbers. No public post. No full sender profile.
Private link receiptTrail link carries card context only.
The URL keeps source=private_wake_up plus card=trail. No sender numbers, no profile, no tracking pixel.
source + card only
receiver enters own baseline
no public or hosted action
Outgoing private messageTrail message preview
QuitMap wake-up check. No public post. No full profile.
One truth number, private URL, no public post, no full sender profile.
Before you sendTrail card stays private.
One cardTrail only. The receiver still builds their own number.
Receiver starts freshThey enter their own baseline.
No public trailNo profile, leaderboard, feed, or social post.
Send readiness receiptPrivate send is ready.
Choose a private channel after reviewing the message. QuitMap will keep this receipt local.
No channel chosen yet
Message length checked
No social API, hosted write, billing, or public post
Private wake-up link ready
Smoke Autopilot
Today's smoke plan
0 min gap
Next planned windowReady
Follow the plan when the urge hits.
QuitMap spaces your tokens through your waking day.
Next cigarette statusFollow the next window.
The local schedule will show whether the next smoke decision is open, waiting, held by a full-gap rule, or closed for today.
Local schedule only. No push, hosted sync, billing, local clear, or public launch.
Today's missionProtect the next token.
One simple move will appear here from your current day.
0 protectedNext move: wait for the next window
Today path
Wait for the next planned window.
If the urge passes, tap Skipped.
If you smoke, tap Smoked and keep going.
Local path only. No hosted sync, push, billing, AI, local clear, or public post.
Why this missionLocal day signal
Local logs choose the mission.
One mission at a time.
No hosted sync, push, billing, or public post.
Last action receiptNo token action yet.
Tap Smoked, Skipped, or Craving to update the local mission receipt.
Next move stays inside today's one mission.
No hosted sync, push, billing, AI, local clear, or public post.
What is a smoke token?
A token is one planned smoke window. When that window arrives, log what really happened: smoked, skipped, or craving.
Sets clear windowsKeeps messy days honestUpdates tomorrow
Tokens left0
Skipped0
Tomorrow0
Recovery time checkStarting estimate
Enter your smoking details to see your recovery time.
Today statusReady
To 1/day--
To zero--
QuitMap updates the recovery estimate after every smoke, skip, or craving.
Internal taper QATaper QA not run yet.
Prove messy-day behavior without changing the user's real current-day log.
Taper QA not run yet.
Cigarettes if you smoke
Need to log the whole day?
Catch up todayTell QuitMap what actually happened today.
If you smoked outside the schedule, enter how many and when the most recent cigarette happened. QuitMap will update the next window and Return Home estimate.
Recommended2-day learning check
Your starter Return estimate is ready. For 2 days, just tap when you smoke and pick one reason. No pressure. QuitMap will learn your pattern.
What caused this smoke?
Learning0 logs
Pattern insightKeep logging. QuitMap is learning your pattern.
No pressure. The first screen still gives the truth and starter plan immediately.
When you skip one, QuitMap will learn what helped.
Ready
Smoke windows
Today's token schedule
Notification simulator
Preview the nudges before real push.
Local preview
Device permissionLocal preview only
Real push permission will be checked here before hosted notifications are enabled.
Fallback pathIn-app alerts stay on
If push is blocked, QuitMap should still show the next smoke window inside the app.
User control
Not checked yet
Local reminder proofNext reminder is not armed yet.
QuitMap can prove the next reminder path locally before real cloud push is connected.
Next reminderOpen the plan first
In-app fallback stays ready if browser push is blocked.
No reminder preview yet.
Real push needs account sync, device permission, and hosted notification jobs. This local simulator keeps the logic visible first.
Hosted job preview
Backend jobs this plan would create
0 jobs
Local worker contract
Money check
Estimated lifetime spend
Quick estimate
Choose how to check spend
Country starter cost$0/pack
Your pack cost today$0/pack
Money estimateQuick estimate
Why this is a rangeToday + older years
QuitMap will explain what this spend number is based on.
What this includesWhat went into this number?
QuitMap shows which numbers came from you and which older-year prices are still estimated.
How we estimated itCigarettes smoked, cigarettes in one pack, today's pack cost, and estimated older prices
Region noteNot needed now
Internal country QACountry QA not run yet.
Checks launch countries, currency codes, distance units, pricing defaults, and region labels before we trust localized calculations.
Country QA not run yet.
Edit past years
Only use this if you want to correct older years yourself.
Daily Load OS
Watch the whole pattern
Baseline
Body Load Score0
QuitMap watches whether the habit is actually going down or moving somewhere else.
Nicotine0
Caffeine0
Alcohol0
Replacement0
Substitution watch will activate when nicotine goes down while caffeine, alcohol, vape, or pouch use goes up.
Substitution detectionTraining baseline
0 risk
Nicotine plan0%
Waiting for today's taper plan.
Caffeine shift0%
Compare today against usual coffee or tea.
Alcohol shift0%
Compare this week against usual drinks.
Replacement shift0%
Watch vape, pouch, or replacement nicotine.
Cross-Habit WatchSeven-day pattern preview
QuitMap checks whether lower smoking is being replaced by caffeine, alcohol, or replacement nicotine.
Local only
Rolling Body LoadToday only
QuitMap needs a few logged days before it can trust the seven-day pattern.
Local QA simulatorReal local history
Seed private demo history to test Rolling Body Load confidence without waiting a week.
Rolling Body Load scenario QA not run yet.
Cross-Habit Watch not built yet.
Cross-Habit Watch gate not run yet.
Daily check-in
Tonight's check-in
Emergency mode
Craving rescue
When an urge hits, press Craving. QuitMap gives you a 10-minute guided pause without resetting your day.
QuitMap Circle
QuitMap Circle
Free
Preview one small win.
QuitMap Circle is a private recovery feed for signed-in users. Every win is built from safe choices:
I skipped one, trigger, method, and reaction. No public social media, no typing, no comments, no live chat.
Structured win previewWIN
Preview a structured win after a real skip. No public post, no typing, no comments, no live chat.
No public post. No chat. No typing. Structured wins and structured reactions only.
Safety controlsReport and block before any live community.
This local preview proves the safety path exists before public activation. It creates a draft
moderation packet only; nothing is sent, posted, or shared.
Safety packet not built yet.
QuitMap Circle gate not run yet.
AI Coach Lab
One next move, built from the real day.
Premium gated
No blame. No reset. Private preview. Nothing is sent.
The coach foundation reads the local taper plan, off-plan cigarettes, cravings, substitution watch,
and official country support resource. It returns one recovery move instead of a giant dashboard.
AI Rescue handoffStart AI Rescue from a craving moment first.
After protected, smoked, or still-craving, QuitMap will show one next move here.
AI Rescue handoff not built yet.
Coach plan not built yet.
AI Coach safety gate not run yet.
Trigger Shield
Intervene before the cigarette becomes easy.
Premium gated
Context first. GPS later, only with opt-in.
QuitMap should learn coffee, alcohol, work breaks, driving, stress, time, and location-bucket patterns.
This local preview uses safe buckets and manual arrival simulation only.
Trigger Intelligence gate not run yet.
Care Circle
Private support, not pressure.
Premium gated
A trusted person can witness progress without seeing everything.
Care Circle is designed for a partner, family member, friend, or clinician to receive only consented
recovery summaries. No invite is sent, no contacts are uploaded, and no raw logs are shared in this build.
Care Circle gate not run yet.
Future Money Vault
Turn not-spent money into a visible recovery asset.
Plus/Premium preview
This is a projection, not a bank account.
QuitMap can show the money protected by delayed or skipped cigarettes and preview a future transfer ritual.
No bank is connected, no investment advice is given, and no money moves in this build.
Money Vault gate not run yet.
Hard Day Journal
No lost day. Just the next honest move.
Plus/Premium preview
When the plan breaks, QuitMap should learn without making the user feel cornered.
The journal turns over-plan cigarettes, cravings, and body-load shifts into a calm recovery note.
It stays private, local, and deterministic in this build.
Hard-day recovery note not built yet.
Hard Day Journal gate not run yet.
Account foundation
Protect the plan before real login.
Local demo
Local profileCreating local profile...
Saved on this device until Supabase login is connected.
Migration statusSync-ready model
The demo keeps profile, token, cost, and habit data in one exportable shape so it can move
into a real account later.
Internal QAPortable snapshot
Copy the local profile payload for debugging before cloud sync is enabled.
Ready
Account safety hubAccount safety hub not built yet.
Gather the export receipt, recovery timeline, and account controls into one plain review before any
real login, support request, hosted write, billing action, or local clear exists.
This is local-only. It does not sign in, upload, send support, bill, sync, clear local data,
call Supabase, or run any public account action.
Account safety hub not built yet.
Data rights centerData rights review not built yet.
Show the user what can be exported, what a future delete-account request must remove, and what remains
blocked before real cloud accounts exist.
This is a local review only. It does not delete local data, call Supabase, or remove any account.
Action lockBuild review before any account action
Proof still needed before delete, support, billing, attach, sync, or local clear.
Data rights review not built yet.
Account recovery sealAccount recovery seal not built yet.
Prove the local profile has a restorable export package before account attach, cloud upload,
or local clear can ever be trusted.
This is local-only. It does not sign in, upload, email support, bill, register a device,
call AI, post publicly, or clear local data.
Account recovery seal not built yet.
Recovery drillAccount recovery drill not run yet.
Dry-run inspect the recovery packet and prove the current local profile is unchanged before any
future attach, restore, upload, or clear path is trusted.
This is local-only. It does not restore, sign in, upload, read hosted rows, write hosted rows,
email support, bill, register a device, call AI, post publicly, or clear local data.
Account recovery drill not run yet.
Restore preview gateRestore preview not built yet.
Turn the sealed recovery packet into a human-readable future restore plan before any real restore,
attach, upload, or local clear path exists.
This is preview-only. It does not restore local data, replace state, sign in, read hosted rows,
write hosted rows, upload records, bill, notify devices, call AI, post publicly, or clear local data.
Restore preview not built yet.
Failure simulatorFailure simulator not run yet.
Rehearse account attach failed, hosted readback mismatch, restore-needed, and too-early clear paths
before real accounts exist.
This is local-only. It does not attach, restore, read hosted rows, write hosted rows, upload records,
send support, bill, notify devices, call AI, post publicly, or clear local data.
Failure simulator not run yet.
Support packetSupport packet not built yet.
Prepare a redacted, user-copyable support packet for future attach, readback, restore, or recovery
issues without sending anything.
This is local-only. It does not open email, submit a ticket, upload files, attach accounts, restore,
read hosted rows, write hosted rows, bill, notify devices, call AI, post publicly, or clear local data.
Support packet not built yet.
Readiness timelineRecovery readiness timeline not built yet.
Summarize the full local recovery chain in one readable timeline: export, seal, drill, restore
preview, failure simulator, support packet, and the still-blocked launch gates.
This is local-only. It does not attach accounts, restore data, open support, upload files, read hosted
rows, write hosted rows, bill, notify devices, call AI, post publicly, or clear local data.
Recovery readiness timeline not built yet.
Support + privacySupport/privacy review not built yet.
Review official country quit-support resources and the privacy-policy skeleton before any public launch,
account attach, billing, or cloud upload work is enabled.
Support and privacy URLs are drafts here. They must be published and manually reviewed before Apple or Google submission.
Auth setup runbookAuth setup runbook not built yet.
Build the exact Supabase Auth setup checklist before live email, Google, Apple, account attach,
or profile upload work is enabled.
This is local-only. It does not send magic links, start OAuth, exchange codes, create accounts,
upload profiles, or clear local data.
Auth setup runbook not built yet.
Real auth activation gateReal auth activation gate not built yet.
Prove the exact conditions required before email, Google, Apple, account attach, or device sync
can move from sandbox planning to live sign-in.
This is local-only. It does not send email, start OAuth, exchange codes, create users,
attach profiles, upload records, clear local data, or update Supabase settings.
Real auth activation gate not built yet.
Hosted auth switch gateHosted auth switch gate not built yet.
Review the future switches that will allow hosted email, Google, Apple, callback exchange,
session checks, and profile attach to move from local planning into hosted QA.
This is local-only. It does not change environment settings, send auth calls, exchange codes,
create users, write database rows, attach profiles, or clear local data.
Hosted auth switch gate not built yet.
Auth session matrixAuth session matrix not run yet.
Map every account-session state before real hosted auth is connected: no config, client not loaded,
signed out, session found, expired session, attach blocked, hosted switch separation, and no side effects.
This is local-only. It does not call Supabase, check a live session, start sign-in, exchange codes,
upload profiles, create rows, clear local data, or change config.
Auth session matrix not run yet.
Account controls gateAccount controls gate not run yet.
Consolidate the account controls that must exist before public launch: export, delete account,
sign out, delete local demo data, privacy URL, support URL, recovery path, and attach consent.
This is local-only. It does not sign out, delete accounts, clear local data, publish pages,
contact support, submit store metadata, upload profiles, or call Supabase.
Account controls gate not run yet.
Real auth execution planReal auth execution plan not built yet.
Define the exact order for turning on real Supabase auth: hosted setup, email first,
callback/session verification, attach still blocked, then Google and Apple only after proof.
This is local-only. It does not change env settings, send email, start OAuth, exchange codes,
check a live session, upload profiles, enable billing, register devices, or clear local data.
Real auth execution plan not built yet.
Store submission gateStore submission gate not built yet.
Review Apple App Store and Google Play blockers before privacy, support, auth, billing,
screenshots, or native packaging are treated as submission-ready.
This is local-only. It does not submit metadata, upload builds, publish pages, start billing,
send auth calls, or contact Apple/Google.
Store submission gate not built yet.
Mobile packaging gateMobile packaging gate not built yet.
Review what is ready for PWA packaging and what still blocks real iOS and Android builds:
bundle IDs, Android application ID, deep links, push tokens, icons, screenshots, and store accounts.
This is local-only. It does not create native projects, sign builds, upload binaries,
register app identifiers, or contact Apple/Google/Expo.
Mobile packaging gate not built yet.
Domain launch gateDomain launch gate not built yet.
Review the public URL map before domain purchase, DNS, auth callbacks, privacy, legal, support,
account, billing publishing, store metadata, email sender setup, or brand clearance are treated as ready.
This is local-only. It does not buy a domain, change DNS, publish pages, file marks,
update store metadata, send email, or contact registrars.
Domain launch gate not built yet.
Cloud sync readiness
Prepare Supabase without exposing secret keys.
Local only
ConfigNot configured
Auth clientNot loaded
Next stepCreate Supabase project later.
Supabase connection QAConnection QA not run yet.
Check config validation, secret boundaries, client loading, session gates, redirect safety,
and upload blockers before any real sign-in is wired.
Connection QA not run yet.
Supabase owner setup assistantSupabase owner setup assistant not built yet.
Build the founder checklist for the real Supabase project: what Tanveer copies, where it comes from,
where it is pasted later, and which actions stay manual before any hosted auth test.
This is local-only. It does not create a project, save credentials, update Supabase, run SQL,
load the client, send auth calls, upload data, enable billing, register devices, or clear local data.
Supabase owner setup assistant not built yet.
Supabase SQL setup packetSupabase SQL setup packet not built yet.
Prepare the manual SQL execution packet for the real Supabase SQL editor: schema first,
RLS second, then contract QA before any hosted auth or profile upload is allowed.
Codex owns the code, QA, tracker, GitHub, and Vercel updates. Tanveer only runs the schema/RLS SQL
manually inside his own Supabase dashboard when this gate says it is time.
This is local-only. It does not run SQL, create tables, enable RLS, save credentials,
update Supabase, load the client, send auth calls, read/write hosted rows, enable billing,
register devices, or clear local data.
Supabase SQL setup packet not built yet.
Supabase SQL file integrity preflightSupabase SQL file integrity preflight not built yet.
Check the local SQL file plan before Tanveer touches Supabase: schema file, RLS file,
read-only verification file, 42-table inventory, and the Node QA contract that parses the real files.
This is local-only. It does not read Supabase, run SQL, create tables, enable RLS, accept proof,
load auth, write data, upload files, enable billing, sync real users, or clear local data.
Supabase SQL file integrity preflight not built yet.
Supabase owner SQL run readinessSupabase owner SQL run readiness not built yet.
Final handoff before Tanveer runs SQL manually: Codex handles code, QA, tracker, GitHub, and Vercel;
Tanveer can use the optional one-paste SQL bundle or separate schema/RLS files inside his own Supabase dashboard when this gate is green.
Simple path: open the SQL bundle, copy it into Supabase SQL Editor, run it once, then send back only
the proof values. Do not send private keys, passwords, tokens, payment secrets, or customer data.
This is still local-only. It does not inspect Supabase, run SQL, accept schema/RLS as verified,
load auth, write data, upload files, enable billing, sync real users, or clear local data.
Open SQL bundle only shows the one-paste file Tanveer can copy into Supabase SQL Editor. It does not run SQL, save secrets, or unlock live auth/writes.
Supabase owner SQL run readiness not built yet.
Supabase manual verification packetSupabase manual verification packet not built yet.
Prepare the checklist Tanveer uses after running SQL manually: table inventory, RLS proof,
catalog-read proof, owner-scope proof, and no-clear blockers before hosted auth or sync can be trusted.
The packet now points to a read-only verification SQL file, so the proof step checks tables and
RLS without unlocking login, writes, uploads, billing, or real sync.
This is local-only. It does not inspect Supabase, run SQL, read hosted rows, write hosted rows,
load the client, send auth calls, upload profiles, enable billing, register devices, or clear local data.
Supabase manual verification packet not built yet.
Supabase evidence review sandboxEvidence review sandbox not run yet.
Paste the non-secret proof values from the owner evidence handoff. This checks the format locally
without trusting the database, saving secrets, loading Supabase, or enabling live accounts.
Even when every number matches, this stays a review sandbox: hosted config, auth, database writes,
uploads, billing, real sync, and local clear remain blocked.
Open proof template only shows the non-secret paste-back checklist. Load sample proof is demo-only for local QA. It does not inspect Supabase, run SQL, save secrets, or unlock live auth/writes.
Evidence review sandbox not run yet.
Callback allowlist evidence reviewCallback allowlist evidence not reviewed yet.
Paste Tanveer's yes/no callback allowlist proof after he sets Supabase URL Configuration.
This checks only the proof shape and secret boundary. It does not send email, exchange a callback,
check a session, or unlock live accounts.
Public Supabase Auth settings cannot prove dashboard allowlist values. Use only yes/no evidence from
supabase/callback-allowlist-evidence-template.txt.
Sample proof is demo-only for QA. Even if every value is yes, this only queues the one owner-approved
hosted email/callback/session proof; it does not approve production auth.
Callback allowlist evidence not reviewed yet.
Hosted config checklistHosted config checklist not built yet.
Build the exact hosted environment packet for Supabase URL, public anon key, auth callbacks,
default-off switches, and owner dashboard tasks before live email sign-in can be tested.
This is local-only. It does not write environment variables, update Supabase, load the client,
send auth calls, run SQL, upload profiles, enable billing, or register devices.
Hosted config checklist not built yet.
Hosted config activation guardHosted config activation guard not built yet.
Guard the moment real Supabase URL and public anon key are saved. Config can become reviewable,
but client load, auth, reads, writes, billing, devices, and local clear must stay manual.
This is local-only. It does not save new config, load Supabase, check a session, send auth calls,
read hosted rows, write hosted rows, upload profiles, enable billing, or register devices.
Hosted config activation guard not built yet.
Hosted owner handoff gateHosted owner handoff gate not built yet.
Turn the real Supabase setup into a simple founder checklist: exact fields to collect,
dashboard settings to confirm, and switches that must stay off before hosted QA.
This is local-only. It does not save credentials, update Supabase, send email,
load the client, check sessions, write hosted rows, enable billing, or clear local data.
Hosted owner handoff gate not built yet.
Hosted QA activation packetHosted QA activation packet not built yet.
Prepare the exact owner packet for real Supabase credentials: public env values, switch order,
hosted callback URL, and the first email magic-link test steps.
This is local-only. It does not write environment variables, load Supabase, send email,
check sessions, write hosted rows, enable billing, register devices, or clear local data.
Hosted QA activation packet not built yet.
Supabase setup sequence lockSupabase setup sequence lock not built yet.
Lock the full local-only setup order: Connection QA, Owner Setup, SQL Setup, SQL File Integrity,
Owner SQL Run Readiness, Manual Verification, Hosted Config, Config Activation, Owner Handoff,
and Hosted QA Packet.
This is local-only. It does not inspect Supabase, save credentials, run SQL, load the client,
send auth calls, check sessions, read/write hosted rows, upload profiles, enable billing,
register devices, or clear local data.
Supabase setup sequence lock not built yet.
Auth v2 readiness
Plan sign-in before we upload any quit data.
Blocked
Real sign-in is disabled until Supabase config and the browser client are connected.
ClientNot loaded
Supabase browser client must exist before any real session can be checked.
SessionUnchecked
No account session has been checked yet.
User idNo user
Upload stays blocked until a real Supabase user id exists.
Auth return handlerReturn handler QA not run yet.
Review what happens after a magic-link or OAuth return. QuitMap must detect the return,
require a session check, and keep migration blocked until a real user id is confirmed.
Return handler QA not run yet.
Provider sandboxNo sign-in plan built yet.
Build a local-only contract for email, Google, or Apple sign-in. This does not send magic links,
redirect OAuth, create users, or upload quit data.
Build a provider plan from one of the sign-in buttons above.
Email magic-link guardEmail guard not run yet.
Review the future email sign-in executor. It must stay blocked until config, client,
redirect, email, and manual switch gates are ready.
Email guard not run yet.
Hosted email auth QAHosted email auth QA plan not built yet.
Build the first hosted provider test plan for email magic links, using the hosted config packet,
email guard, return handler, signed-out start rule, and downstream upload blockers.
This is local-only. It does not send a magic link, exchange a callback, create a user,
upload a profile, enable billing, register a device, or clear local data.
Hosted email auth QA plan not built yet.
Hosted email proof evidenceHosted email proof evidence not reviewed yet.
Paste the non-secret yes/no evidence after the one owner-approved hosted email,
callback, and session proof. This checks proof shape only, then keeps auth rollout blocked.
This is local-only. It does not send email, open an email link, exchange a callback,
check a session, read or write hosted rows, upload, bill, push, call AI, sync, or clear local data.
Sample proof is demo-only for QA. Even if every value is yes, this panel cannot verify a real session
or unlock account attach, hosted writes, billing, push, AI, sync, native/store launch, or local clear.
Hosted email proof evidence not reviewed yet.
Hosted session proof evidenceHosted session proof evidence not reviewed yet.
Paste the non-secret yes/no session evidence after the hosted email proof review. This checks proof shape only,
then keeps account attach and hosted data blocked.
This is local-only. It does not check a live session, read or write hosted rows, attach an account,
upload, bill, push, call AI, sync, or clear local data.
Do not paste tokens, magic links, account rows, raw smoking logs, screenshots, or customer data.
Sample proof is demo-only for QA. Even if every value is yes, this panel cannot approve account attach,
hosted reads, hosted writes, billing, push, AI, sync, native/store launch, or local clear.
Hosted session proof evidence not reviewed yet.
Hosted session proof gateHosted session proof gate not built yet.
Define the exact `getSession()` proof required after a hosted email callback returns, before
account attach, profile upload, billing, or device registration can move forward.
This is local-only. It does not check a live session, create a user, upload a profile,
enable billing, register a device, or clear local data.
Hosted session proof gate not built yet.
Hosted attach handoff gateHosted attach handoff gate not built yet.
Bridge hosted session proof to the local migration payload. It maps identity matching,
conflict handling, abort rules, and upload blockers before any real account attach.
This is local-only. It does not attach an account, write rows, upload a profile,
enable billing, register a device, or clear local data.
Hosted attach handoff gate not built yet.
Hosted profile write gateHosted profile write gate not built yet.
Define the first allowed Supabase write contract: migration batch first, profile upsert second,
RLS owner match, idempotent retry, readback proof, and local recovery.
This is local-only. It does not call Supabase, insert a migration batch, upsert a profile,
enable billing, register a device, or clear local data.
Hosted profile write gate not built yet.
Hosted profile write execution bridgeHosted profile write execution bridge not built yet.
Bridge the approved attach handoff to the first real hosted profile write. It locks the guarded
profile-write executor, owner-scoped migration batch, profile bridge row, and readback blocker.
This is local-only. It does not check a live session, insert a migration batch, upsert a profile,
write hosted rows, enable billing, register a device, or clear local data.
Hosted profile write execution bridge not built yet.
Hosted first write readback bridgeHosted first write readback bridge not built yet.
Define the proof packet immediately after the first future migration batch and profile write.
It locks the session owner, batch status, profile row match, and secondary-row blocker.
This is local-only. It does not check a live session, read hosted rows, write hosted rows,
enable billing, register a device, or clear local data.
Hosted first write readback bridge not built yet.
Hosted data row order gateHosted data row order gate not built yet.
Define the remaining hosted migration row order after the profile write: plan rows,
token events, receipts, Body Load, substitution alerts, notifications, and billing skip rules.
This is local-only. It does not call Supabase, write secondary rows, enable billing,
register a device, or clear local data.
Hosted data row order gate not built yet.
Hosted secondary row execution bridgeHosted secondary row execution bridge not built yet.
Bridge the approved row order to the first future secondary-row migration. It locks allowed
tables, duplicate keys, owner scope, row-count proof, and billing/device exclusions.
This is local-only. It does not write secondary rows, update billing, register devices,
run readback, or clear local data.
Hosted secondary row execution bridge not built yet.
Hosted secondary row readback bridgeHosted secondary row readback bridge not built yet.
Bridge the future secondary-row migration to signed-in verification before the batch can be
considered complete. It locks row counts, duplicate-key lookups, notification responses, and export proof.
This is local-only. It does not read hosted rows, update migration completion, enable billing,
register devices, or clear local data.
Hosted secondary row readback bridge not built yet.
Cross-Habit readback gateCross-Habit readback gate not built yet.
Prove future signed-in readback must match Cross-Habit rolling confidence, sample count,
history length, and Body Load rows before local recovery data can ever be cleared.
This is local-only. It does not call Supabase, read hosted rows, write hosted rows,
enable billing, register a device, call AI, post publicly, or clear local data.
Cross-Habit readback gate not built yet.
Hosted readback verification gateHosted readback verification gate not built yet.
Define the signed-in readback proof required after future hosted writes: migration batch,
profile bridge, row counts, duplicate-key lookups, notification responses, and export match.
This is local-only. It does not call Supabase, read hosted rows, write hosted rows,
enable billing, register a device, or clear local data.
Hosted readback verification gate not built yet.
Hosted migration batch completion guardHosted migration batch completion guard not built yet.
Lock the future moment where a migration batch can be marked complete. Completion must wait for
signed-in readback, secondary-row readback, export proof, owner scope, and matching row counts.
This is local-only. It does not update migration status, read hosted rows, write hosted rows,
enable billing, register a device, or clear local data.
Hosted migration batch completion guard not built yet.
Local data clear protection gateLocal data clear protection gate not built yet.
Lock the scary step after hosted readback: export first, verify signed-in rows, match row counts,
require typed confirmation, and keep local recovery data until everything checks out.
This is local-only. It does not erase local data, remove browser storage, call Supabase,
send support requests, enable billing, or register a device.
Local data clear protection gate not built yet.
Hosted read-only probe gateHosted read-only probe gate not built yet.
Define the first safe hosted check after real config: session proof plus read-only profile
and migration-batch lookups, with every write path still disabled.
This is local-only. It does not call Supabase, run SELECT queries, insert rows,
update records, delete data, enable billing, register a device, or clear local data.
Hosted read-only probe gate not built yet.
Hosted auth execution bridgeHosted auth execution bridge not built yet.
Bridge the local plan to the first real hosted email magic-link test. It locks the exact
signInWithOtp call, redirect boundary, owner switch, and downstream blockers.
This is local-only. It does not send email, exchange a callback, check a live session,
read hosted rows, write hosted rows, upload a profile, enable billing, register a device,
or clear local data.
Hosted auth execution bridge not built yet.
Hosted return execution bridgeHosted return execution bridge not built yet.
Bridge the first real magic-link callback to session proof. It locks the exact callback
exchange, manual owner switch, safe return URL, and downstream no-upload boundary.
This is local-only. It does not exchange a callback, check a live session, read hosted rows,
write hosted rows, upload a profile, enable billing, register a device, or clear local data.
Hosted return execution bridge not built yet.
Hosted read-only execution bridgeHosted read-only execution bridge not built yet.
Bridge the hosted auth return to the first real account lookup. It locks the guarded read-only
executor, owner profile id, count-only reads, and no-write boundary.
This is local-only. It does not exchange a callback, check a live session, read hosted rows,
write hosted rows, upload a profile, enable billing, register a device, or clear local data.
Hosted read-only execution bridge not built yet.
Hosted read-only proof evidenceHosted read-only proof evidence not reviewed yet.
Paste the non-secret yes/no read-only evidence after the owner read-only proof. This checks proof shape only,
then keeps account attach and hosted writes blocked.
This is local-only. It does not check a live session, run hosted SELECTs, expose account rows,
write hosted rows, attach an account, upload, bill, push, call AI, sync, or clear local data.
Sample proof is demo-only for QA. Even if every value is yes, this panel cannot approve account attach,
hosted reads, hosted writes, billing, push, AI, sync, native/store launch, or local clear.
Paste the non-secret yes/no account-attach evidence after the owner account-attach proof. This checks proof shape only,
then keeps account attach, profile writes, and hosted writes blocked.
This is local-only. It does not check a live session, run hosted SELECTs, expose account rows,
write hosted rows, attach an account, upload, bill, push, call AI, sync, or clear local data.
Sample proof is demo-only for QA. Even if every value is yes, this panel cannot approve account attach,
profile writes, hosted writes, billing, push, AI, sync, native/store launch, or local clear.
Hosted account attach proof evidence not reviewed yet.
Provider QAProvider QA not run yet.
Check email, Google, and Apple sign-in contracts together before any live provider call is allowed.
Provider QA not run yet.
Migration preview
What will move into the account.
Preview only
Privacy + safetySafety gate not run yet.
QuitMap is a self-awareness and planning tool, not medical advice. Local demo data stays on this
device until a user explicitly attaches it to an account.
Support resources: official country help links must be sourced before public launch. Alcohol safety:
QuitMap watches substitution only; it does not provide detox instructions.
Safety gate not run yet.
Account attach reviewAttach review not built yet.
Before a local profile ever attaches to a real account, QuitMap must show the user exactly what will
move, what identity will own it, what stays local, and what controls remain blocked.
This review is local only. It does not sign in, upload, clear local data, or create a cloud profile.
Attach review not built yet.
Consent preflightReview before account attach.
Build attach review before opening consent preflight.
Consent preflight not built yet.
Dry-run payloadPayload not built yet.
Build the exact local-to-Supabase payload for QA. This does not sign in, upload, or call the database.
No payload built yet.
Rolling migration gateRolling migration gate not run yet.
Prove the dry-run preserves seven-day Body Load rows and Cross-Habit confidence before any hosted sync is allowed.
Rolling migration gate not run yet.
Upload sandboxNo upload plan built yet.
Simulate the future cloud-write sequence, blockers, duplicate guards, and rollback plan before we allow any real upload code.
No upload plan built yet.
Execution guardNo execution guard run yet.
Run a final no-network gate report before any future uploader exists. This proves live writes are still blocked.
No execution guard run yet.
Guard matrixGuard matrix not run yet.
Stress-test upload safety across no-plan, signed-out, fake-auth, switch, stale, and no-uploader scenarios.
Guard matrix not run yet.
Consent guardConsent guard not run yet.
Review the final human-consent gate. QuitMap must show what will move, preserve local data,
and block migration until a real user chooses to attach the profile.
Select a plan to preview monthly access or the one-time recovery price from your Return Home estimate.
Preview controlsEntitlementPlus preview
Payment providers are not connected. This is local gate logic for QA.
Billing provider gateBilling provider gate not built yet.
Review country rates, estimated recovery-time price formula, product IDs, entitlement rules, receipt validation,
cancellation paths, and provider blockers before real paid access exists.
This is local-only. It does not open checkout, start an in-app purchase, create products,
charge users, write entitlement rows, or contact Stripe/Apple/Google.
Billing provider gate not built yet.
Local history
Your last 7 days
No saved days yet
Recovery changeLog today to see what changed.
QuitMap will show the reason in plain words, without asking you to understand the math.
One honest log
Today's estimate--
Based on today so far.
7-day estimateBuilding
Keep logging for a stronger estimate.
Missing-day checkQuitMap will not guess.
Choose one: enter each day, use the same average, mark no smoking, or keep them unknown. QuitMap confirms before the estimate changes.
Before estimate changesReview each day or choose a safe option.
0 days ready
Known or estimated days count only after you confirm.
0 days unknown
Unknown days stay out of the 7-day estimate.
Unknown days are excluded from the 7-day estimate, not counted as zero. QuitMap asks for confirmation before anything changes.
Unknown days never count as zero. You can edit saved days later.