| @@ -13,8 +13,11 @@ · 12 unmodified lines |
| 13 | 13 | // - Never secrets, tokens, credentials, code, tool arguments or results. |
| 14 | 14 | // - Never user free text: no connection names, no tool addresses, no |
| 15 | 15 | // toolkit slugs (user-entered labels — send booleans/counts instead). |
| 16 | | −// - Integration slugs and plugin keys ARE allowed (spec-derived vocabulary, |
| 17 | | −// matching the browser catalog's `integration_slug` / `plugin_key`). |
| 16 | +// - Plugin keys (`openapi`, `mcp`, `graphql`, ...) ARE allowed: a fixed, |
| 17 | +// product-defined vocabulary. Integration slugs are NOT — stricter than |
| 18 | +// the browser catalog: these events leave the user's own infrastructure, |
| 19 | +// and WHICH integrations someone uses is their business, not ours. The |
| 20 | +// kind of integration is the product question; the slug is not. |
| 18 | 21 | // - Identity is the anonymous per-install id only; no emails, no hostnames, |
| 19 | 22 | // no person or org names. |
| 20 | 23 | // --------------------------------------------------------------------------- |
| @@ -48,15 +51,9 @@ export interface AnalyticsEvents { · 27 unmodified lines |
| 48 | 51 | readonly toolkit: boolean; |
| 49 | 52 | }; |
| 50 | 53 | /** An integration row was created (upsert re-registers are not counted). */ |
| 51 | | − integration_added: { |
| 52 | | − readonly plugin_key: string; |
| 53 | | − readonly integration_slug: string; |
| 54 | | − }; |
| 54 | + integration_added: { readonly plugin_key: string }; |
| 55 | 55 | /** An integration was removed by the user. */ |
| 56 | | − integration_removed: { |
| 57 | | − readonly plugin_key: string; |
| 58 | | − readonly integration_slug: string; |
| 59 | | − }; |
| 56 | + integration_removed: { readonly plugin_key: string }; |
| 60 | 57 | /** A generative-UI artifact was saved as a new row. */ |
| 61 | 58 | artifact_created: { readonly via: ArtifactVia }; |
| 62 | 59 | /** |