Last updated: September 24, 2026
At SurgeTK, security is built in at every layer: how you sign in, how your data moves, where it is stored, and which services are allowed to talk to our app. The points below summarize the protections that are active in production today.
Security at a Glance
Encrypted everywhere: All traffic between your browser and SurgeTK uses HTTPS, and we enforce modern browser protections to block unsafe content and framing.
Strong account security: Email verification is required for new accounts. Two-factor authentication (2FA) with an authenticator app is required for email-and-password sign-in. We throttle sign-in and code-entry attempts to stop brute-force attacks.
Locked-down storage: Imported files, Surge packets, and exports live in private Amazon S3 buckets and are shared only through short-lived, expiring links. Profile photos, firm logos, and client photos are served from public image URLs.
Restricted database access: Our database is hosted on MongoDB Atlas and is reachable only from approved network locations over encrypted connections. It is not open to the public internet.
Trusted infrastructure and vendors: We run on Heroku and rely on a short list of vetted providers, listed at the end of this page.
How We Protect Your Account
Email verification: New accounts must verify ownership of the email address with a short-lived code before they can use the platform.
Two-factor authentication (2FA): When you sign in with your email and password, SurgeTK requires a code from an authenticator app after your first use. This reduces the risk of account takeover even if a password is guessed or phished. You manage it under Settings › My Security.
Sign in with Google or Microsoft: If you sign in with Google or Microsoft, SurgeTK relies on that provider's own multi-factor protection for your workspace account.
Rate limiting: We limit how often anyone can try passwords, 2FA codes, or verification codes. Excessive attempts are blocked and recorded as high-severity security events.
Protected sessions: Sign-in cookies are sent only over HTTPS and are not readable by scripts. A session ends after 7 days without activity.
Sign-in awareness: Each sign-in records the time, the approximate location (city and region), and the browser. You can review your last 10 sign-ins under Settings › My Security.
How We Protect Data in Transit and in the Browser
Always-on HTTPS: Connections to SurgeTK are encrypted in transit, and we tell browsers to only ever use secure connections when talking to our site.
Strict website rules: A content security policy limits what can run on our pages and which sites our app can connect to. The app loads scripts only from a short allow-list of providers: Stripe (payments), Intercom (support), Mixpanel (product analytics), Sentry (error monitoring), and the content delivery networks that serve our fonts and interface libraries. Vimeo and Loom are allowed only for embedded training videos.
How We Protect Stored Files
Private by default: Spreadsheets you import, Surge packets, Value Add PDFs, and exports are stored in private Amazon S3 buckets and are not directly accessible. When the app needs to show one, it uses a short-lived link that expires within minutes (up to one hour for packet downloads).
Encryption at rest: Amazon S3 applies server-side encryption to stored files by default.
Images: Profile photos, firm logos, and client photos are served from public image URLs so they can display quickly across the app. Do not upload documents as images.
How We Protect the Database and Network
Approved-only access: Our MongoDB Atlas database is reachable only from allow-listed network locations and requires encrypted connections. There is no broad "open to the world" access.
Hardened hosting: SurgeTK runs on Heroku. Database traffic leaves our app through fixed, known IP addresses so the database access rules stay precise.
Integrations and Data Sync Security
SurgeTK integrates with a small number of third-party services to reduce manual work. Each integration is purpose-built, scoped, and access-controlled so that only the data required is synced, and only when an Admin at your firm enables it.
CRM integrations (Redtail and Zoho)
Redtail and Zoho are used strictly as CRM data sources. When connected, SurgeTK reads client, household, account, holding, and beneficiary data into your SurgeTK workspace so you can generate Value Adds and run Surge without duplicate data entry.
Explicit opt-in: CRM integrations are off by default and only activate when an Admin connects them.
Scoped access: Zoho is connected with read-only OAuth scopes. Redtail is connected with your Redtail username and password.
Encrypted transport: All data pulled from Redtail and Zoho is transmitted over HTTPS.
Credentials at rest: Your Redtail password is encrypted at rest with AES-256-GCM and is never visible to SurgeTK staff in plain text. Zoho uses OAuth, so SurgeTK never sees your Zoho password.
Read-only: SurgeTK never writes anything back to your CRM.
Manual syncs only: Nothing runs on a schedule. An Admin starts every sync.
Revocable at any time: An Admin can disconnect Redtail or Zoho from Settings › Integrations. Disconnecting removes the stored credentials and stops further syncs. Data already synced stays in SurgeTK.
Calendar integration (Calendly)
Calendly is used only to bring scheduled meetings into a Surge's calendar. An Admin connects it from a Surge's Calendar Mode, and syncs run only when someone clicks Sync with Calendly.
What is read: the meetings inside that Surge's date range, with their time, time zone, name, location, and invitee names and email addresses. Invitee emails are matched to your clients' email addresses so each meeting lands on the right household.
What is not read: payment details, messages, or any Calendly data outside the Surge's date range.
Nothing is written to Calendly.
Encrypted connections: Calendly data is fetched over HTTPS, and the stored connection token is encrypted at rest.
User-controlled: An Admin can disconnect Calendly at any time. Meetings already synced stay on the Surge calendar.
Payments and billing (Stripe)
No card data stored by SurgeTK: Card details are collected and processed directly by Stripe. SurgeTK never sees or stores full card numbers. We keep only the card brand, last four digits, expiry, and billing address so you can recognize the card on file.
Encrypted transport: All payment activity happens over HTTPS.
Industry-standard compliance: Stripe maintains PCI DSS compliance for payment processing.
In-app support and messaging (Intercom)
Secure mode: SurgeTK generates a signed, time-limited identity token so Intercom can verify who you are without ever receiving your password or session cookie.
Scoped data: Intercom receives your name, email address, firm, role, and plan so support can help you effectively.
Service Providers
These providers support hosting, delivery, monitoring, and analytics. None of them receives your uploaded files or client records unless stated.
Provider | Purpose | What it receives |
Heroku | Application hosting and background workers | Runs the application |
MongoDB Atlas | Database | Your firm's records, encrypted at rest |
Amazon Web Services (S3) | File storage | Imported files, packets, exports, images |
Heroku Data for Redis | Sessions, job queues, real-time updates | Short-lived session and queue data, never the authoritative copy of any record |
QuotaGuard | Fixed outbound IP addresses for database access | Encrypted database traffic in transit |
Stripe | Payments | Billing contact and payment details |
Intercom | In-app support and Help Center | Name, email, firm, role, plan, and your support conversations |
SendGrid (Twilio) | Transactional email (welcome, verification codes, password reset, billing notices) | Recipient address, subject, and message content |
Sentry | Error monitoring | Error details with the user ID and email so we can follow up. Request bodies, cookies, passwords, and client records are never sent. |
New Relic | Performance monitoring | Response times, throughput, and request metadata. Never client records or files. |
Mixpanel | Product analytics, including session replays that show how the app is used | User ID, email, firm, role, plan, and in-app activity |
PostHog | Product analytics (server-side events) | Usage events and firm name |
IPinfo | Approximate sign-in location | The IP address of each sign-in |
Google and Microsoft | Optional sign-in | Only when you choose to sign in with them |
Redtail, Zoho, Calendly | Optional integrations | Read-only. See the sections above. |
Third-Party Content Policy
Blocked by default: SurgeTK blocks third-party scripts, frames, and resources unless they are explicitly approved.
Short allow-list: Only the providers named on this page are permitted to load, and only in the contexts where they are required.
Ongoing review: We review third-party services regularly to ensure they continue to meet our security and privacy standards.
Frequently Asked Questions
Do you require 2FA?
Yes, for email-and-password sign-in. After your first use, SurgeTK requires an authenticator-app code on every password sign-in. Google and Microsoft sign-ins rely on the provider's own multi-factor protection.
Are my files private?
Yes. Imported files, packets, and exports are private, encrypted at rest, and shared only through short-lived links. Profile photos, firm logos, and client photos are served from public image URLs.
Is the database open to the internet?
No. The database is reachable only from approved locations and over encrypted connections.
How do you prevent automated attacks?
We limit sign-in, 2FA, and code-verification attempts and treat excessive attempts as high-severity events.
Does SurgeTK write to my CRM or calendar?
No. Redtail, Zoho, and Calendly are read-only.
How can I contact support about security?
Use the in-app Messenger from within SurgeTK, or email [email protected].
Summary
SurgeTK applies layered controls: secure sign-in, encrypted connections, private storage with expiring access, restricted database networking, read-only integrations, and a short list of trusted providers. We review and improve these controls regularly, and we update this page as changes go live.
