Legal/Privacy Policy

Privacy Policy

We believe in complete transparency. This policy explains exactly what data we collect, why we collect it, and how we protect it.

Last updated: March 3, 2026
Payments by Paddle
No tracking or ad cookies
GDPR compliant

About this Policy

SpeakHalo ("we," "us," or "our") operates the SpeakHalo platform, an AI-powered voice call management service for home service businesses. This Privacy Policy describes how we collect, use, disclose, and protect your information when you use our services. By using SpeakHalo, you agree to the collection and use of information as described in this policy. Our legal entity is Uditha Suranjith, trading as SpeakHalo, 2/3 Salamal Place, Srimal Uyana, Rathmalana, 10390, Sri Lanka.

01

Information We Collect

Account Information

When you register, we collect your full name, email address, company name, industry type, and selected country. We require phone number verification via SMS one-time passcode (OTP) before registration is completed. We store a record of the phone number used for verification, the verification status, and the IP address of the request. If you enable two-factor authentication (TOTP), we store an encrypted TOTP secret. We also store your onboarding progress, notification preferences, and AI agent configuration settings.

Voice Call Data

When calls are processed through our platform, we collect caller phone numbers, recipient phone numbers, call direction, call duration, and call outcome. We generate and store AI-produced call summaries, action items, and text transcripts of both the caller and AI agent speech. Call recordings are hosted by our telephony provider (Twilio) and referenced by identifier. We do not store raw audio files on our own servers.

Messaging Data

For WhatsApp and SMS conversations routed through SpeakHalo, we store message content, sender and recipient phone numbers, message direction, delivery and read status, and timestamps. For WhatsApp voice notes, we store a transcription of the audio content. Media files shared via WhatsApp (images, documents) are downloaded and stored temporarily for processing.

Customer Data

You may store your customer information in our platform, including customer name, phone number, email address, physical address, service history, appointment records, lead status, notes, and total spend. This data is entered by you or captured during AI-handled calls with your customer's knowledge.

Image and Media Data

When you or your customers share photos through WhatsApp for equipment analysis, we process those images through our AI vision service. We store the image, any extracted text (such as model or serial numbers), the AI analysis result, and a diagnosis summary. Images are subject to file type validation, size limits (10 MB maximum), and security scanning.

Payment Information

Payment processing is handled entirely by Paddle, our Merchant of Record. We do not collect, store, or have access to your credit card numbers, billing addresses, or bank account details. We only store a Paddle subscription identifier and customer identifier to link your account to your subscription.

Technical and Device Data

When you sign in, we collect your IP address, device type, browser name, and operating system for security purposes (stored with your refresh token). We log IP addresses in audit records, cookie consent records, phone verification attempts, and API key usage. We do not use third-party analytics services, tracking pixels, or advertising SDKs.

Team Data

If you use team features, we store team member email addresses, roles, join dates, and invite records. Team invitations contain a secure token that expires after 7 days.

02

How We Use Your Information

We use the information we collect to operate and improve SpeakHalo:

1

To operate the AI voice agent service, including answering calls, processing speech, booking appointments, and sending follow-up messages on your behalf.

2

To provide caller recognition when enabled, using call and message history to personalize the AI agent experience for returning callers.

3

To generate call transcripts, summaries, and action items so you have a record of every interaction.

4

To analyze equipment photos and provide AI-generated diagnostic assessments for your customers.

5

To sync appointments with your Google Calendar when connected.

6

To process and manage your subscription, track usage against your plan limits, and calculate any overage charges.

7

To send transactional emails including appointment reminders, trial expiration warnings, usage alerts, team invitations, password resets, and email verifications.

8

To maintain security through audit logging, account lockout enforcement, and webhook signature validation.

9

To generate internal analytics (call volumes, response times, customer trends) computed entirely from your operational data.

10

To comply with legal obligations.

Your call recordings, transcripts, customer data, and business information are never used to train third-party AI models. Your data is processed in real-time for your service only.

03

AI Data Processing

SpeakHalo uses AI from multiple providers to power voice conversations, text chat, and image analysis. Here is exactly what data is sent to each AI provider during each type of interaction:

Voice Calls (Real-Time)

During a live voice call, the caller's audio is streamed in real-time to OpenAI's Realtime API via a secure WebSocket connection for AI processing. The system prompt sent alongside the audio includes your business name, industry, time-of-day greeting, industry-specific expertise, and relevant knowledge base articles. If caller recognition is enabled and the caller is recognized, their name, past service history, and appointment information may be included in the prompt context. We store the text transcript of both sides of the conversation, but we do not store raw audio files on our servers. OpenAI does not use API data to train its models, subject to OpenAI's API data usage policies.

Image Analysis

When a customer sends a photo through WhatsApp for equipment diagnosis, the image is sent to OpenAI's GPT-4o Vision API along with an industry-specific analysis prompt. The AI returns a diagnostic assessment. Customer names, phone numbers, or addresses are not sent with the image request. OpenAI does not use API data to train its models.

Text Chat and Messaging AI

WhatsApp and SMS conversations that use AI assistance send message text to Google's Gemini API for generating responses. Our website chat assistant also uses Google's Gemini API. Voice notes received via WhatsApp are sent to Google's Speech-to-Text API for transcription. In all cases, data is processed in transit and is not stored beyond what is necessary to complete the request, subject to each provider's API data usage policies.

04

Third-Party Services

We use the following third-party services to operate SpeakHalo. Each processes specific categories of your data:

OpenAI

Voice call audio streams (via the Realtime API for AI voice conversations) and images for analysis (via the GPT-4o Vision API for photo estimates). OpenAI does not use API data to train its models.

View their privacy policy

Google (Gemini AI, Speech-to-Text, Calendar)

Text prompts for AI-assisted messaging and our website chat assistant (Gemini API), voice note transcription (Speech-to-Text API), and calendar event details (Google Calendar API).

View their privacy policy

Twilio

Phone numbers, voice call audio, SMS message content, WhatsApp message content, media files, call recordings, delivery statuses.

View their privacy policy

Paddle (Merchant of Record)

Your payment card details (entered directly on their checkout page), billing address, subscription details. We never see or store your card number. Paddle acts as the Merchant of Record and is responsible for all payment processing, tax collection, and billing compliance.

View their privacy policy

SendGrid (Twilio)

Recipient email addresses and email content for transactional emails (appointment reminders, password resets, team invitations, usage alerts).

View their privacy policy

DigitalOcean

Our backend application (FastAPI), frontend application (Next.js), PostgreSQL database, and Redis cache are hosted on DigitalOcean infrastructure. DigitalOcean processes and stores all application data on our behalf.

View their privacy policy

Cloudflare

Our website uses Cloudflare for CDN, DDoS protection, and DNS security. Cloudflare processes IP addresses, browser information, and request metadata for security filtering and performance optimization.

View their privacy policy
05

Data Security

We implement the following technical and organizational security measures to protect your data:

Password hashing

BCrypt with work factor 12. Passwords are never stored in plaintext.

Token security

Refresh tokens are SHA-256 hashed before storage. Generated using cryptographically secure random number generators.

Encryption at rest

AES-256 encryption for sensitive data including TOTP secrets. Keys derived using PBKDF2 with 10,000 iterations.

Encryption in transit

All data transmitted over TLS. API endpoints enforce HTTPS.

Account lockout

5 failed login attempts triggers a temporary lockout. Separate lockout tracking for two-factor authentication attempts.

Webhook validation

Twilio webhooks verified with signature validation. Paddle webhooks verified with HMAC-SHA256 using timing-safe comparison.

File upload security

File extension whitelist, MIME type validation, magic byte verification, path traversal prevention, and 10 MB size limit.

API key protection

API keys are BCrypt hashed. Only the key prefix is stored in cleartext for identification.

Audit Logging

We maintain audit logs of significant account actions including the user, action type, IP address, user agent, and timestamp. These logs are used for security monitoring and are automatically cleaned up after 12 months.

06

Data Retention

Active account

Your account data, customer records, call transcripts, and messaging history are retained for as long as your account is active.

90 days

Media files (images, documents shared via WhatsApp) are automatically cleaned up after 90 days. Incomplete or failed call records are cleaned up after 90 days.

12 months

Audit logs and read notifications are automatically cleaned up after 12 months.

30 days after closure

After account closure, we delete your personal data within 30 days, except where retention is required by law or for legitimate business purposes such as dispute resolution.

7 days

Team invitation tokens expire after 7 days. Password reset tokens expire after 24 hours. Phone verification OTP codes expire after 5 minutes, and verification tokens expire after 15 minutes.

Our system uses soft deletion, meaning data is marked as deleted rather than immediately removed from the database. You can request permanent deletion of your data at any time by contacting us at support@speakhalo.com.

07

Cookies and Tracking

We use a minimal number of cookies. Our API uses stateless JWT (JSON Web Token) authentication transmitted via Authorization headers, not session cookies. The only cookie we set directly is auth_token (an essential HttpOnly, Secure cookie that stores your authentication session). Cloudflare, our CDN and security provider, may also set security-related cookies (__cf_bm, _cfuvid).

We do not use tracking cookies, advertising cookies, third-party analytics services (such as Google Analytics), tracking pixels, or any form of cross-site tracking. All analytics are computed internally from your operational data.

For a complete list of all cookies used, their purposes, durations, and how to manage them, please see our dedicated Cookie Policy.

08

Your Rights

Depending on your jurisdiction, you may have the following rights regarding your personal data:

Access

Request a copy of the personal data we hold about you.

Correction

Request correction of inaccurate or incomplete personal data.

Deletion

Request permanent deletion of your personal data, including hard deletion from our database.

Portability

Request your data in a structured, machine-readable format.

Restriction

Request that we limit how we process your data in certain circumstances.

Objection

Object to processing of your data for specific purposes.

Withdrawal

Withdraw consent at any time where processing is based on consent, including cookie consent preferences.

To exercise any of these rights, contact us at support@speakhalo.com. We will respond to your request within 30 days.

09

Children's Privacy

SpeakHalo is a business-to-business service designed for home service businesses and their operators. Our services are not intended for individuals under 18 years of age. We do not knowingly collect personal information from children. If we learn that we have collected personal information from a child under 18, we will take steps to delete that information promptly. If you believe we have inadvertently collected such information, please contact us at support@speakhalo.com.

10

Changes to This Policy

We may update this Privacy Policy from time to time to reflect changes in our practices or for legal, operational, or regulatory reasons. We will notify you of any material changes by posting the updated policy on this page and updating the "Last updated" date above. For significant changes, we will send a notification to the email address associated with your account. We encourage you to review this policy periodically.

11

Contact Us

If you have questions about this Privacy Policy, want to exercise your data rights, or have concerns about how your information is handled, please contact us:

Data Controller

2/3 Salamal Place, Srimal Uyana,
Rathmalana, 10390, Sri Lanka

We aim to respond to all privacy-related inquiries within 30 days as required by applicable regulations.

Chat with us