Files
accounted/app
Mattsson 577552ca94 docs(privacy): name Anthropic in the Bedrock row, state replay deny-by-default, pin disclosures to code (#1766)
* docs(privacy): name Anthropic in the Bedrock row, state replay deny-by-default

A prospect compared our security claims with a stale published DPA that
listed Anthropic and OpenAI as US processors and read the privacy page's
bare AWS row next to 'delas inte med Anthropic' as a contradiction
(#1674). The in-repo pages were factually right but nothing pinned them
to the code, and the Bedrock row never said whose models run inside it.

- Sub-processor table: the AWS row now states the models are Anthropics
  Claude, run entirely inside Amazon Bedrock (eu-north-1, Stockholm),
  and that Anthropic is the model vendor, not a sub-processor, and
  receives no data. Matches lib/ai/provider.ts: hosted inference is
  AnthropicBedrock, default region eu-north-1; no OpenAI code path
  exists anywhere.
- PostHog row: the session-replay paragraph now states the
  deny-by-default guarantee: masking is the default and cannot be
  turned off, every input is masked with no exceptions, untagged new
  UI over-masks rather than leaks. Matches instrumentation-client.ts
  (maskAllInputs: true, maskTextSelector '*', no maskInputFn) and
  lib/analytics/replay-masking.ts.
- New source-content test locks the disclosures to the code so they
  cannot drift apart silently: no OpenAI dependency or mention, region
  claim equals the provider default, Anthropic named inside the Bedrock
  row, DPA keeps /privacy as the single sub-processor list, replay
  config still deny-by-default.

The artifact the prospect actually read (published DPA PDF or marketing
security page) lives outside this repo and needs founder/legal action.

Refs #1674

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Emil <emilmattsson14@gmail.com>

* fix(privacy): drop unverifiable underbitraede claim, state only code-provable facts

Adversarial review of the #1674 branch found two overstatements:

1. The Bedrock row asserted 'Anthropic, som ar modelleverantor men inte
   underbitraede'. Whether Anthropic is a sub-processor of AWS is a
   contractual matter between AWS and Anthropic and cannot be verified
   from this repo, and the issue explicitly forbade invented legal
   wording. The row now states only what the code shows: AI requests go
   to Amazon Bedrock and the models used are Anthropics Claude models
   running inside Bedrock. No claim about Anthropics sub-processor
   status in either direction. The pre-existing footnote below the
   table is untouched (identical to main).

2. The DECISIONS.md entry claimed 'no code path sends data to
   Anthropic'. False as a global claim: lib/ai/provider.ts
   createAiClient() builds a direct Anthropic API client when
   AI_PROVIDER=anthropic or when ANTHROPIC_API_KEY is set without
   static AWS keys (the documented self-hosted path), and the region is
   process.env.AWS_REGION || 'eu-north-1', a default rather than a
   guarantee. The entry now says the hosted posture is Bedrock by
   credential precedence, acknowledges the direct API path, and routes
   the underbitraede question plus published DPA PDF / marketing page
   alignment to founder/legal.

The source-content test now pins the corrected row wording, asserts
the row contains no underbitraede verdict, and no longer cements the
removed sentence.

Refs #1674

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Emil <emilmattsson14@gmail.com>

* test(privacy): track the openai-compatible BYO provider added on main

Signed-off-by: Emil <emilmattsson14@gmail.com>

---------

Signed-off-by: Emil <emilmattsson14@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-20 21:36:47 +02:00
..
2026-07-24 15:03:50 +02:00
2026-04-29 16:32:26 +02:00