Built on the same infrastructure your bank uses.
Lawnager runs on enterprise-grade platforms (Vercel, Supabase, Stripe) and uses the same security primitives — TLS, AES-256, row-level isolation, signed webhooks — that protect Fortune 500 software. Here's exactly how your data is protected.
Encryption everywhere
All data in transit uses TLS 1.2+. All data at rest is encrypted at the database and storage layer using AES-256.
Authentication that works
Supabase Auth handles password hashing (bcrypt), session management, and Google OAuth sign-in. No passwords stored in plaintext, ever.
Tenant isolation
Row-Level Security policies in Postgres ensure your business data is never visible to another Lawnager customer, even in the unlikely event of a misconfigured query.
Hardened infrastructure
Hosted on Vercel (SOC 2 Type II) with database on Supabase (SOC 2 Type II). Both vendors are audited annually by independent third parties.
Webhook signature verification
Inbound webhooks from Stripe and Twilio are cryptographically verified before they're processed. Forged events are rejected at the door.
TCPA-compliant SMS
Two-path consent capture (customer-side checkbox + pro attestation), STOP keyword handling, opt-out enforcement at the send layer, and signed inbound webhooks. Built to A2P 10DLC requirements.
How payment data is handled
Lawnager never stores raw credit card numbers, CVCs, or full card data. All payment processing runs through Stripe — a PCI DSS Level 1 certified payment processor.
When a customer pays an invoice through their portal, the card details are sent directly from their browser to Stripe via Stripe Elements. Lawnager only sees the resulting token and the success/failure result.
Each lawn care business connects their own Stripe account, which means card data never crosses Lawnager's platform — funds settle directly to the operator's Stripe account, not ours.
Data residency & retention
Customer data is stored in Supabase databases located in US-East (Virginia). Vercel edge servers cache static assets globally for performance, but no customer business data is cached or stored at the edge.
When you delete a customer, quote, or invoice from your account, the row is soft-deleted with a 30-day recovery window before being permanently removed. Backups are retained for 30 days after that.
When you cancel your account, all business data is deleted within 90 days unless you export it first. Closed accounts are flagged immediately to prevent further data ingress.
Who can see your data
Inside your business: only members of your team that you've explicitly invited. Each team member's role (owner, manager, crew) determines what they can view and edit.
Lawnager staff: only the small subset that needs access to debug a specific support issue you raised, and only with your permission. We do not browse customer data for any other reason.
Third parties: data is shared only with sub-processors that perform a specific function (Stripe for payments, Twilio for SMS, Resend for email, Anthropic for AI features). Each sub-processor is bound by data-processing agreements. We do not sell data to advertisers or aggregators, ever.
Mobile information & SMS specifically
Mobile phone numbers — both yours and your customers' — are not shared with third parties or affiliates for marketing or promotional purposes. SMS is delivered through Twilio, which is bound by carrier-mandated content rules and our data-processing agreement.
Customers who reply STOP to any SMS are immediately opted out at both the platform level (sms_opt_out flag) and the carrier level (Twilio Advanced Opt-Out). The opt-out is permanent — if a customer is later re-imported by mistake, sends are blocked at the API.
Inbound STOP webhooks from Twilio are verified using HMAC-SHA1 signatures before any opt-out is recorded, preventing forged opt-out events from spoofed sources.
Operational security
Production access requires multi-factor authentication. Database queries are logged and monitored for anomalous patterns. Code changes require pull-request review and automated tests before deploy.
All vendor credentials (Stripe keys, Twilio tokens, Supabase service-role keys) are stored as encrypted environment variables in Vercel and never committed to source. Per-business Stripe keys live in our database with row-level encryption at rest.
Sentry error tracking captures unhandled exceptions across the platform so we catch incidents within minutes rather than waiting for customer reports.
What we do not yet have
We're being upfront about what we haven't earned yet. Lawnager is not yet SOC 2 Type II certified independently — we rely on the SOC 2 certifications of our infrastructure vendors (Vercel, Supabase, Stripe). For most lawn care operators this is more than sufficient. If your customers require a vendor SOC 2 report directly from us, contact us — we're tracking the timeline.
We do not currently publish a public uptime SLA. Realtime status and incident reports go to all customers via email. If 99.95% uptime is a contractual requirement for your business, contact our team about an Enterprise agreement.
We do not currently offer SSO/SAML beyond Google OAuth. Adding Microsoft and Okta SSO is on the roadmap; if it's a blocker for your team, let us know.
Compliance & certifications at a glance
TLS 1.2+ for all traffic
AES-256 encryption at rest
Vercel SOC 2 Type II (host)
Supabase SOC 2 Type II (database)
Stripe PCI DSS Level 1 (payments)
Twilio carrier-compliant (SMS)
TCPA-compliant SMS consent capture
GDPR / CCPA data subject rights honored
A2P 10DLC registered (US SMS)
Row-level security enforced at DB
Have a security question?
Need a sub-processor list, vendor questionnaire response, or to report a vulnerability? Email security@lawnager.com and we'll respond within one business day.