This Privacy Policy describes how Viridian Labs ("we", "us") collects, uses, shares, and protects information when you use viridianlabs.co and its products, including MedVault and CardLedger (the "Service"). By creating an account or using the Service you consent to the practices described here.
We collect only the information needed to deliver the Service:
vl_2fa, Supabase auth cookies) necessary to keep you signed in. We do not use third-party advertising cookies.We do not store full credit-card numbers. CardLedger stores only a card nickname and the last four digits you provide — no PAN, CVV, or expiration data.
Your data is used strictly to operate the Service you signed up for:
We never use your data for advertising, profiling, or sale to third parties.
Consent is obtained at two distinct points:
Under GDPR, our lawful basis for processing is the performance of a contract (delivering the Service you requested) and legitimate interests (security, service improvement). Consent can be revoked at any time (see §8).
We do not sell, rent, or share customer data with third parties for their own purposes. We rely on the following subprocessors to deliver the Service, each bound by a data-processing agreement:
We may disclose information when legally required — court order, subpoena, lawful government request — and only the minimum responsive data.
By providing your phone number and opting in via our signup form or your account settings, you consent to receive SMS text messages from Viridian Labs at the number you provided.
Message types. We send the following categories of SMS:
Frequency. Message frequency varies by your account activity. Verification messages are sent only when you initiate sign-in. Notification messages reflect events on your account (e.g., a bill became due, a prescription was refilled). We do not send marketing SMS.
Costs. Message and data rates may apply. We do not charge for SMS, but your mobile carrier may.
Opt-in. You opt in by entering your phone number during signup at viridianlabs.co/signup and explicitly checking a consent box, or by adding a phone number in your account settings. Per-feature SMS preferences (refill alerts, bill reminders) are toggled separately. Each phone number is verified with a one-time test SMS before activation.
Opt-out. You can opt out at any time by replying STOP, STOPALL, UNSUBSCRIBE, CANCEL, END, or QUIT to any Viridian Labs SMS. You will be unsubscribed from all SMS immediately and receive a confirmation message. For per-category control (refill alerts, bill reminders, invoice alerts, payment alerts), use /account/notifications to toggle each category independently. Login verification codes are always on — they are a security requirement, not a notification.
Help. Reply HELP or INFO to any Viridian Labs SMS to receive support contact information. For direct support, email hello@viridianlabs.co.
Phone-number data handling. Phone numbers are stored encrypted at rest in our database. We do not sell, rent, lease, or share phone numbers or SMS content with third parties for marketing or advertising. We share aggregated, de-identified delivery metadata with our SMS provider (Twilio) solely for service delivery, deliverability monitoring, and abuse prevention, under Twilio's data-processing agreement.
CardLedger uses Plaid to read banking and credit-card data so we can categorize transactions, detect bills, and surface credit-card perks. Plaid integration is opt-in: nothing is read until you connect a bank account via Plaid Link inside the CardLedger product.
Plaid products we use. We request only what is required for the features you see:
We do not request Plaid Auth, Identity, Investments, Income, or Assets — none of those map to a CardLedger feature.
What we store. Your Plaid access token, item identifier, institution identifier, and transaction-sync cursor — all encrypted at rest. We also store derived data (categorized transactions, bill amounts, card balances) to power the dashboard. We never store: bank credentials, full account numbers, full credit-card PANs, CVVs, expiration dates, SSNs, or government-ID numbers. Plaid handles all credential entry inside its own consent surface; we never see your bank password.
How to disconnect. You can unlink any institution from CardLedger at any time via CardLedger settings. On unlink we call Plaid's itemRemove API and delete the related Plaid items, accounts, and any derived data within 24 hours.
Webhook integrity. All Plaid webhook events are cryptographically verified per Plaid's documented specification (JWT verification + body hash check) before any data is written to our database.
Viridian Labs uses Stripe in two distinct ways:
What we store. Transaction metadata (amount, currency, status, Stripe IDs), Stripe Connect account identifiers, and payout records. We do not store card numbers, CVVs, or full bank account numbers.
Webhook integrity. All Stripe webhook events are verified usingstripe.webhooks.constructEvent with a per-environment signing secret before any mirror is written to our database.
For more on how Stripe handles your data, see Stripe's Privacy Policy.
Data is encrypted in transit (TLS 1.2+) and at rest (AES-256 via Supabase). Access is governed by our Information Security Policy, including Row-Level Security on every database table, MFA (email OTP or WebAuthn) before any session can view financial or health data, and an append-only audit log of sensitive actions.
Customer data is retained for the life of your account. On account deletion, personal data is removed within 30 days. Audit-log entries are retained with your user identifier redacted so forensic traceability is preserved without keeping identifiable data. Plaid access tokens are deleted within 24 hours of an account unlink.
You may at any time:
Our subprocessors host data primarily in United States regions. If you access the Service from outside the U.S., your data is transferred to and processed in the U.S. under the contractual protections of each subprocessor's DPA.
Viridian Labs is not directed to children under 13 (or 16 in the EU). We do not knowingly collect personal information from children. If you believe a child has provided us information, please contact us for removal.
We review this policy quarterly and version it on change. Material changes will be emailed to active users and reflected in the version and effective date at the top of this page.
Viridian Labs
Privacy: privacy@viridianlabs.co
Security: security@viridianlabs.co
General: hello@viridianlabs.co