Privacy Policy
Last updated: May 4, 2026
1. Introduction
Trigli ("we," "us," or "our"), operated by Thomas Dempsey, provides an AI-powered customer service platform at trigli.com, including email reply automation and live chat. This Privacy Policy explains how we collect, use, store, and protect your information when you use our service.
We process personal data under the following lawful bases as defined by the General Data Protection Regulation (GDPR):
- Contract performance (Art. 6(1)(b)) - to provide the Trigli service you signed up for
- Legitimate interest (Art. 6(1)(f)) - to improve our service, prevent abuse, and ensure security
- Consent (Art. 6(1)(a)) - for optional features such as the Reply History Scanner
- Legitimate interest (Art. 6(1)(f)) - for processing chat visitor data when visitors initiate a conversation to receive customer support
2. Information We Collect
Account Information
When you create an account, we collect:
- Email address
- Password (stored securely hashed, never in plain text)
- Company name
- Timestamp of your most recent password change (used to invalidate existing sessions after a password reset)
Authentication Security Data
To protect your account we process the following authentication security data. Storing this data is a technical measure required by GDPR Art. 32 and is justified under our legitimate interest (Art. 6(1)(f)) in preventing unauthorised access:
- Two-factor authentication (2FA) secrets - for superadmin accounts, a TOTP seed and one-time backup codes used to verify sign-ins. Stored encrypted at rest (AES-256-GCM) and only when you enrol 2FA.
- Password reset tokens - one-time hashed tokens associated with your account when you request a password reset. Plain-text tokens are emailed to you and never stored.
- Rate-limit records - keyed HMAC fingerprints of the email address or IP address used for each sign-in, sign-up, or password-reset attempt. Plain-text email addresses and IPs are not stored in this table. Retained up to 1 hour.
- Audit log entries - for each authentication event (sign-in, sign-out, password reset, 2FA enrolment and verification), we record a timestamp, the event type, the associated email address, the client IP address, and the browser user-agent string. See Section 8 for retention.
Gmail Data
When you connect your Gmail account via OAuth 2.0, we access the following data with your explicit consent:
- Incoming emails to your connected inbox (to generate AI-assisted replies)
- Sent emails from your connected inbox (only if you enable the Reply History Scanner feature, to discover your writing style and policies)
- Email metadata such as sender address, subject line, timestamps, and thread IDs
We only access emails from the specific Gmail account you connect. We do not access contacts, calendar, drive, or any other Google services.
Documents You Upload
You may upload company policies, SOPs, FAQs, and other documents. These are stored securely and used exclusively to power AI replies for your account.
Usage and Activity Data
We track email processing counts, feature usage, and billing-related metrics to operate the service and enforce plan limits. We also maintain audit logs of account activity (such as settings changes and login events) for security purposes.
We additionally maintain an email status transitions log that records, for each email Trigli handles, the prior status, the new status, who or what triggered the change (worker or named user), the time of change, and a snapshot of the email's subject, sender address, and the time it arrived. The legal basis is legitimate interest plus our recordkeeping obligation under the EU AI Act. See Section 8 for retention.
Chat Widget Visitor Data
When visitors interact with a Trigli-powered chat widget on our customers' websites, we collect:
- Chat messages sent by the visitor
- Name and email address (if voluntarily provided by the visitor)
- A browser-based session identifier stored in localStorage for session continuity
- Page URL, page title, referrer, browser type, and IP address for context and abuse prevention
- Optional satisfaction rating and feedback after a conversation ends
Chat messages are processed by AI (Anthropic Claude) to generate support responses. Visitors are informed that they are interacting with an AI-powered assistant. When a conversation ends, we may generate a brief AI-produced summary of the interaction to personalize future support if you return. Chat data is associated with the business (tenant) whose widget the visitor is using.
3. How We Use Your Information
We use the information we collect to:
- Generate AI-powered draft replies to customer emails using your uploaded policies
- Send approved replies via your connected Gmail account on your behalf
- Classify and route incoming emails based on your configured rules
- Discover writing style patterns and policies from your sent replies (only when you enable this feature)
- Provide AI-powered live chat support to your website visitors
- Generate brief conversation summaries to personalize support for returning visitors
- Improve reply quality through your feedback (approve, reject, edit actions)
- Process billing and enforce usage limits
- Communicate with you about your account and service updates
4. Google User Data: Limited Use Disclosure
Trigli's use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Specifically:
- We only use Gmail data to provide and improve the email reply features you have enabled
- We do not sell, rent, or share your Gmail data with third parties
- We do not use your Gmail data for advertising purposes
- We do not allow humans to read your Gmail data unless (a) you give explicit consent, (b) it is necessary for security purposes, (c) it is required by law, or (d) the data is aggregated and anonymized for internal operations
- Gmail data is processed by our AI systems (Anthropic Claude and OpenAI embeddings) solely to generate replies and extract patterns on your behalf
5. Data Storage and Security
- All data is stored in PostgreSQL with application-level tenant isolation enforced on every query
- Gmail OAuth tokens and 2FA (TOTP) secrets are encrypted at rest using AES-256-GCM before storage
- Backup codes, password reset tokens, and rate-limit identifiers are stored as keyed HMAC fingerprints, so database extracts alone cannot reveal the underlying values
- Passwords are stored using bcrypt hashing
- Session cookies are signed with HMAC-SHA256 and pinned to the HS256 algorithm
- All communication between your browser and our servers uses HTTPS/TLS encryption
- Each tenant's data is logically isolated; no tenant can access another tenant's data
- We do not store your Gmail password; we use OAuth 2.0 tokens that you can revoke at any time
- Failed sign-in attempts are rate limited by IP address and email address to resist brute-force attacks
- Changing your password immediately invalidates all existing session cookies for your account
6. Cookies and Local Storage
Trigli uses only strictly necessary cookies and browser storage:
- Session cookie ("session") - A secure, httpOnly authentication cookie that identifies your login session. Expires after 7 days. This is strictly necessary for the service to function.
- Chat session ID - Stored in localStorage within the chat widget iframe to maintain conversation continuity across page navigations. Does not track you across sites.
- Chat visitor key - A random browser identifier stored in localStorage to enable session resumption for returning chat visitors.
- Cookie notice preference - Stored in localStorage to remember that you have seen our cookie notice.
We do not use advertising cookies or any cross-site tracking cookies. No consent is required for strictly necessary cookies under the ePrivacy Directive, but we inform you of their use for transparency.
Privacy-Friendly Analytics
We use Plausible Analytics (operated by Plausible Insights OÜ, Estonia, EU-hosted in Germany) to understand aggregate visitor traffic on our public marketing and signup pages. Plausible is cookieless and does not use localStorage, fingerprinting, or any cross-site identifier. The script is not loaded on authenticated dashboard, admin, or chat-widget pages. The data collected is limited to:
- Page URL and referrer
- Browser, operating system, and device type (derived from the User-Agent header)
- Country (derived from a one-way hashed IP address; the IP itself is discarded same-day)
- Two custom signup-funnel events on the signup page ("Signup Started" and "Signup Completed") with only the chosen plan tier as a property; no email, name, or company name is sent
The lawful basis is legitimate interest (GDPR Art. 6(1)(f)) for measuring the effectiveness of our marketing pages. Plausible respects the Global Privacy Control browser signal by default. You can read Plausible's data policy at plausible.io/data-policy.
7. Third-Party Services
We use the following third-party services to operate Trigli:
- Render - Application and PostgreSQL database hosting
- Anthropic (Claude) - AI reply generation and email classification
- OpenAI - Text embeddings for document search
- Google Gmail API - Email reading and sending
- Stripe - Payment processing (we do not store credit card numbers)
- Cloudflare R2 - Secure image storage for chat file uploads
- Brave Search - Web search for AI-assisted answers when enabled by the tenant
- Jina Reader - Web page content extraction when AI performs web searches
- Plausible Analytics (Plausible Insights OÜ, Estonia; data hosted in Germany) - Cookieless, privacy-friendly analytics for our public marketing and signup pages only. See Section 6 for details.
Each third-party service processes data in accordance with their own privacy policies. We only share the minimum data necessary for each service to function.
Tenant-Configured Integrations
Business accounts may optionally connect the following services. Data is only sent to these services when the tenant has configured them:
- Microsoft Teams - Notification delivery via incoming webhooks (when configured by the tenant)
- Browser push notification services (Mozilla, Google, Apple) - For delivering real-time push notifications to team members who opt in
International Data Transfers
Most of our infrastructure and third-party processors are based in the United States. Plausible Analytics is the exception and is hosted entirely within the European Union (Germany), so no international transfer occurs for that data. If you are located in the European Economic Area (EEA), United Kingdom, or Switzerland, the rest of your personal data may be transferred to and processed in the United States. These transfers are conducted in compliance with applicable data protection laws using one or more of the following safeguards:
- EU-US Data Privacy Framework (where applicable)
- Standard Contractual Clauses (SCCs) approved by the European Commission
- Your explicit consent to the transfer
8. Data Retention
We retain data only as long as necessary for the purposes described in this policy. Specific retention periods:
- Account data (email, company name, settings) - retained while your account is active
- Email messages - automatically deleted after 90 days
- Email HTML content - stripped after 30 days (plain text retained for the 90-day period)
- Chat conversations and messages - retained while the tenant account is active
- Chat visitor interaction summaries - automatically deleted after 180 days
- Authentication audit logs (sign-in, sign-out, password reset, 2FA events) - automatically deleted after 365 days
- Other activity and audit logs - automatically deleted after 90 days
- Email status transitions log - automatically deleted after 730 days (24 months) per AI Act recordkeeping guidance
- Usage metrics - automatically deleted after 1 year
- In-app notifications - automatically deleted after 30 days
- Authentication rate-limit records - automatically deleted after 1 hour
- Password reset tokens - automatically deleted within 1 day of being used or expiring
- Pending 2FA verification tokens - automatically deleted within 1 hour of being used or expiring
- 2FA secrets and backup-code hashes - retained while you have 2FA enrolled on your account; deleted when you disable 2FA or delete your account
- Live visitor presence data - deleted within 5 minutes of the visitor leaving
If you delete your account, all associated data is permanently deleted. If you disconnect your Gmail account, all email data for that account is permanently deleted. You can disconnect your Gmail at any time from Settings.
9. Your Rights
You have the right to:
- Access your data through the Trigli dashboard (GDPR Art. 15)
- Rectification - request correction of inaccurate personal data (GDPR Art. 16)
- Erasure - request deletion of your personal data (GDPR Art. 17)
- Restriction - request that we restrict processing of your data (GDPR Art. 18)
- Data portability - request a machine-readable copy of your personal data (GDPR Art. 20)
- Object - object to processing based on legitimate interest (GDPR Art. 21)
- Withdraw consent - withdraw consent for optional processing at any time, without affecting prior processing
- Disconnect your Gmail account at any time, immediately stopping email access
- Delete your uploaded documents at any time
- Revoke Trigli's access to your Google account via your Google Account permissions page
We will respond to all data subject requests within 30 days. To exercise any of these rights, contact us at tommy@trigli.com.
If you are located in the EEA, you also have the right to lodge a complaint with your local data protection supervisory authority if you believe your data has been processed unlawfully.
Chat Visitors
If you have interacted with a Trigli-powered chat widget and wish to request access to or deletion of your chat data, please contact the business whose website you were visiting, or contact us directly at tommy@trigli.com with the website URL and approximate date of your interaction.
10. AI-Powered Processing
Trigli uses artificial intelligence to process customer support emails and live chat conversations. This includes:
- Automated classification of incoming emails
- AI-generated reply drafts and chat responses
- Confidence-based routing (high-confidence replies may be sent automatically if enabled by the tenant)
- Document search and retrieval to find relevant answers
Human oversight is maintained through confidence scoring, manual review queues, and the ability for tenant administrators to disable automated sending at any time. Chat visitors are informed they are interacting with an AI-powered assistant.
11. Children's Privacy
Trigli is not intended for use by individuals under the age of 18. We do not knowingly collect personal information from children.
12. Changes to This Policy
We may update this Privacy Policy from time to time. We will notify you of significant changes by posting the new policy on this page and updating the "Last updated" date. Continued use of Trigli after changes constitutes acceptance of the updated policy.
13. Data Protection Contact
If you have questions about this Privacy Policy, how we handle your data, or wish to exercise your data protection rights, contact us at:
Thomas Dempsey
Data Controller, Trigli
Email: tommy@trigli.com
For EU-based inquiries, we aim to respond within 30 days in accordance with GDPR requirements.