Skip to main content
Compliance posture

How we handle trust, by design.

A working document. We update it when our infrastructure choices change, and we publish it because compliance opacity is one of the harder failure modes in this market.

Section

TCPA — text messaging compliance

All SMS sent through TIM-built systems use carrier-verified, toll-free numbers with documented opt-in capture and double-confirmation flows. Every recipient is associated with a timestamped consent record stored alongside the message log, satisfying the evidentiary bar regulators expect for a TCPA defense.

Opt-out handling is automatic and immediate. STOP and HELP keywords are honored across every campaign without operator action; reactivation requires a fresh consent capture. The result is a defensible audit trail that most DIY SMS tools require you to assemble after the fact — and that most assemble incorrectly.

Section

SOC 2 Type II — infrastructure

Every platform we build runs on Microsoft Azure, which holds SOC 2 Type II attestation across the services we depend on (App Service, Communication Services, Application Insights, Managed Identity, Key Vault, Blob Storage). Microsoft’s Trust Center is the canonical reference: trust.microsoft.com.

Authentication uses Managed Identity exclusively in production — there are no service credentials to rotate, leak, or store in environment variables. Secrets live in Azure Key Vault; access is granted to Managed Identities, not to humans.

Section

PCI-DSS — payments

Where money moves, we delegate to Square, a PCI-DSS Level 1 service provider. Card numbers never touch the platforms we build — Square’s tokenized payment SDK handles card capture in a hosted iframe, and our systems only ever see the resulting tokens, receipts, and reconciliation records.

This is the same architecture that powers payments for Refresh 2026 and for the district-funded grant infrastructure. Your organization gets the audit trail and the settlement reporting without inheriting the PCI compliance scope.

Section

Data ownership

The applications we build run inside your Azure subscription, against your databases, billed to your credit card. We can host on our subscription during development, but production deployments transfer to the customer’s subscription before launch. There is no “our cloud” that your data lives in by default.

Code is delivered to a customer-owned GitHub or Azure DevOps repository. If our engagement ends, you keep the code, the data, and the operational instructions to run everything yourself. There is no lock-in by design.

Section

Telemetry and analytics

Application observability uses Azure Application Insights — first-party Microsoft telemetry, scoped to the platform’s own performance and error reporting. We do not deploy third-party analytics (Google Analytics, Segment, Mixpanel, Heap) on TIM platforms by default, and we recommend against doing so.

The reasoning is part performance (no third-party JS in the critical path), part privacy (no third-party data sharing to defend in front of a board), and part positioning (“owned, not rented” applies to telemetry as much as to everything else).

Let’s begin

Tell us about your mission. We’ll tell you what’s possible.