Raxx · internal docs

internal · gated

Funnel copy inventory (appendix A to the attorney review packet for #4835)

Status: research-only. This document does NOT constitute legal advice. It is an inventory of customer-facing strings, prepared for review by a securities/investment-adviser regulatory attorney and a consumer-protection (advertising and subscription billing) attorney; the privacy rows also need a privacy attorney. Last updated: 2026-10-31 UTC. Snapshot: origin/develop at 78b417d24. Verify freshness with the staleness check in the main packet.

Main packet: docs/legal/research/funnel-and-tools-copy-attorney-packet-2026-10-31.md. Tools appendix: docs/legal/research/tools-copy-inventory-2026-10-31.md.

How this inventory was produced

Counts

Prefix Group Rows
PRM Promise 24
QZ Quiz questions, options, buttons 60
QN Quiz notices 17
QW Quiz signed-in steps 14
QS Signup and sign-in hand-off 14
PLN Plan 38
PAY Paywall (web) 77 (78 listed; PAY-059 is the held string HELD-09 and is not counted)
CNF Confirmation 81
SET Settings: Setup answers 46
WIZ Wizard inline 12
RSK Risk profile (existing) 8
IOS iOS paywall 71
PRV Privacy policy rows 8
EML Trial reminder email (pre-staged) 7
BIL Billing notices (pre-staged) 3
HELD Held (not rendered) 9

Rendered or pre-staged rows (excluding HELD): 480. The journal line HELD-09 is also listed in group A7 as PAY-059, in the position where the paywall code keeps it. That row is marked HELD in the row itself and is excluded from this count and from the mechanical scan in the main packet (section 4.1). Some rows summarize a family of strings (for example the iOS "terms" rows and the email HTML), so the row count is a lower bound on distinct sentences.

Held strings (not rendered)

These are tagged counsel-hold-4835 in code, are never imported by a component (only by tests that prove they do not render), and block onboarding_plan_v1 (Promise and Plan strings) until counsel clearance is recorded. The held wording of the Plan screen is a stand-in that names the category, not counsel's wording; see the main packet, section "Hold list".

ID File Key Held string Reason Rendered instead
HELD-01 lib/promise/promiseCopy.ts PROMISE_HELD_COPY.headline_know_your_edge Know your edge edge-as-a-promise wording Trade by your own rules.
HELD-02 lib/promise/promiseCopy.ts PROMISE_HELD_COPY.cta_build_my_plan Build my plan "your plan" framing Get started
HELD-03 lib/promise/promiseCopy.ts PROMISE_HELD_COPY.sub_plan_you_can_follow Raxx turns the rules you write into a plan you can follow and a record you can review. "a plan you can follow" framing Raxx keeps the rules you write in view when you trade, and keeps a record you can review afterwards.
HELD-04 lib/plan/planCopy.ts PLAN_HELD_COPY.plan_heading_your_plan Your plan "your plan" framing Your starting setup
HELD-05 lib/plan/planCopy.ts PLAN_HELD_COPY.plan_sub_plan_built_for_you Here is the plan built for you. "your plan" framing Built from the answers you gave. Nothing here is a recommendation. You can change any of it later in Settings.
HELD-06 lib/plan/planCopy.ts PLAN_HELD_COPY.plan_habit_leak_to_rule The leak this rule closes leak-to-rule mapping (habit to rule copy) You chose to track:
HELD-07 lib/plan/planCopy.ts PLAN_HELD_COPY.plan_edge_statement Your edge, written down edge-as-a-promise wording How you trade
HELD-08 lib/plan/planCopy.ts PLAN_HELD_COPY.plan_goal_numeric_target Your monthly target numeric goal target Benchmark you set
HELD-09 lib/paywall/paywallCopy.ts PAYWALL_COPY.journalLine (gated by JOURNAL_LINE_CONFIRMED = false) Your journal and history always stay yours and stay viewable on Free. retention claim held by the #4821 audit (PR #4884), not a counsel hold; listed so counsel sees it; also listed in group A7 as PAY-059, marked HELD (nothing: the line is absent)

Inventory by surface

A1. Promise screen

ID Key String as shown Touches
PRM-001 PROMISE_COPY.metaTitle Get started — Raxx -
PRM-002 PROMISE_COPY.headline Trade by your own rules. G1
PRM-003 PROMISE_COPY.sub Raxx keeps the rules you write in view when you trade, and keeps a record you can review afterwards. -
PRM-004 PROMISE_COPY.cta.start Get started -
PRM-005 PROMISE_COPY.cta.continue Continue -
PRM-006 PROMISE_COPY.cta.pending Opening the questions -
PRM-007 PROMISE_COPY.cta.startOver Start over -
PRM-008 PROMISE_COPY.fine Free to start. Every question is optional. G7
PRM-009 PROMISE_COPY.saved.answers(1) You have 1 saved answer in this browser tab. G8
PRM-010 PROMISE_COPY.saved.answers(2) You have 2 saved answers in this browser tab. G8
PRM-011 PROMISE_COPY.saved.skippedOnly Your skipped questions use default settings in this browser tab. G8
PRM-012 PROMISE_COPY.header.homeLabel Raxx home -
PRM-013 PROMISE_COPY.header.signIn Sign in -
PRM-014 PROMISE_COPY.stepsLabel How it works -
PRM-015 PROMISE_COPY.steps[0].eyebrow Step 1 -
PRM-016 PROMISE_COPY.steps[0].title Write your rules G1
PRM-017 PROMISE_COPY.steps[0].body Choose the habit you want to track in your own trades. You enter every number. G1
PRM-018 PROMISE_COPY.steps[1].eyebrow Step 2 -
PRM-019 PROMISE_COPY.steps[1].title Trade with them in view -
PRM-020 PROMISE_COPY.steps[1].body Your rule shows as a reminder when you place an order. It never blocks or changes an order. G1, G5
PRM-021 PROMISE_COPY.steps[2].eyebrow Step 3 -
PRM-022 PROMISE_COPY.steps[2].title Review afterwards -
PRM-023 PROMISE_COPY.steps[2].body See how your recorded trades compare with your rule and benchmark, after the fact. G1, G2
PRM-024 PROMISE_COPY.copyright(2026) © 2026 MooseQuest LLC dba Raxx -

A2. Quiz: questions, options, buttons

ID Key String as shown Touches
QZ-001 QUIZ_COPY.questions.instruments.stem Which kinds of instruments do you trade? G4
QZ-002 QUIZ_COPY.questions.instruments.hint Choose all that apply. Raxx lists only what it supports today. -
QZ-003 QUIZ_COPY.questions.instruments.stepName Instruments G4
QZ-004 QUIZ_COPY.questions.experience.stem How long have you been trading? -
QZ-005 QUIZ_COPY.questions.experience.stepName Experience -
QZ-006 QUIZ_COPY.questions.style.stem How long do you usually hold a position? -
QZ-007 QUIZ_COPY.questions.style.stepName Style -
QZ-008 QUIZ_COPY.questions.habit.stem Which habit would you most like to track in your own trades? G1
QZ-009 QUIZ_COPY.questions.habit.hint Pick one. It stays your choice: Raxx records it and never judges it. G1
QZ-010 QUIZ_COPY.questions.habit.stepName Habit G1
QZ-011 QUIZ_COPY.questions.goal.stem Is there a number you want to compare your results with, after the fact? G1, G2
QZ-012 QUIZ_COPY.questions.goal.hint Optional. A number you choose. Raxx shows how your recorded results compare with it, after the fact. G1, G2
QZ-013 QUIZ_COPY.questions.goal.stepName Benchmark G1
QZ-014 QUIZ_COPY.options.instruments.us_equity.title US stocks and ETFs G4
QZ-015 QUIZ_COPY.options.instruments.us_equity.desc Shares you buy and sell -
QZ-016 QUIZ_COPY.options.instruments.option.title Options G4
QZ-017 QUIZ_COPY.options.instruments.option.desc Calls, puts and multi-leg structures -
QZ-018 QUIZ_COPY.options.experience.just_starting.title Just starting out -
QZ-019 QUIZ_COPY.options.experience.under_1y.title Less than 1 year -
QZ-020 QUIZ_COPY.options.experience.1_to_3y.title 1 to 3 years -
QZ-021 QUIZ_COPY.options.experience.over_3y.title More than 3 years -
QZ-022 QUIZ_COPY.options.experience.not_sure.title Not sure yet -
QZ-023 QUIZ_COPY.options.style.intraday.title Intraday -
QZ-024 QUIZ_COPY.options.style.intraday.desc Opened and closed the same day -
QZ-025 QUIZ_COPY.options.style.swing.title Swing -
QZ-026 QUIZ_COPY.options.style.swing.desc Held for days to weeks -
QZ-027 QUIZ_COPY.options.style.position.title Position -
QZ-028 QUIZ_COPY.options.style.position.desc Held for weeks to months -
QZ-029 QUIZ_COPY.options.style.long_term.title Long term -
QZ-030 QUIZ_COPY.options.style.long_term.desc Held for months to years -
QZ-031 QUIZ_COPY.options.style.not_sure.title Not sure yet -
QZ-032 QUIZ_COPY.options.habit.position_sizing.title How much I put into each position G1
QZ-033 QUIZ_COPY.options.habit.exit_rules.title When and how I exit G1
QZ-034 QUIZ_COPY.options.habit.entry_timing.title When I enter G1
QZ-035 QUIZ_COPY.options.habit.trade_frequency.title How often I trade G1
QZ-036 QUIZ_COPY.options.habit.rule_adherence.title Whether I follow my own rules G1
QZ-037 QUIZ_COPY.options.habit.not_sure.title Not sure yet G1
QZ-038 QUIZ_COPY.goal.numberLabel Benchmark G1
QZ-039 QUIZ_COPY.goal.unitLabel Unit G1
QZ-040 QUIZ_COPY.goal.unitPlaceholder Choose a unit G1
QZ-041 QUIZ_COPY.goal.units.pct_month percent per month G1, G7
QZ-042 QUIZ_COPY.goal.units.pct_year percent per year G1, G7
QZ-043 QUIZ_COPY.goal.units.usd_month dollars per month G1, G7
QZ-044 QUIZ_COPY.goal.units.usd_year dollars per year G1, G7
QZ-045 QUIZ_COPY.goal.numberError Enter a number greater than zero. G1
QZ-046 QUIZ_COPY.goal.unitError Choose a unit for your number. G1
QZ-047 QUIZ_COPY.nav.back Back -
QZ-048 QUIZ_COPY.nav.progressGroup Quiz progress -
QZ-049 QUIZ_COPY.nav.next Next -
QZ-050 QUIZ_COPY.nav.skipQuestion Skip question -
QZ-051 QUIZ_COPY.nav.seeSetup See starting setup -
QZ-052 QUIZ_COPY.nav.skipAndSeeSetup Skip and see setup -
QZ-053 QUIZ_COPY.nav.createAccount Create account -
QZ-054 QUIZ_COPY.nav.skipAndCreateAccount Skip and create account -
QZ-055 QUIZ_COPY.nav.finish Finish -
QZ-056 QUIZ_COPY.nav.skipAndFinish Skip and finish -
QZ-057 QUIZ_COPY.nav.skipAll Skip all questions -
QZ-058 QUIZ_COPY.nav.skipAllMeaning Uses default settings. Answers you have already given are kept. -
QZ-059 QUIZ_COPY.nav.saving Saving -
QZ-060 QUIZ_COPY.defaultSetting Default setting - change anytime. -
ID Key String as shown Touches
QN-001 QUIZ_COPY.noticeFull.title How your answers are used -
QN-002 QUIZ_COPY.noticeFull.body Every question is optional. Your answers are held in this browser tab until you create an account or close the tab. If you have allowed analytics, Raxx also records which options you choose, but never a number you type. After you create an account they are stored on your profile, where you can change or delete them in Settings. Deleting your account removes them. G4, G8
QN-003 QUIZ_COPY.noticeFull.link Read the privacy policy G8
QN-004 QUIZ_COPY.noticeSignedInFull.title How your answers are used -
QN-005 QUIZ_COPY.noticeSignedInFull.body Every question is optional. Your answers are stored on your profile, where you can change or delete them in Settings. If you have allowed analytics, Raxx also records which options you choose, but never a number you type. Deleting your account removes them. G4, G8
QN-006 QUIZ_COPY.noticeSignedInFull.link Read the privacy policy G8
QN-007 QUIZ_COPY.noticeLine.text Held in this browser tab until you create an account. G8
QN-008 QUIZ_COPY.noticeLine.link Privacy policy G8
QN-009 QUIZ_COPY.noticeSignedIn.text Stored on your profile. Deleting your account removes them. G8
QN-010 QUIZ_COPY.noticeSignedIn.link Privacy policy G8
QN-011 QUIZ_COPY.resume.title Picking up where you left off. -
QN-012 QUIZ_COPY.resume.answers(1) 1 answer is saved in this tab. G8
QN-013 QUIZ_COPY.resume.answers(2) 2 answers are saved in this tab. G8
QN-014 QUIZ_COPY.resume.skippedOnly Your skipped questions use default settings. -
QN-015 QUIZ_COPY.resume.startOver Start over -
QN-016 QUIZ_COPY.storageBlocked.title This browser is not keeping answers. G8
QN-017 QUIZ_COPY.storageBlocked.body They stay on this page until you create an account or leave it. You can still answer, skip, or continue. -

A4. Quiz: signed-in steps (inside the onboarding wizard)

ID Key String as shown Touches
QW-001 QUIZ_COPY.wizard.welcomeSub A few short questions set up your starting preferences. Every one is optional. -
QW-002 QUIZ_COPY.signedIn.pageTitle Setup questions -
QW-003 QUIZ_COPY.signedIn.loadingLabel Loading your saved answers G8
QW-004 QUIZ_COPY.signedIn.loadErrorTitle Your saved answers could not be loaded. G8
QW-005 QUIZ_COPY.signedIn.loadErrorBody Nothing was changed. Try again, or continue with default settings. -
QW-006 QUIZ_COPY.signedIn.continueDefaults Continue with default settings -
QW-007 QUIZ_COPY.signedIn.answerNotSavedTitle That answer did not save. G8
QW-008 QUIZ_COPY.signedIn.answerNotSavedBody Your answers are kept on this page. Try again, or continue. -
QW-009 QUIZ_COPY.signedIn.welcomeNotSavedTitle Your progress did not save. G8
QW-010 QUIZ_COPY.signedIn.welcomeNotSavedBody Try again, or continue. -
QW-011 QUIZ_COPY.signedIn.notSavedTitle Your setup is not saved yet. G8
QW-012 QUIZ_COPY.signedIn.notSavedBody Your answers are kept with your setup progress. Try again, or continue. -
QW-013 QUIZ_COPY.signedIn.tryAgain Try again -
QW-014 QUIZ_COPY.signedIn.continueAnyway Continue -

A5. Signup and sign-in hand-off notices

ID Key String as shown Touches
QS-001 QUIZ_COPY.signup.readyTitle Your answers are ready. -
QS-002 QUIZ_COPY.signup.readyBody They are held in this browser tab and stored on your profile once your account exists. G2, G8
QS-003 QUIZ_COPY.signup.noneTitle No saved answers found in this browser. G8
QS-004 QUIZ_COPY.signup.noneBody Your setup uses default settings. You can change it any time in Settings. -
QS-005 QUIZ_COPY.signup.privacyLink Privacy policy G8
QS-006 QUIZ_COPY.signup.passkeyLine Your answers stay in this tab while you finish. G8
QS-007 QUIZ_COPY.signup.saving Saving your setup to your profile... G8
QS-008 QUIZ_COPY.signup.failedTitle Your setup is not saved yet. G8
QS-009 QUIZ_COPY.signup.failedBody Your answers are still in this tab. Try again, or continue. Continuing keeps them here until they are saved. G8
QS-010 QUIZ_COPY.signup.tryAgain Try again -
QS-011 QUIZ_COPY.signup.continueAnyway Continue -
QS-012 QUIZ_COPY.login.title You have answers saved in this tab. G8
QS-013 QUIZ_COPY.login.body Signing in keeps this account's own saved answers and clears the ones held here. Nothing is overwritten. G8
QS-014 QUIZ_COPY.login.createdHereBody Signing in to the account you just created stores them on its profile. Signing in to any other account clears them. G8

A6. Plan screen ("Your starting setup")

ID Key String as shown Touches
PLN-001 PLAN_COPY.metaTitle Your starting setup — Raxx -
PLN-002 PLAN_COPY.title Your starting setup -
PLN-003 PLAN_COPY.sub Built from the answers you gave. Nothing here is a recommendation. You can change any of it later in Settings. G5, G9
PLN-004 PLAN_COPY.back Back to questions -
PLN-005 PLAN_COPY.sections.instruments Instruments G4
PLN-006 PLAN_COPY.sections.howYouTrade How you trade -
PLN-007 PLAN_COPY.sections.journal Journal prompt -
PLN-008 PLAN_COPY.sections.habit Habit you chose to track G1
PLN-009 PLAN_COPY.sections.pinned Pinned to your dashboard -
PLN-010 PLAN_COPY.rows.experience Experience -
PLN-011 PLAN_COPY.rows.style Style -
PLN-012 PLAN_COPY.notAnswered Not answered yet. -
PLN-013 PLAN_COPY.defaultSetting Default setting - change anytime. -
PLN-014 PLAN_COPY.journal.templates.intraday At the end of each day, record the trades you closed and whether each matched your own rule. G1
PLN-015 PLAN_COPY.journal.templates.swing When you close a position, record how long you held it and whether it matched your own rule. G1, G8
PLN-016 PLAN_COPY.journal.templates.position Each week, review the positions you hold and record any changes you made and why. -
PLN-017 PLAN_COPY.journal.templates.long_term Each month, review the positions you hold and record any changes you made and why. -
PLN-018 PLAN_COPY.journal.templates.not_sure After you close a trade, record what you did and whether it matched your own rule. G1
PLN-019 PLAN_COPY.journal.note Chosen from your style answer. -
PLN-020 PLAN_COPY.habit.chose You chose to track: G1
PLN-021 PLAN_COPY.habit.notSure Not sure yet. G1
PLN-022 PLAN_COPY.benchmark.label Benchmark you set G1
PLN-023 PLAN_COPY.benchmark.compare How your results compare to the benchmark you set, after the fact. No trades are recorded yet, so there is nothing to compare. The comparison appears here once trades are recorded. G1, G2
PLN-024 PLAN_COPY.actions.createAccount Create account -
PLN-025 PLAN_COPY.actions.editAnswers Edit answers -
PLN-026 PLAN_COPY.stored.line Your answers are stored on your profile when you create an account. G8
PLN-027 PLAN_COPY.stored.privacyLink Privacy policy G8
PLN-028 PLAN_COPY.signIn.prompt Have an account? -
PLN-029 PLAN_COPY.signIn.link Sign in -
PLN-030 PLAN_COPY.signIn.after Signing in keeps that account's saved answers. G8
PLN-031 PLAN_COPY.empty.sub You have not answered any questions yet, so there is nothing to show here. -
PLN-032 PLAN_COPY.empty.answer Answer the questions -
PLN-033 PLAN_COPY.empty.continueDefaults Continue with default settings -
PLN-034 PLAN_COPY.loading.label Reading your answers from this tab G8
PLN-035 PLAN_COPY.unreadable.title Your saved answers could not be read. G8
PLN-036 PLAN_COPY.unreadable.body They may have been cleared or changed in this browser. Nothing was sent anywhere. G8
PLN-037 planModel.benchmarkLabel({value: 2.5, unit: "pct_month"}) -- shape of the echoed number 2.5 percent per month G1, G7
PLN-038 planModel.styleLabel("swing") -- label shape Swing: held for days to weeks -

A7. Paywall (web)

ID Key String as shown Touches
PAY-001 PAYWALL_COPY.metaTitle Choose a plan — Raxx G1p
PAY-002 PAYWALL_COPY.title Choose a plan G1p
PAY-003 PAYWALL_COPY.sub Choose a plan, or continue on Free. You can change this any time in Settings. G1p, G7
PAY-004 PAYWALL_COPY.homeLabel Raxx home -
PAY-005 PAYWALL_COPY.closeLabel Close and continue with Free G7
PAY-006 PAYWALL_COPY.planGroup Plan G1p
PAY-007 PAYWALL_COPY.billingGroup Billing G7
PAY-008 PAYWALL_COPY.monthly Monthly G7
PAY-009 PAYWALL_COPY.annual Annual G7
PAY-010 PAYWALL_COPY.annualSub() About 2 months free G7
PAY-011 PAYWALL_COPY.annualNote() Equal to 10 months of $39. About 2 months free. G7
PAY-012 PAYWALL_COPY.pro.name Pro G7
PAY-013 PAYWALL_COPY.pro.trialTag 7 days free G7
PAY-014 PAYWALL_COPY.pro.price("month").amount $39 G7
PAY-015 PAYWALL_COPY.pro.price("month").unit per month G7
PAY-016 PAYWALL_COPY.pro.price("year").amount $390 G7
PAY-017 PAYWALL_COPY.pro.price("year").unit per year G7
PAY-018 PAYWALL_COPY.pro.trialLabel Pro trial timeline G7
PAY-019 PAYWALL_COPY.pro.plainLabel Pro billing G7
PAY-020 PAYWALL_COPY.trialTimeline.todayLabel Today -
PAY-021 PAYWALL_COPY.trialTimeline.todayBody Pro features unlock. G2, G7
PAY-022 PAYWALL_COPY.trialTimeline.reminderLabel Day 5 -
PAY-023 PAYWALL_COPY.trialTimeline.reminderBody We email you before your trial ends. G7
PAY-024 PAYWALL_COPY.trialTimeline.chargeLabel Day 7 -
PAY-025 PAYWALL_COPY.trialTimeline.chargeBody("month") Pro begins at $39 per month. Renews monthly until canceled. G7
PAY-026 PAYWALL_COPY.trialTimeline.chargeBody("year") Pro begins at $390 per year. Renews yearly until canceled. G7
PAY-027 PAYWALL_COPY.plainPro("month") Pro begins today at $39 per month. Renews monthly until canceled. G7
PAY-028 PAYWALL_COPY.plainPro("year") Pro begins today at $390 per year. Renews yearly until canceled. G7
PAY-029 PAYWALL_COPY.cancel.lead Cancel anytime in G7
PAY-030 PAYWALL_COPY.cancel.link Settings > Billing G7
PAY-031 PAYWALL_COPY.proPlus.name Pro+ G7
PAY-032 PAYWALL_COPY.proPlus.price.amount $79 G7
PAY-033 PAYWALL_COPY.proPlus.price.unit per month G7
PAY-034 PAYWALL_COPY.proPlus.foundersTag Founders G7
PAY-035 PAYWALL_COPY.proPlus.foundersNote $29 per month for the first 6 months, then $79 per month. G7
PAY-036 PAYWALL_COPY.proPlus.summaryLabel Pro+ billing summary G7
PAY-037 PAYWALL_COPY.proPlus.rows(true)[0].label Today -
PAY-038 PAYWALL_COPY.proPlus.rows(true)[0].body Pro+ begins. $29 is charged. G7
PAY-039 PAYWALL_COPY.proPlus.rows(true)[1].label 6 months -
PAY-040 PAYWALL_COPY.proPlus.rows(true)[1].body $79 per month from the seventh month. Renews monthly until canceled. G7
PAY-041 PAYWALL_COPY.proPlus.rows(false)[0].label Today -
PAY-042 PAYWALL_COPY.proPlus.rows(false)[0].body Pro+ begins. $79 is charged. G7
PAY-043 PAYWALL_COPY.proPlus.rows(false)[1].label Monthly G7
PAY-044 PAYWALL_COPY.proPlus.rows(false)[1].body Renews at $79 per month until canceled. G7
PAY-045 PAYWALL_COPY.proPlus.anytimeLabel Anytime -
PAY-046 PAYWALL_COPY.proPlus.anytimeLead Cancel in G7
PAY-047 PAYWALL_COPY.choice.startTrial Start 7-day free trial G7
PAY-048 PAYWALL_COPY.choice.subscribePro Subscribe to Pro G7
PAY-049 PAYWALL_COPY.choice.subscribeProPlus Subscribe to Pro+ G7
PAY-050 PAYWALL_COPY.choice.free Continue with Free G7
PAY-051 PAYWALL_COPY.choice.continue Continue -
PAY-052 PAYWALL_COPY.choice.opening Opening checkout G7
PAY-053 PAYWALL_COPY.disclosure.proTrial("month") 7 days free, then $39 per month. Card required to start. Nothing is charged today. Renews until canceled. Cancel anytime. G7
PAY-054 PAYWALL_COPY.disclosure.proTrial("year") 7 days free, then $390 per year. Card required to start. Nothing is charged today. Renews until canceled. Cancel anytime. G7
PAY-055 PAYWALL_COPY.disclosure.proPlain("month") $39 per month. Renews until canceled. Cancel anytime. G7
PAY-056 PAYWALL_COPY.disclosure.proPlain("year") $390 per year. Renews until canceled. Cancel anytime. G7
PAY-057 PAYWALL_COPY.disclosure.proPlus(true) $29 per month for the first 6 months, then $79 per month. Renews until canceled. Cancel anytime. G7
PAY-058 PAYWALL_COPY.disclosure.proPlus(false) $79 per month. Renews until canceled. Cancel anytime. G7
PAY-059 PAYWALL_COPY.journalLine (gated by JOURNAL_LINE_CONFIRMED = false) HELD (see HELD-09), not rendered, not counted. Your journal and history always stay yours and stay viewable on Free. G7
PAY-060 PAYWALL_COPY.links.terms Terms -
PAY-061 PAYWALL_COPY.links.privacy Privacy G8
PAY-062 PAYWALL_COPY.loadingLabel Loading plans and prices G1p, G7
PAY-063 PAYWALL_COPY.readFailed.title Prices could not be loaded. G7
PAY-064 PAYWALL_COPY.readFailed.body Nothing was charged. Try again, or continue on Free. G7
PAY-065 PAYWALL_COPY.readFailed.retry Try again -
PAY-066 PAYWALL_COPY.checkoutError.pro Pro checkout is not available right now. G7
PAY-067 PAYWALL_COPY.checkoutError.proPlus Pro+ checkout is not available right now. G7
PAY-068 PAYWALL_COPY.checkoutError.network Checkout could not be reached. G7
PAY-069 PAYWALL_COPY.checkoutError.body Nothing was charged. Try again, or continue on Free. G7
PAY-070 PAYWALL_COPY.checkoutError.retry Try again -
PAY-071 PAYWALL_COPY.returned.title Checkout was canceled. G7
PAY-072 PAYWALL_COPY.returned.body Nothing was charged. Your selection is kept. G7
PAY-073 PAYWALL_COPY.priceUpdated.title The plan details were updated. G1p
PAY-074 PAYWALL_COPY.priceUpdated.body Nothing was charged. Check the price below, then subscribe or continue on Free. G7
PAY-075 PAYWALL_COPY.subscribed.title(null) You already have a plan G1p
PAY-076 PAYWALL_COPY.subscribed.title("Pro") You already have Pro G7
PAY-077 PAYWALL_COPY.subscribed.body(null) This account has an active subscription, so there is nothing to choose. G7
PAY-078 PAYWALL_COPY.subscribed.body("Pro") This account has an active Pro subscription, so there is nothing to choose. G7

A8. Confirmation

ID Key String as shown Touches
CNF-001 CONFIRMATION_COPY.metaTitle You are in — Raxx -
CNF-002 CONFIRMATION_COPY.title You are in -
CNF-003 CONFIRMATION_COPY.homeLabel Raxx home -
CNF-004 CONFIRMATION_COPY.setup.label Setup -
CNF-005 CONFIRMATION_COPY.setup.lead Your setup is ready: -
CNF-006 CONFIRMATION_COPY.setup.rows.instruments Instruments G4
CNF-007 CONFIRMATION_COPY.setup.rows.style Style -
CNF-008 CONFIRMATION_COPY.setup.rows.rule Personal rule G1
CNF-009 CONFIRMATION_COPY.setup.defaultSetting Default setting - change anytime. -
CNF-010 CONFIRMATION_COPY.setup.loadingLabel Reading your setup -
CNF-011 CONFIRMATION_COPY.setup.notSaved.title Your setup is not saved yet. G8
CNF-012 CONFIRMATION_COPY.setup.notSaved.body Your answers are still in this tab. Try again, or continue. G8
CNF-013 CONFIRMATION_COPY.setup.notSaved.retry Try again -
CNF-014 CONFIRMATION_COPY.setup.unavailable.title Your setup could not be read right now. -
CNF-015 CONFIRMATION_COPY.setup.unavailable.body Your account is active. Try again, or open the dashboard. -
CNF-016 CONFIRMATION_COPY.setup.unavailable.retry Try again -
CNF-017 CONFIRMATION_COPY.plan.heading Plan status G1p
CNF-018 CONFIRMATION_COPY.plan.free Free G7
CNF-019 CONFIRMATION_COPY.plan.pro Pro G7
CNF-020 CONFIRMATION_COPY.plan.proPlus Pro+ G7
CNF-021 CONFIRMATION_COPY.plan.proTrial Pro trial G7
CNF-022 CONFIRMATION_COPY.plan.trialCanceled Trial canceled G7
CNF-023 CONFIRMATION_COPY.plan.founders Founders G7
CNF-024 CONFIRMATION_COPY.plan.loadingLabel Reading plan status G1p
CNF-025 CONFIRMATION_COPY.plan.unavailable.title Plan status is not available right now. G1p
CNF-026 CONFIRMATION_COPY.plan.unavailable.body Your account is active. Try again, or open the dashboard. -
CNF-027 CONFIRMATION_COPY.plan.unavailable.retry Try again -
CNF-028 CONFIRMATION_COPY.plan.confirming("pro") Confirming your Pro subscription... G7
CNF-029 CONFIRMATION_COPY.plan.confirming("pro_plus") Confirming your Pro+ subscription... G7
CNF-030 CONFIRMATION_COPY.plan.confirming(null) Confirming your subscription... G7
CNF-031 CONFIRMATION_COPY.plan.stillConfirming.title Still confirming. -
CNF-032 CONFIRMATION_COPY.plan.stillConfirming.lead The dashboard is open to you. Plan status appears in G1p
CNF-033 CONFIRMATION_COPY.plan.stillConfirming.tail once it is confirmed. G2
CNF-034 CONFIRMATION_COPY.plan.stillConfirming.bodyNoLink The dashboard is open to you. Plan status is not confirmed yet. G1p
CNF-035 CONFIRMATION_COPY.plan.billingLeads.cancel Cancel anytime in G7
CNF-036 CONFIRMATION_COPY.plan.billingLeads.manage Manage in -
CNF-037 CONFIRMATION_COPY.plan.billingLeads.payment Update your payment method in G7
CNF-038 CONFIRMATION_COPY.unverified.sub Your email address is not confirmed yet. The dashboard opens after you confirm it. -
CNF-039 CONFIRMATION_COPY.unverified.confirm Confirm your email -
CNF-040 CONFIRMATION_COPY.actions.dashboard Open dashboard -
CNF-041 CONFIRMATION_COPY.actions.settings Review setup in Settings -
CNF-042 planStatusText(free).tag Free G7
CNF-043 planStatusText(trial, monthly, with end date).tag Pro trial G7
CNF-044 planStatusText(trial, monthly, with end date).line Ends Nov 7, 2026. On that date Pro begins at $39 per month unless you cancel before then. G7
CNF-045 planStatusText(trial, monthly, with end date).billingLead Cancel anytime in Settings > Billing G7
CNF-046 planStatusText(trial, annual, with end date).tag Pro trial G7
CNF-047 planStatusText(trial, annual, with end date).line Ends Nov 7, 2026. On that date Pro begins at $390 per year unless you cancel before then. G7
CNF-048 planStatusText(trial, annual, with end date).billingLead Cancel anytime in Settings > Billing G7
CNF-049 planStatusText(trial, no end date).tag Pro trial G7
CNF-050 planStatusText(trial, no end date).line Your Pro trial is active. Pro begins when it ends unless you cancel before then. G7
CNF-051 planStatusText(trial, no end date).billingLead Cancel anytime in Settings > Billing G7
CNF-052 planStatusText(trial canceled, with date).tag Trial canceled G7
CNF-053 planStatusText(trial canceled, with date).line Pro access continues until Nov 7, 2026. You are not charged. G7
CNF-054 planStatusText(trial canceled, with date).billingLead Manage in Settings > Billing G7
CNF-055 planStatusText(trial canceled, no date).tag Trial canceled G7
CNF-056 planStatusText(trial canceled, no date).line Pro access continues until the trial ends. You are not charged. G7
CNF-057 planStatusText(trial canceled, no date).billingLead Manage in Settings > Billing G7
CNF-058 planStatusText(Pro active, monthly, with date).tag Pro G7
CNF-059 planStatusText(Pro active, monthly, with date).line Renews Nov 7, 2026 at $39 per month. G7
CNF-060 planStatusText(Pro active, monthly, with date).billingLead Manage in Settings > Billing G7
CNF-061 planStatusText(Pro active, annual, with date).tag Pro G7
CNF-062 planStatusText(Pro active, annual, with date).line Renews Nov 7, 2026 at $390 per year. G7
CNF-063 planStatusText(Pro active, annual, with date).billingLead Manage in Settings > Billing G7
CNF-064 planStatusText(Pro active, no interval, with date).tag Pro G7
CNF-065 planStatusText(Pro active, no interval, with date).line Renews Nov 7, 2026. G7
CNF-066 planStatusText(Pro active, no interval, with date).billingLead Manage in Settings > Billing G7
CNF-067 planStatusText(Pro+ active, with date).tag Pro+ G7
CNF-068 planStatusText(Pro+ active, with date).line Renews Nov 7, 2026 at $79 per month. G7
CNF-069 planStatusText(Pro+ active, with date).billingLead Manage in Settings > Billing G7
CNF-070 planStatusText(Pro+ Founders active).tag Pro+ G7
CNF-071 planStatusText(Pro+ Founders active).line $29 per month for the first 6 months, then $79 per month. G7
CNF-072 planStatusText(Pro+ Founders active).billingLead Manage in Settings > Billing G7
CNF-073 planStatusText(Pro canceled, with date).tag Pro G7
CNF-074 planStatusText(Pro canceled, with date).line Pro access continues until Nov 7, 2026. It does not renew. G7
CNF-075 planStatusText(Pro canceled, with date).billingLead Manage in Settings > Billing G7
CNF-076 planStatusText(Pro+ canceled, no date).tag Pro+ G7
CNF-077 planStatusText(Pro+ canceled, no date).line Pro+ access continues until the end of the billing period. It does not renew. G7
CNF-078 planStatusText(Pro+ canceled, no date).billingLead Manage in Settings > Billing G7
CNF-079 planStatusText(payment issue).tag Pro G7
CNF-080 planStatusText(payment issue).line There is a payment issue with this plan. G1p, G7
CNF-081 planStatusText(payment issue).billingLead Update your payment method in Settings > Billing G7

A9. Settings: Setup answers tab

ID Key String as shown Touches
SET-001 SETUP_ANSWERS_COPY.tabLabel Setup answers -
SET-002 SETUP_ANSWERS_COPY.loadingLabel Loading your setup answers -
SET-003 SETUP_ANSWERS_COPY.intro These answers describe how you set up Raxx. They are stored on your profile so you can change them any time. Changing them does not change your risk settings. G8
SET-004 SETUP_ANSWERS_COPY.introEmpty No setup answers yet. Add any you like; each is optional. -
SET-005 SETUP_ANSWERS_COPY.deletion Deleting your account removes them. G8
SET-006 SETUP_ANSWERS_COPY.privacyLink Privacy policy G8
SET-007 SETUP_ANSWERS_COPY.rows.instruments Instruments G4
SET-008 SETUP_ANSWERS_COPY.rows.experience Experience -
SET-009 SETUP_ANSWERS_COPY.rows.style Style -
SET-010 SETUP_ANSWERS_COPY.rows.habit Habit to track G1
SET-011 SETUP_ANSWERS_COPY.rows.goal Benchmark G1
SET-012 SETUP_ANSWERS_COPY.notSet Not set -
SET-013 SETUP_ANSWERS_COPY.benchmarkNote Your own number. Raxx shows how your recorded results compare with it, after the fact. G1, G2
SET-014 SETUP_ANSWERS_COPY.actions.edit Edit -
SET-015 SETUP_ANSWERS_COPY.actions.add Add -
SET-016 SETUP_ANSWERS_COPY.actions.clear Clear -
SET-017 SETUP_ANSWERS_COPY.actions.save Save G8
SET-018 SETUP_ANSWERS_COPY.actions.saving Saving -
SET-019 SETUP_ANSWERS_COPY.actions.cancel Cancel G7
SET-020 SETUP_ANSWERS_COPY.actions.clearAll Clear all answers -
SET-021 SETUP_ANSWERS_COPY.editor.chooseOne Choose an option, or cancel. G7
SET-022 SETUP_ANSWERS_COPY.editor.chooseAtLeastOne Choose at least one, or cancel. G7
SET-023 SETUP_ANSWERS_COPY.saved("Style").title Saved. G8
SET-024 SETUP_ANSWERS_COPY.saved("Style").body Style updated. -
SET-025 SETUP_ANSWERS_COPY.cleared("Style").title Cleared. -
SET-026 SETUP_ANSWERS_COPY.cleared("Style").body Style removed from your profile. Add it again any time. G8
SET-027 SETUP_ANSWERS_COPY.saveFailed.title That change did not save. G8
SET-028 SETUP_ANSWERS_COPY.saveFailed.body Nothing was changed. Try again. -
SET-029 SETUP_ANSWERS_COPY.clearFailed.title That answer was not cleared. -
SET-030 SETUP_ANSWERS_COPY.clearFailed.body Nothing was changed. Try again. -
SET-031 SETUP_ANSWERS_COPY.clearAll.title Clear all setup answers? -
SET-032 SETUP_ANSWERS_COPY.clearAll.body This removes them from your profile. Your risk settings are not changed. G8
SET-033 SETUP_ANSWERS_COPY.clearAll.confirm Clear all answers -
SET-034 SETUP_ANSWERS_COPY.clearAll.cancel Cancel G7
SET-035 SETUP_ANSWERS_COPY.clearAll.done.title Cleared. -
SET-036 SETUP_ANSWERS_COPY.clearAll.done.body Your setup answers were removed from your profile. G8
SET-037 SETUP_ANSWERS_COPY.clearAll.failed.title The answers were not cleared. -
SET-038 SETUP_ANSWERS_COPY.clearAll.failed.body Nothing was changed. Try again. -
SET-039 SETUP_ANSWERS_COPY.loadError.title Your setup answers could not be loaded. -
SET-040 SETUP_ANSWERS_COPY.loadError.body Nothing was changed. -
SET-041 SETUP_ANSWERS_COPY.loadError.retry Try again -
SET-042 SETUP_ANSWERS_COPY.reference("RAX-ONB-1a2b3c4d") Reference RAX-ONB-1a2b3c4d. -
SET-043 SETUP_ANSWERS_COPY.reasonBody.offline Raxx could not be reached. Nothing was changed. Check your connection, then try again. -
SET-044 SETUP_ANSWERS_COPY.reasonBody.rateLimited Too many requests in a short time. Nothing was changed. Wait a moment, then try again. -
SET-045 SETUP_ANSWERS_COPY.reasonBody.signedOut Your session has ended. Nothing was changed. -
SET-046 SETUP_ANSWERS_COPY.signIn Sign in -

A10. Inline strings in the funnel wizard steps (not in a copy module)

ID Key String as shown Touches
WIZ-001 WelcomeStep (funnel variant) h1 Welcome to Raxx -
WIZ-002 WelcomeStep (funnel variant) sub (QUIZ_COPY.wizard.welcomeSub, see QW rows) -
WIZ-003 WelcomeStep (funnel variant) button Get started -
WIZ-004 DoneStep (funnel variant) h1 You are all set -
WIZ-005 DoneStep (funnel variant) sub Your account is configured. Head to the dashboard to explore. -
WIZ-006 DoneStep (funnel variant) status Taking you to the dashboard… -
WIZ-007 DoneStep (funnel variant) button Go to dashboard now -
WIZ-008 DoneStep recap chips (the user's own non-default answers, shown with the QUIZ_COPY option labels: instruments, experience, style) G4
WIZ-009 app/(public)/start/quiz/[n]/page.tsx metadata.title Setup questions -
WIZ-010 components/wizard/WizardShell.tsx:374 LOAD_ERROR payload (drawn at :660 in a danger alert when the saved setup progress cannot be read) Could not load your setup progress. Refresh to try again. G8
WIZ-011 components/wizard/WizardShell.tsx:420 save error message when the server returns a coded error Save failed (<code>) (<code> is the server error code, or unknown). Held in wizard state; the funnel's save alert shows QW-007 and QW-008 instead, and no component draws this text today. G8
WIZ-012 components/wizard/WizardShell.tsx:423 save error fallback Save failed (used when the thrown value is not an Error; when it is an Error without a server code, its own message is used instead. Held in wizard state and not drawn today, as WIZ-011) G8

A11. Existing risk-profile step, now on the single first-run path

ID Key String as shown Touches
RSK-001 RiskProfileView h1 Risk profile G8
RSK-002 RiskProfileView sub (replaced in #4826) This tells Raxx how to size positions relative to your account. G6
RSK-003 RiskProfileView RISK_OPTIONS.conservative Conservative: Smaller position sizes, tighter stops, fewer trades per session. G6
RSK-004 RiskProfileView RISK_OPTIONS.moderate Moderate: Balanced sizing with defined entry and exit rules applied consistently. G6
RSK-005 RiskProfileView RISK_OPTIONS.aggressive Aggressive: Larger allocations, wider stops, higher variance between outcomes. -
RSK-006 RiskProfileView buttons Back; Skip for now; Continue; Saving… -
RSK-007 RiskProfilePage status (added in #4826) Checking your saved answers… G8
RSK-008 RiskProfilePage error Could not save your selection. Your choice is noted for this session. G8

A12. iOS paywall

ID Key String as shown Touches
IOS-001 PaywallCopy.title Raxx Pro G7
IOS-002 PaywallCopy.lede Choose a plan, or continue on Free. You can change this later in Settings. G1p, G7
IOS-003 PaywallCopy.moreHeading More -
IOS-004 PaywallCopy.otherPlansHeading Other plans G1p
IOS-005 PaywallCopy.summaryHeading What happens -
IOS-006 PaywallCopy.continueWithFree Continue with Free G7
IOS-007 PaywallCopy.restorePurchases Restore Purchases -
IOS-008 PaywallCopy.termsOfUse Terms of Use -
IOS-009 PaywallCopy.privacyPolicy Privacy Policy G8
IOS-010 PaywallCopy.manageSubscription Manage subscription G7
IOS-011 PaywallCopy.loadFailedTitle Plans could not be loaded. G1p
IOS-012 PaywallCopy.loadFailedDetail Check your connection and try again. You can continue on Free in the meantime. G7
IOS-013 PaywallCopy.tryAgain Try again -
IOS-014 PaywallCopy.noPlansTitle Plans are not available right now. G1p
IOS-015 PaywallCopy.noPlansDetail You can continue on Free. G7
IOS-016 PaywallCopy.checkAgain Check again -
IOS-017 PaywallCopy.restrictedTitle Purchases are turned off on this device. -
IOS-018 PaywallCopy.restrictedDetail You can continue on Free. Restore Purchases is still available. G7
IOS-019 PaywallCopy.pendingTitle Waiting for approval. -
IOS-020 PaywallCopy.pendingDetail Raxx stays on Free until the purchase is approved. You can keep using Raxx on Free meanwhile. G7
IOS-021 PaywallCopy.purchaseFailedTitle The purchase did not complete. -
IOS-022 PaywallCopy.purchaseFailedDetail Nothing changed on your account. You can try again or continue on Free. G7
IOS-023 PaywallCopy.restoreFailedTitle Restore did not finish. -
IOS-024 PaywallCopy.restoreNothingTitle No active subscription found. G7
IOS-025 PaywallCopy.restoreRunning Restoring -
IOS-026 PaywallCopy.purchaseRunning Processing -
IOS-027 PaywallCopy.continueButton Continue -
IOS-028 PaywallCopy.trialStartedTitle Your free trial has started G7
IOS-029 PaywallCopy.restoredTitle Subscription restored G7
IOS-030 PaywallCopy.linkPendingTitle Purchase complete -
IOS-031 PaywallCopy.linkPendingHeadline(tier) Pro is active on this device. (tier label: Pro or Pro+) G7
IOS-032 PaywallCopy.linkPendingDetail Linking it to your Raxx account did not finish. -
IOS-033 PaywallCopy.linkChecking Checking -
IOS-034 PaywallCopy.linkStillPending Still not linked to your Raxx account. -
IOS-035 PaywallCopy.manageFootnote Manage or cancel in your Apple Account settings. G7
IOS-036 PaywallCopy.manageSheetHint Manage subscription opens your Apple Account subscription settings. G7
IOS-037 PaywallCopy.linkedAnnouncement Linked to your Raxx account. -
IOS-038 PaywallCopy.planTitle(offer) Pro · Monthly; Pro · Annual; Pro+ · Monthly G7
IOS-039 PaywallCopy.priceLine(product) $39.00 per month (price and period come from the App Store product, storefront currency) G7, G8
IOS-040 PaywallCopy.renewsLine(product) Renews monthly until cancelled. G7
IOS-041 PaywallCopy.introLine(freeTrial) 7 days free, then $39.00 per month G7
IOS-042 PaywallCopy.introLine(payAsYouGo) $29.00 per month for your first 6 months, then $79.00 per month G7
IOS-043 PaywallCopy.introLine(payUpFront) $9.00 for the first 2 months, then $39.00 per month G7
IOS-044 PaywallCopy.rowDetail(trial, annual) 7 days free, then $390.00 per year ($32.50 per month) G7
IOS-045 PaywallCopy.rowDetail(no offer, annual) Renews yearly until cancelled. $32.50 per month. G7
IOS-046 PaywallCopy.foundersNote(offer) Founders offer: $29.00 per month for your first 6 months, then $79.00 per month. G7
IOS-047 PaywallCopy.perMonthEquivalent / monthsFree annual price divided by 12; a "months free" badge only when 12 minus annual/monthly is within 0.15 of a whole number of at least 1 G7
IOS-048 PaywallCopy.ctaTitle(trial) Start 7 days free G7
IOS-049 PaywallCopy.ctaTitle(no trial) Subscribe to Pro; Subscribe to Pro+ G7
IOS-050 PaywallCopy.pinnedLine(offer) 7 days free, then $39.00 per month. Renews until cancelled. Cancel anytime. G7
IOS-051 PaywallCopy.summaryRows(trial)[0] Today \| Free trial starts \| Pro features are available for 7 days. G7
IOS-052 PaywallCopy.summaryRows(trial)[1] After 7 days \| $39.00 per month \| Charged to your Apple Account. Renews monthly until cancelled. G7
IOS-053 PaywallCopy.summaryRows(trial)[2] Anytime \| Cancel \| In your Apple Account settings, at least 24 hours before the trial ends or a renewal. G7
IOS-054 PaywallCopy.summaryRows(founders)[0] Today \| Founders price begins \| $29.00 per month for your first 6 months. G7
IOS-055 PaywallCopy.summaryRows(founders)[1] After 6 months \| $79.00 per month \| Renews monthly until cancelled. G7
IOS-056 PaywallCopy.summaryRows(founders)[2] Anytime \| Cancel \| In your Apple Account settings, at least 24 hours before a renewal. G7
IOS-057 PaywallCopy.summaryRows(plain)[0] Today \| Pro begins \| $39.00 is charged to your Apple Account. G7
IOS-058 PaywallCopy.summaryRows(plain)[1] Each month \| $39.00 per month \| Renews monthly until cancelled. G7
IOS-059 PaywallCopy.summaryRows(plain)[2] Anytime \| Cancel \| In your Apple Account settings, at least 24 hours before a renewal. G7
IOS-060 PaywallCopy.terms(trial) Payment is charged to your Apple Account at confirmation of purchase. The free trial lasts 7 days. The subscription renews automatically unless it is cancelled at least 24 hours before the end of the current period. Your account is charged for renewal within 24 hours before the end of the current period, at the price shown. You can manage or cancel in your Apple Account settings after purchase. G7
IOS-061 PaywallCopy.terms(no trial) The same text without the sentence "The free trial lasts 7 days." G7
IOS-062 PaywallCopy.completionRows Plan \| Pro · Monthly; Trial ends \| <date>; Then \| $39.00 per month; Renews \| <date>; Price \| $39.00 per month G1p, G7
IOS-063 PaywallCopy.completionTitle(subscribed, linked) Raxx Pro is active G7
IOS-064 PaywallCopy.PaywallComponents wordmark RAXX (placeholder wordmark, data-brand-placeholder="wordmark") -
IOS-065 PaywallCopy.PaywallComponents accessibility labels Purchase links; Plans; Loading plans G1p
IOS-066 PaywallCopy.PaywallScreen accessibility label Choose how to continue -
IOS-067 PaywallCopy.BillingView Choose a plan; Billing (navigation title); Loading…; Raxx <tier> is active G1p, G7
IOS-068 StoreKitManager.swift:132 PurchaseError.notSignedIn.errorDescription You must be signed in to your Raxx account to make a purchase. -
IOS-069 BillingView.swift:102 restore confirmation (account entitled) Subscription restored. (a literal of its own with a final period; IOS-029 is the different PaywallCopy.restoredTitle and has no period) G7
IOS-070 BillingView.swift:103 restore confirmation (account not entitled) No active subscription found. (a literal of its own in BillingView; the same text as IOS-024) G7
IOS-071 PaywallScreen.swift:69, :111 (zone accessibility labels read by VoiceOver on folding and wide devices) Plans; Summary and choices; Confirmation (Plans repeats a label already in IOS-065 but is its own literal at :111) G1p

A13. Privacy policy: setup answers (already counsel-gated)

ID Key String as shown Touches
PRV-001 privacy-policy-v1.md Section 2.1 table row "Setup answers" Optional answers to the setup questions: the instruments you trade (US stocks and ETFs, options), how long you have been trading, how long you usually hold a position, the habit you chose to track, and a benchmark number with its unit. Stored as the options you picked; no ticker symbols and no free text. A skipped question stores a default setting, marked as a default \| Purpose: Building and editing your starting setup. Not used to propose trades or ticker symbols \| Legal basis: Contract performance (Art. 6(1)(b)); counsel to confirm (#4835) G1, G4, G7, G8
PRV-002 privacy-policy-v1.md Section 2.2 sources row You, through the optional setup questions \| Setup answers (see Section 2.3) -
PRV-003 privacy-policy-v1.md Section 2.3 paragraph 1 The setup questions are optional. If you answer them, we store the instruments you trade, how long you have been trading, how long you usually hold a position, the habit you chose to track and, if you enter one, a benchmark number with its unit. Answers are stored as the options you picked; we do not ask for ticker symbols or free text. A skipped question stores a default setting marked as a default; a skipped benchmark stays empty. G1, G4, G7, G8
PRV-004 privacy-policy-v1.md Section 2.3 paragraph 2 Before you create an account your answers are held only in your browser tab. Apart from the analytics event described next, they are not sent to us until your account exists, and they are gone if you close the tab. When your account is created they are stored with your account, in your profile and your setup progress. G8
PRV-005 privacy-policy-v1.md Section 2.3 paragraph 3 If you have allowed analytics, we also record which option you choose for each question, or that you skipped it. For the benchmark we record only whether you gave one, never the number or its unit. G1, G8
PRV-006 privacy-policy-v1.md Section 2.3 paragraph 4 We use setup answers to build and edit your starting setup. We do not use them to propose trades or ticker symbols. G4
PRV-007 privacy-policy-v1.md Section 2.3 paragraph 5 We keep setup answers until you change or clear them in Settings (Setup answers) or until your account is deleted, which removes them. To ask us to delete your account, use the process in Section 8. G8
PRV-008 privacy-policy-v1.md Section 5 retention table row Setup answers \| Until changed or cleared by the user, or until the account is deleted \| Service delivery; not needed for record-keeping, so removed with the account and not held after it G8

A14. Day-5 trial reminder email (PRE-STAGED: not on develop)

ID Key String as shown Touches
EML-001 billing_trial_ending/subject.txt Your Raxx {{plan_name}} trial ends on {{charge_date}} G7
EML-002 billing_trial_ending/body.txt line 1 Your {{plan_name}} trial ends on {{charge_date}}. G7
EML-003 billing_trial_ending/body.txt line 2 At that time the card on file is charged {{price}} {{interval_label}} for {{plan_name}}. If you cancel before then, you are not charged. G7
EML-004 billing_trial_ending/body.txt line 3 Review or cancel your plan: {{cancel_url}} G1p, G7
EML-005 billing_trial_ending/body.txt line 4 Questions? support@raxx.app -
EML-006 billing_trial_ending/body.txt footer MooseQuest LLC, 502 W 7th St, Ste 100, Erie, PA 16502-1333 -
EML-007 billing_trial_ending/body.html Same text as body.txt, plus the button label "Review or cancel your plan", the line "Or copy this link into your browser:", and the wordmark line "Raxx" G1p, G7, G8
ID Key String as shown Touches
BIL-001 BillingView.tsx notice (cancel link opening) Opening the cancellation step… G7
BIL-002 BillingView.tsx notice (nothing to cancel) There is nothing to cancel on your plan right now. G1p, G7
BIL-003 BillingView.tsx (neutral error) (the portal error message from the server, shown with a reference code; wording not in the diff) G8