read.markets/app/locales/en.yaml
Giorgio Gilestro 47dce1a1a4 compliance: flag-gate AI portfolio + cloud sync + Stripe; de-risk prompts; harden reviewer
Implements docs/read-markets-compliance-changes.md as flag-gated changes
(no deletions) so paused features stay in the tree for future re-enable.
All four flags default False so a fresh deploy is compliance-safe.

- New env flags: PORTFOLIO_AI_ENABLED, PORTFOLIO_SYNC_ENABLED,
  TICKER_UNIVERSE_AGGREGATE_ENABLED, SUBSCRIPTIONS_ENABLED.
- Gates: /api/analyze, /api/portfolio/sync*, /api/stripe/*, /pricing,
  ticker_universe writes, portfolio_analysis.analyse(). is_paid_active()
  returns True for any auth'd user when subscriptions are paused.
- Prompts (PROMPT_VERSION 10): universal _COMPLIANCE_RIDER prepended to
  every system prompt; watch list removed; price-target / close-above-below
  / trigger / forward-state-as-description rules added; SPECULATIVE
  pivoted to regime-only scenarios; daily + weekly digests tightened.
- Reviewer: deterministic regex/lexicon pre-check fail-closed under the
  Haiku call; portfolio rider gated by PORTFOLIO_AI_ENABLED; base prompt
  sharpened for forward-state and MAR forward-opinion patterns;
  ReviewerVerdict audit table; generate_with_review retry helper.
- Migration 0026: purge portfolio_sync + ticker_universe; create
  reviewer_verdicts.
- Copy: MAR cite fixed to Art 3(1)(35) + Art 20 + Del Reg 2016/958;
  portfolio reframed as browser-only viewer in disclaimer / privacy /
  terms / about / pricing / landing (en + it). TODO(legal) marker for
  lawyer sign-off on disclaimer.
- Tests: 13 lexicon + 6 reviewer compliance regressions; conftest enables
  all flags so existing 402 tests still cover their code paths.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 19:57:12 +02:00

120 lines
4.9 KiB
YAML

# English copy for the public landing page.
#
# Strings that contain inline HTML are rendered with the `safe` filter
# in the template. Keep markup minimal — <strong>, <em>, and the
# brand placeholders only.
hero:
tagline: "Understand markets. Don't gamble on them."
subhead: >-
Built for investors who want to <strong>act rationally</strong> and
tune out the high-frequency noise that comes from treating markets
like a casino. We aggregate cross-asset news and macro signals,
then write a plain-English read of what the underlying fundamentals
justify versus what the crowd is doing. Refreshed through the
trading day. A media service, not a financial one.
cta_dashboard: "Open dashboard"
cta_pricing: "See pricing"
cta_signup: "Sign up free"
shot_dashboard:
alt: "Dashboard preview"
zoom_hint: "Click to enlarge"
caption: >-
The dashboard. An aggregate cross-asset read at the top,
hand-picked indicator groups underneath. Reading level toggle
(Novice / Pro) flips every AI-generated panel between
plain-English and terse-pro framing.
features:
news:
tag: "News, aggregated"
title: "Headlines from across the macro universe"
body: >-
RSS and per-ticker feeds covering equities, rates, credit, FX,
commodities, and geopolitics. Every headline is auto-tagged by
theme so the noise stays as noise and the fundamentals-relevant
stuff is easy to find. Ingestion follows the trading calendar —
off-hours stay quiet.
shot_alt: "News feed with auto-tagged headlines"
shot_caption: >-
The news feed. Each headline carries one or more theme tags
(rates, AI, energy, geopolitics, …) so you can keep the threads
you care about and mute the ones you don't. Click a tag to
include; shift-click to exclude.
indicators:
tag: "Macro signals"
title: "A curated cross-asset tape"
body: >-
A hand-picked set of indicators across every asset class,
refreshed hourly during market hours. Each group gets a short
read that explains what the move <em>means</em>, not what it
was. Anchored in earnings, policy, valuation — not chart
patterns.
shot_alt: "Indicators panel with AI commentary"
shot_caption: >-
The indicators panel. Tabs across asset classes (equity, rates,
commodities, FX, bonds, …); each tab carries a one-paragraph
'read' written by the model on top of the live prices. The
numbers anchor the prose so the commentary is checkable, not
floating.
strategic:
tag: "The strategic read"
title: "Rational vs irrational, every paragraph"
body: >-
We tie the day's headlines and the cross-asset signals into a
single short interpretation. Each paragraph separates
<strong>rational drivers</strong> (earnings, policy, valuation)
from <strong>irrational ones</strong> (positioning, narrative,
flows) and names the gap. Two reading levels: Novice and Pro.
This is editorial commentary on public data — not a forecast
and not advice on any investment decision.
shot_alt: "Strategic log — the editorial AI read"
shot_caption: >-
The strategic log. The model writes a fresh interpretation
through the trading day, taking the previous draft as context
so it updates rather than starts over. Paid users get a refresh
every hour; free users get one every six.
multilang_callout: >-
Every AI-generated surface — strategic log, indicator reads, chat,
daily digest — is available in <strong>English</strong> and
<strong>Italian</strong>. Toggle the language pill in the header
and the panels refresh in place; ticker symbols, currency codes
and numbers stay verbatim across languages.
more_views:
head: "More views"
chat:
alt: "Ask follow-up questions against any past log"
caption: >-
Ask follow-up questions against any past log. The chat panel
inherits the log's full context, so you can pull on a thread
without re-pasting headlines or re-explaining the setup.
caption_strong: "Ask anything about a log"
caption_span: "Conversational follow-ups with the day's context loaded."
portfolio_blurb: >-
Drop a portfolio CSV from your broker to see your sector, currency
and concentration breakdown — computed entirely in your browser.
Holdings stay in your browser; nothing about them is sent to or
stored on the server.
not_strip:
head: "What this isn't."
items:
- "Not investment advice."
- "Not trading signals."
- "Not a day-trading tool."
- "No buy/sell calls, ever."
- "No chart-pattern predictions."
- "Not a regulated service."
footer:
legal: >-
By signing up you agree to our <a href="/terms">Terms</a> and
<a href="/privacy">Privacy notice</a>, and confirm you've read
the <a href="/disclaimer">financial disclaimer</a>.
meta:
description: "Understand markets. Don't gamble on them."