Security Overview

How TotalDeal is built, and what we will and won't claim about it

Written for the person on your team who has to sign off before a purchase. It describes the actual architecture, and it states plainly which certifications and capabilities we don't have — because finding that out on a call three weeks in wastes everyone's time.

Infrastructure

TotalDeal runs entirely on Google Cloud, through Firebase.

LayerWhat it runs on
Application hostingFirebase Hosting, served over HTTPS
DatabaseCloud Firestore
File and document storageGoogle Cloud Storage for Firebase
Server-side logicCloud Functions for Firebase, Node.js 20 runtime
AuthenticationFirebase Authentication

Google Cloud encrypts data at rest by default as a property of the platform. TotalDeal does not add application-level field encryption or customer-managed encryption keys, and we don't describe the platform default as though it were a TotalDeal feature.

Signing in

Email and password

Handled by Firebase Authentication. Credentials are managed by Firebase, not stored by TotalDeal. Password reset is sent by Firebase to the account email.

Google sign-in

Sign in with a Google account, so your organization's existing Google Workspace controls apply to the login itself.

Single-use sign-in links

Some flows use a one-time link. The token is validated server-side, marked used so it cannot be replayed, and expires. Link records are not readable by client applications.

No multi-factor authentication

TotalDeal does not currently offer MFA or 2FA on user accounts. If your policy requires it, using Google sign-in lets you enforce MFA at the identity-provider level instead.

Workspace access and permissions

Customer data is organized under a workspace, and access to it depends on an active membership record for that workspace.

Access rules are enforced server-side by Firestore security rules rather than only in the interface. A request for workspace data requires a signed-in user with a membership record for that workspace that has not been disabled, so removing or disabling a member cuts off access at the data layer.

RoleWhat it controls
OwnerFull access, including deleting the workspace and managing invitations. Financial visibility by default.
AdminWorkspace settings, team management, and administrative actions. Financial visibility by default.
ManagerTeam-level responsibilities such as forecast review. Financial visibility requires an explicit grant.
MemberDay-to-day CRM work. Financial visibility requires an explicit grant.

Financial information is treated separately from general CRM access: owners and admins see it by default, while managers and members need it granted to them explicitly. Outside of that, members of a workspace generally share access to that workspace's CRM records — TotalDeal does not offer record-level or field-level permissioning.

Operator access. A small number of designated TotalDeal operator accounts can access workspace data for support and platform administration. We'd rather state that than let you assume otherwise.

Client portal and shared link access

Your customers don't get TotalDeal user accounts. They reach shared material through a link, and it's worth understanding exactly what that means.

How access works

Portals, shared documents, and public invoice pages are reached through a long, unguessable token in the URL. The token is hashed before it's used to look up the record, so the stored reference is not the link itself. Anyone holding the link can open what it points to.

Turning access off

A portal can be disabled, a document's public link can be switched off, and invoice links can be deactivated or given an expiry date — all enforced server-side, so an old link stops working.

Optional extra gates

Some document links support a PIN, which is stored and verified server-side. A portal can also be limited to a list of email addresses; treat that as a friction control rather than strong authentication, since it doesn't cryptographically prove who's on the other end.

Portal roles

People you invite to a client portal get a role: Owner can sign, pay, and upload; Billing can pay invoices; Viewer is read-only.

The practical guidance: a portal link is a capability — treat it like a password. Send it to the people who should have it, disable it when an engagement ends, and add a PIN for anything genuinely sensitive.

Payments

TotalDeal never sees or stores full card numbers.

Customer payments run through Stripe. When you send a pay link, the customer enters their card or bank details on Stripe's own hosted checkout, not in TotalDeal. What comes back and gets saved against the invoice is a summary — card brand and last four digits — so your team can identify the payment. Card numbers and security codes are never collected or stored by the application.

Payments are made to your own connected Stripe account, so the funds relationship is between you and Stripe. Both card and US bank account payments are supported. TotalDeal's own subscription billing is handled by Stripe as well.

Data in transit and browser protections

The application is served over HTTPS.

These response headers are configured across the site:

HeaderValue
Referrer-Policystrict-origin-when-cross-origin
X-Content-Type-Optionsnosniff
X-Frame-OptionsSAMEORIGIN
Permissions-Policycamera=(), microphone=(), geolocation=()

A Content-Security-Policy and HTTP Strict-Transport-Security header are not currently configured, so we don't list them as controls.

Third-party services that process data

Being specific about this is usually what a security reviewer actually needs.

ServicePurposeWhen it applies
Google Cloud / FirebaseHosting, database, file storage, authentication, server functionsAlways
StripePayment processing and TotalDeal subscription billingWhen you use invoicing or pay a subscription
ResendSending transactional and campaign emailWhen email is sent from the workspace
OpenAIPowering AI features such as Ask and deal coachingWhen AI features are used (Pro plan)
Google AnalyticsMarketing website analyticsOn this public website, not inside the application
QuickBooks OnlineInvoice synchronizationOnly if you connect it
Apollo, SerpAPI, Hunter, Google MapsOptional lead search and enrichment integrationsOnly if you enable them with your own API keys

On AI and your data: when a workspace uses AI features, relevant CRM content is sent to OpenAI to generate the response. AI features are available on the Pro plan, and there are server-side controls that let us disable individual AI features or all of them.

Activity history

Records carry an activity history, and several sensitive flows write server-side event logs that clients cannot modify — document lifecycle events, client-portal document activity, and server-executed actions among them. Documents also track when they were viewed and by whom on the customer side.

This is useful for reconstructing what happened on a deal or a document. It is not a unified, exportable, compliance-grade audit log across the whole workspace, and we won't describe it as one.

What we do not claim

Everything in this list is something TotalDeal does not have today. If any of it is a hard requirement, we're likely not the right fit yet — and it's better to know now.

TotalDeal is built for growing B2B teams, and this list reflects that honestly. If your buyer's security review requires a SOC 2 report, TotalDeal will not clear it.

What we can confirm

Questions this page doesn't answer

If your review needs details on data residency, retention periods for a specific record type, backup and recovery procedures, incident response commitments, or a signed data-processing agreement, ask directly rather than inferring an answer from this page. Bring the question to a demo or email support and you'll get a straight response, including where the answer is "we don't have that."