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>
121 lines
5 KiB
HTML
121 lines
5 KiB
HTML
{% extends "public_base.html" %}
|
|
{% block title %}{{ BRAND_NAME }} · Disclaimer{% endblock %}
|
|
|
|
{% block main %}
|
|
|
|
<section class="public-section public-section--callout public-section--warning">
|
|
<h1 class="public-section__head" style="border:0; margin:0 0 6px;">
|
|
Financial disclaimer
|
|
</h1>
|
|
<p style="margin:0; font-size:15px;">
|
|
<strong>{{ BRAND_NAME }} is not investment advice.</strong>
|
|
</p>
|
|
<p style="margin-top:6px; font-size:12px; color: var(--muted);">
|
|
This page is part of, and qualifies, the
|
|
<a href="/terms">Terms and Conditions</a>.
|
|
</p>
|
|
</section>
|
|
|
|
<section class="public-section">
|
|
<h2 class="public-section__head">In short</h2>
|
|
<ul>
|
|
<li>Everything published here is for <strong>educational and
|
|
informational purposes only</strong>.</li>
|
|
<li>Nothing on this site is a buy or sell recommendation, a personal
|
|
recommendation, or an inducement to deal in any financial
|
|
instrument.</li>
|
|
<li>{{ BRAND_NAME }} is not a regulated financial firm. It is not
|
|
authorised by the Financial Conduct Authority and is not a
|
|
registered investment adviser in any jurisdiction.</li>
|
|
<li>The output is not tailored to your circumstances, objectives,
|
|
tax position, or risk tolerance.</li>
|
|
<li>Past performance does not predict future returns. Investing
|
|
carries the risk of losing money, including the principal.</li>
|
|
</ul>
|
|
</section>
|
|
|
|
<section class="public-section">
|
|
<h2 class="public-section__head">About the AI output</h2>
|
|
<p>
|
|
The strategic log and indicator summaries are generated by large
|
|
language models from publicly available market data and news. They
|
|
can be wrong, incomplete, or out of date. Numbers can be misread.
|
|
Models occasionally generate inaccurate or invented information
|
|
(often called “hallucinations”). Treat them as a
|
|
<em>prompt to think</em>, not as facts to act on.
|
|
</p>
|
|
<p>
|
|
The portfolio feature is a browser-only composition viewer: it
|
|
parses a CSV you supply, computes neutral statistics (weights,
|
|
sector / currency / concentration breakdown), and shows them to
|
|
you. Your holdings stay in your browser; they are never sent to
|
|
or stored on the server. There is no AI commentary on your
|
|
portfolio.
|
|
</p>
|
|
</section>
|
|
|
|
<section class="public-section">
|
|
<h2 class="public-section__head">Before you act on anything</h2>
|
|
<p>
|
|
Consult a properly qualified, regulated financial adviser who knows
|
|
your full situation. Read the source documents (issuer accounts,
|
|
fund prospectus, etc.). If you are not in a position to lose the
|
|
money you would put at risk, do not put it at risk.
|
|
</p>
|
|
</section>
|
|
|
|
<section class="public-section">
|
|
<h2 class="public-section__head">Jurisdiction</h2>
|
|
<p>
|
|
{{ BRAND_NAME }} is operated from {{ OPERATOR_JURISDICTION }}. The
|
|
Service is not directed at, or intended for distribution to or use
|
|
by, any person in any jurisdiction where such distribution or use
|
|
would be contrary to local law or regulation.
|
|
</p>
|
|
<p>
|
|
No part of this Service constitutes an offer or solicitation of
|
|
securities to any US person within the meaning of US securities law.
|
|
</p>
|
|
<p>
|
|
The Service is not directed at retail or professional clients in any
|
|
EU/EEA member state, nor in any jurisdiction where its provision
|
|
would require local licensing or registration. Where any output of
|
|
the Service could be construed as an “investment
|
|
recommendation” within the meaning of
|
|
<strong>Article 3(1)(35) of Regulation (EU) 596/2014 (Market
|
|
Abuse Regulation)</strong>, with conduct duties under
|
|
<strong>Article 20 MAR</strong> and
|
|
<strong>Commission Delegated Regulation (EU) 2016/958</strong>
|
|
(or the UK onshored equivalent), the operator’s position is
|
|
that the Service publishes <em>non-personalised commentary on
|
|
public market data by a non-regulated source for educational
|
|
purposes</em>, and does not directly propose a particular
|
|
investment decision in any specific instrument. The operator has
|
|
no position in, and no remuneration linked to, the specific
|
|
instruments mentioned in any individual piece of commentary.
|
|
</p>
|
|
<p style="font-size:12px; color: var(--muted);">
|
|
{# TODO(legal): final wording on the MAR paragraph above is pending
|
|
lawyer sign-off. See docs/read-markets-compliance-changes.md. #}
|
|
</p>
|
|
</section>
|
|
|
|
<section class="public-section">
|
|
<h2 class="public-section__head">No warranty</h2>
|
|
<p>
|
|
The service is provided “as is” without warranties of any
|
|
kind. To the maximum extent permitted by applicable law, the operator
|
|
excludes liability for any loss arising from use of, or reliance on,
|
|
the content. See the <a href="/terms">Terms and Conditions</a> for the
|
|
full limitation of liability.
|
|
</p>
|
|
</section>
|
|
|
|
<section class="public-section">
|
|
<p style="font-size: 12px; color: var(--muted);">
|
|
Questions about this disclaimer:
|
|
<a href="mailto:{{ OPERATOR_EMAIL }}">{{ OPERATOR_EMAIL }}</a>.
|
|
</p>
|
|
</section>
|
|
|
|
{% endblock %}
|