Identity and access boundaries
- Dashboard identity uses WorkOS and API authentication. App/workspace scopes and roles restrict management operations.
- SDK identification uses app-scoped subject tokens. A public client write key is not a management token, and trusted server identity must not be derived from arbitrary client input.
- MCP connections have explicit app grants, tool scopes, operation records, and approval behaviour. A third-party AI client receives only the results its granted access permits.
- Portal sessions use verified email challenges and host-scoped secure cookies in production. Public participation and private support have separate disclosure implications.
Collection controls and deletion support
- SDK consent separates supported analytics, feedback, survey, and push purposes. Host apps must supply real choices and handle withdrawal correctly.
- Property filtering removes recognised sensitive keys unless explicitly allowed. It does not detect all personal information inside arbitrary free text or attachments.
- App-user export/deletion resolves anonymous and identified aliases and checks analytics completion. Other data surfaces require the separate operational process described in the retention notice.
- Private exports use the configured private storage bucket and short-lived signed download URLs. Public assets are deliberately a separate exposure surface.
Transport and credential protection
Production configuration validates HTTPS for relevant external endpoints. Hosted TLS termination, private service links, database transport, SDK transport settings, and actual certificates still require deployment verification.
The backend implements AES-256-GCM encryption for stored provider/integration credentials with versioned application keys. This is not evidence of a per-app KMS envelope-encryption system. Key custody, rotation, and emergency access require an operational procedure.
SDK persistence varies by platform. Some native identity/consent data uses secure stores; offline queues, browser IndexedDB, AsyncStorage, and fallback paths must not all be described as encrypted at rest. Certificate pinning also differs by platform and configured host. The host app should avoid sending unnecessary sensitive data.
Operational controls and assurance
Before making contractual security assurances, UserGist must verify staff MFA and least privilege, confidentiality obligations, access reviews, deployment controls, dependency patching, log scrubbing, incident escalation, backup restoration, deletion after restoration, vendor agreements, and production storage policies.
No independent UserGist SOC 2, ISO 27001, HIPAA, penetration-test certification, fixed uptime percentage, or blanket EU-only guarantee is asserted here. A provider’s assurance report does not certify the whole UserGist service. Ask for current evidence and any account-specific written commitments.
Customer responsibilities
- Manage workspace access and offboarding, keep credentials in server/secure configuration, rotate compromised keys, and verify SDK releases in your app.
- Configure consent, minimisation, public/private content, integration regions, push permissions, and notification payloads appropriately.
- Keep important exports and business continuity plans, and do not treat notification acceptance as confirmed human receipt.
- Review AI-client permissions and the content a tool can return before authorising it.
Report a security concern
Contact [email protected] with the subject “Security report” and a concise description of the affected endpoint or feature. Use test data, redact personal information, and do not send active secrets. Ask for a secure channel before sharing sensitive evidence.
Avoid disruption, modifying other people’s data, accessing information beyond what is needed to demonstrate the issue, or publicly disclosing confidential data. This draft does not establish a bug bounty or legal safe-harbour programme. Incident acknowledgement targets and a dedicated monitored security address still require operational confirmation.
You can save or print this document using your browser’s print menu. Keep the version and draft status with any copy.