Privacy notice
Who we are
CardByMail is run by ABCD Group LLC, doing business as CardByMail. We decide what personal information the site collects and why (“we”, “us”). You can reach us at hi@cardbymail.com.
What we collect
We collect what you give us and what we need to run your plan. The questionnaire asks about limits, not about who you are: it doesn’t ask your age, gender, occupation, income or relationship status.
Your account
- What
- Your email address and password. A copy of your email address is also kept with your account record, so we can answer support questions.
- Why
- To create your account, sign you in, and send the confirmation and password-reset emails.
- Held by
- Supabase. Passwords are handled by Supabase Auth and aren’t stored in our own database tables.
Your mailing address
- What
- Your full name, street address, apartment or unit, city, state and ZIP code. We don’t ask for a phone number; if Stripe passes one back with your checkout details, we store it with your address.
- Why
- To mail your cards.
- Held by
- Supabase. We also send your address to Stripe so your Stripe record matches. Subscribers give it on Stripe’s checkout page and people who redeem a gift give it on our form; either way you can edit it on your account page.
Payments and billing
- What
- Which plan you’re on, its status and renewal dates, and Stripe’s IDs for your customer record, subscription and payments. Stripe collects your card or bank details and, when needed, a billing address. Those never reach us.
- Why
- To take payment, renew your plan, and know whether your cards should go out.
- Held by
- Stripe holds the payment records. Supabase holds a copy of your plan’s status.
Gifts
- What
- If you buy a gift: the optional first name (up to 80 characters) and note (up to 280) you type, the Stripe IDs for the payment, and a link to your account if you were signed in. We store the gift code only in hashed form, so it can’t be read back from our database. If you buy without signing in, we don’t store your email address; Stripe handles what it collects at checkout, and its record of the purchase also holds the name and note. If you redeem a gift, we hold your account, address and answers like any other member’s.
- Why
- To make the gift work: issue a single-use code, show it to the buyer, and let one person redeem it.
- Held by
- Supabase and Stripe.
Your answers
- What
- Your Surprise Level, up to three words for your general vibe, how much time and money a card can take, how many other people it can involve, where your life happens, and what is off limits. Optionally, a city or ZIP code (up to 80 characters) and a free-text note (up to 500). If you answer for someone else, their first name.
- Why
- So we can choose cards that fit your limits.
- Who sees it
- You, on your account page, and us. Whoever gave you a gift can’t see your answers or your address.
- Held by
- Supabase.
The off-limits list includes topics such as religion, politics and dating. Choosing them tells us something about you, and the free-text fields can hold anything you choose to type, including sensitive details. Add only what you’re comfortable with us holding. We never ask for your device’s location: the city or ZIP is only the words you type.
What our systems record
- What
- Counters that limit how often someone can try to redeem a gift code or start a checkout, keyed to your account or to a keyed hash of your IP address, never the IP address itself. Records of payment events from Stripe (event IDs, types and outcomes), and alerts when something in billing needs attention, which can refer to your account’s ID. These hold IDs and outcomes only: not your address, answers, notes or gift codes.
- Why
- To keep the service working, stop abuse, and find and fix billing problems.
- Held by
- Supabase. Our hosting provider (Vercel) and our database provider (Supabase) also keep technical logs under their own policies, which may include IP addresses.
Cookies and browser storage
This site has no analytics or advertising trackers, and sets no tracking cookies.
- Sign-in. Supabase Auth keeps your session in your browser’s local storage so you stay signed in. Signing out clears it.
- Short-lived notes. So a page can remember where you were going, and a half-finished form can survive a refresh, your browser keeps: where you were headed and the address you just signed up with (24 hours), a gift code you were about to redeem (1 hour), and unfinished questionnaire answers, which can include a first name, a city or ZIP and a note (30 days). These stay on your device, and signing out clears them.
- A gift buyer’s cookie. If you buy a gift without signing in, we set one cookie that scripts on the page can’t read. It lets that browser see the page that shows the code for 30 days. It holds a random token, and we store only a hashed form of it.
Stripe’s checkout and billing pages are run by Stripe and may set cookies of their own; see Stripe’s privacy policy.
Why we use it
- To create and secure your account, and send the sign-in emails.
- To take payment and run your plan: renew it, show its status, and let you cancel.
- To mail your cards to your address.
- To choose cards that fit your limits.
- To make gifts work: issue a code, let one person redeem it, and show the buyer the code.
- To keep the service working, stop abuse, and find and fix billing problems.
Who else handles it
These service providers handle personal information for us to run CardByMail.
- Stripe: payments, billing, receipts and the customer billing page. It receives your email address, name, shipping and billing address, and payment details.
- Supabase: account sign-in, our database, and the sign-in and password-reset emails sent by Supabase Auth. It holds the information described above that we store.
- Vercel: website hosting and scheduled jobs. It runs the website and our server code, so your requests pass through it.
- Delivery partners: postal and delivery carriers, and any printing or fulfilment partner we use to make and send cards. They receive your name and shipping address.
This list is current as of the “Last updated” date above, and we update this page when it changes.
This site uses no analytics, advertising or AI services.
Where data is stored
Account data is stored in the US, in the database and hosting we use. Stripe may process payment data in the US and in other countries where it operates, under its own terms.
How the providers handle it
These providers handle personal information to provide their services to us, under their own terms and privacy policies and, where they offer them, data processing terms that limit what they may do with the data. We share personal information with them only to run CardByMail, not for their own marketing. Stripe also acts on its own account for some purposes, such as preventing fraud and meeting legal obligations; its terms and privacy policy explain this.
How long we keep it
- Account, address, answers and notes
- Kept while your account exists. If you ask us to delete your account, we delete or anonymise them, except for records we have to keep. When a plan or gift ends we keep your address and answers so you can come back.
- Billing, payment, tax and accounting records
- Held by Stripe and, as needed, by us. Kept for as long as the law requires and for legitimate accounting purposes.
- Gift records
- Kept for the life of the gift, and afterwards for accounting and to prevent fraud.
- Rate-limit counters
- Operational data. A daily job deletes counters older than 24 hours.
- Payment event records and alerts
- Operational data, kept only as long as we need it to run and fix billing.
- In your browser
- See Cookies and browser storage, above.
To ask for your information to be deleted, email hi@cardbymail.com. See “Your choices and requests”.
How we protect it
- Card and bank details never reach our systems; Stripe handles them.
- Every table in our database has row-level security switched on. Signed-in visitors can read only their own rows and can’t write to any table: every change is made by our server code.
- Gift codes are stored only in hashed form, and a code can be redeemed once.
- IP addresses are used only as a keyed hash, for rate limits.
- Payment updates from Stripe are signature-checked and confirmed with Stripe before we act on them.
- Secret keys stay on our server and are never sent to your browser.
- Our logs hold IDs and outcomes, not your address, notes or gift codes.
No method of storing or sending information is completely secure.
Children
You must be at least 18 years old to create or hold an account, or to buy.
CardByMail isn’t directed to anyone under 18, and we don’t knowingly collect personal information from anyone under 18. We don’t ask for your age, so we can’t check it. If you think someone under 18 has given us personal information, email hi@cardbymail.com.
Your choices and requests
What you can do yourself
- Edit your mailing address, Surprise Level and answers on your account page.
- Update your payment method, see invoices and cancel from “manage billing” on your account page, which opens Stripe’s billing page.
- Change your password with “forgot your password?” on the sign-in page.
- Sign out to clear what the site keeps in your browser.
What you can ask us to do
There is no self-serve tool yet to delete your account or download your information. To ask for either, or to change the email address on your account, email hi@cardbymail.com. We handle these requests by hand. We respond within 30 days of receiving a verifiable request. We extend that period only where the law allows, and we tell you why.
Deleting an account: if it has a subscription, that is cancelled first. We then remove your profile, address, answers, card queue and gift entitlements from our database. A gift you bought stays valid for whoever it was given to, but is no longer linked to you. Stripe keeps its own payment records under its own policies, and we may need to keep some records (see How long we keep it).
Your rights
Depending on where you live, you may have the right to access, correct, delete, receive a copy of, object to or restrict the use of your personal information, and to withdraw consent where we rely on it. Residents of some US states (for example California) and of the EU and the UK may have additional rights under local law.
We do not sell your personal information, and we do not share it for advertising. We won’t treat you differently for exercising your rights.
To make a request, email hi@cardbymail.com. We may need to verify your identity before we act on it.
Where one applies, you can lodge a complaint with your local data protection authority.
Changes to this notice
We may change this notice. When we do, we’ll update the “Last updated” date at the top of this page. The current version is always the one on this page.
Contact
Questions about this notice, or a request about your information: email hi@cardbymail.com.