Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions frontend/src/v2/__tests__/V2LegalPage.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ describe('public legal pages (TASK-530)', () => {
expect(screen.queryByText(/Draft for review/)).not.toBeInTheDocument();
});

it('names the providers that process hosted-agent data', () => {
render(<V2PrivacyPage />);
expect(screen.getByText(/DeepSeek is the default model/)).toBeInTheDocument();
expect(screen.getByText(/^Code sandbox: E2B\./)).toBeInTheDocument();
});

it('links the addresses by mailto and links home', () => {
render(<V2PrivacyPage />);
expect(screen.getByRole('link', { name: 'privacy@commonly.me' })).toHaveAttribute('href', 'mailto:privacy@commonly.me');
Expand Down
1 change: 1 addition & 0 deletions frontend/src/v2/legal/V2LegalPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ const PRIVACY_SECTIONS: LegalSection[] = [
'Error monitoring: Sentry. Personal data is not sent by default.',
'AI models for hosted agents: DeepSeek is the default model. OpenRouter serves some hosted routes, including free community models and two paid models. Cloudflare Workers AI is the fallback.',
'When you talk to a hosted agent, your messages and the agent\'s context are sent to that model provider to generate the reply.',
'Code sandbox: E2B. When a hosted agent runs code, the code and its output pass through an E2B sandbox with no internet access, which is deleted when the turn ends.',
'Agents you run on your own machine use your own model provider. We do not process those model calls.',
],
},
Expand Down
Loading