-
Notifications
You must be signed in to change notification settings - Fork 0
docs: what AI features send and how org consent works #67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| --- | ||
| description: >- | ||
| What test data Currents sends to an AI provider, when it is sent, and how | ||
| organization admins grant or revoke consent | ||
| icon: shield-check | ||
| --- | ||
|
|
||
| # AI Data Usage and Consent | ||
|
|
||
| Currents' AI features work by sending part of your test data to a large-language-model provider. That only happens after an administrator of your organization consents to it. Until then, the AI features stay off for everyone in the organization. | ||
|
|
||
| This page describes what is sent, when, and who controls it. | ||
|
|
||
| ## What is sent | ||
|
|
||
| When an AI feature runs on a failed test, Currents sends the troubleshooting context it assembled for that test: | ||
|
|
||
| * The error message, stack trace, and code frame from the failed attempt | ||
| * The **error-context snapshot** captured at the moment of failure: the page accessibility tree, console output, and network logs | ||
| * Source code snippets referenced by the stack trace | ||
| * Test, spec, and run identifiers, along with the test's title and file path | ||
| * Historical pass/fail and flakiness data for that test | ||
|
|
||
| Nothing is sent on a schedule or in the background. A request is made only when someone opens an AI feature on a specific test, or when an automation you configured requests one. | ||
|
|
||
| {% hint style="warning" %} | ||
| This data comes from your test run, and Currents sends it as captured. If your tests log credentials, tokens, customer records, or other sensitive values into errors, console output, or network logs, those values are part of what gets sent. | ||
|
|
||
| Treat the consent decision as covering whatever your tests produce, and keep secrets out of test output regardless of whether AI features are enabled. | ||
| {% endhint %} | ||
|
|
||
| ## Where it is sent | ||
|
|
||
| Currents sends the context to an LLM provider over an API call. The default provider is OpenAI; self-hosted and enterprise deployments can point Currents at a different OpenAI-compatible endpoint — an LLM gateway, Azure OpenAI, or another provider — via configuration. | ||
|
|
||
| Your test data is not used to train models. Requests are made through the provider's API, which is covered by the provider's API data-handling terms rather than its consumer-product terms. | ||
|
Comment on lines
+32
to
+36
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The no-training/provider guarantee conflates Currents-managed backend calls with customer-controlled agents and providers, while Want Baz to fix this for you? Activate Fixer Other fix methodsPrompt for AI AgentsThere was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Commit 3cd35ef addressed this comment by removing the |
||
|
|
||
| ## Who can grant consent | ||
|
|
||
| Only **organization administrators** can change the consent setting. The decision applies to the entire organization: every project, every user, every AI entry point. | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Skill is misclassified as consent-controlled AIThe page treats the instruction-only Playwright Want Baz to fix this for you? Activate Fixer You can also update your AI coding guidelines based on this comment by Other fix methodsPrompt for AI Agents |
||
|
|
||
| The organization creation form offers **Allow AI analysis**, ticked by default. Leaving it ticked records the grant against the person creating the organization; clearing it records nothing at all, so the organization reads as never asked rather than as having refused, and its AI features stay off until an admin grants consent in settings. | ||
|
|
||
| ## Granting and revoking consent | ||
|
|
||
| Go to **Organization Settings → AI usage consent** and use the toggle. | ||
|
|
||
| The setting records who made the decision, when, and which version of the terms was shown at the time. That stamp appears under the toggle. | ||
|
|
||
| ### Revoking | ||
|
|
||
| Revoking takes effect immediately: | ||
|
|
||
| * AI features stop working for everyone in the organization | ||
| * AI requests already in flight fail rather than completing | ||
| * Data already sent to the provider is not recalled — revoking stops future requests | ||
|
|
||
| Because in-flight work fails, the dashboard asks you to confirm before revoking. | ||
|
Comment on lines
+50
to
+58
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Revocation lacks a client error contractRevoked consent has no documented HTTP status, error code, or payload, so deployed IDE, Slack, dashboard, n8n, and MCP clients cannot distinguish it from provider or network failures or show the promised unavailable state. Could we define a stable consent-required/revoked response and document each consumer’s handling, including whether in-flight API/MCP retrieval is rejected? Want Baz to fix this for you? Activate Fixer Other fix methodsPrompt for AI AgentsThere was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Commit 3cd35ef addressed this comment by documenting that revocation takes effect immediately and that in-flight AI requests fail rather than completing. It does not define an HTTP status, error code, payload, or consumer-specific handling. |
||
|
|
||
| ## Turning AI off without revoking consent | ||
|
|
||
| Consent controls whether Currents *may* send data. If you want to keep consent in place but stop using a specific feature, disable that feature instead — consent by itself does not trigger any requests. | ||
|
|
||
| ## Related | ||
|
|
||
| * [AI Overview](overview.md) — the AI features and entry points | ||
| * [Manage Team](../dashboard/administration/manage-team.md) — organization roles and who counts as an administrator | ||
| * [Service Agreement](https://currents.dev/tos) — the terms governing AI data use | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is sentdescribes only a single failed test's troubleshooting payload, while other supported AI entry points handle multi-test bundles, snapshots, metrics, and org/project-scoped run, history, and analytics data, so readers may consent without understanding most transfers. Should we document each entry point's payload (or a shared envelope with optional collections), distinguish MCP/API reads from data sent to an AI provider, and state when each is triggered?Want Baz to fix this for you? Activate Fixer You can also update your AI coding guidelines based on this comment by
apply pr to [branch name]Other fix methods
Prompt for AI Agents