Surplus

Privacy Policy

Effective date: October 19, 2026

Surplus is an app that helps adults gain weight by eating enough, coached by an AI assistant in the app and over iMessage. Surplus is operated by Jayden Quaynor (“Surplus”, “we”, “us”). This policy explains what we collect, why, who helps us run the service, how long we keep it, and how to delete it.

The short version

1. Who can use Surplus

Surplus is only for adults aged 18 and over. During onboarding we ask your age and do not create a plan for anyone under 18. If we learn that someone under 18 has given us information, we delete it. If you believe this has happened, contact us at Jayden@viralinn.com.

2. What we collect and why

Account and contact details

Your profile, body and goals

Your onboarding answers: your goal (and, if you choose, your goal in your own words), current and goal weight, height, age, sex, activity level, training days and experience, your usual day (wake, sleep and training times), kitchen and transport access, eating habits, allergies and dietary restrictions, foods you like and won’t eat, preferred restaurants and grocery stores, budget, and how you want the coach to talk to you. We use these to calculate your calorie and protein targets and to coach you. We treat weight, body measurements, allergies and food intake as health information.

If you pick a school, we store which school it is so the coach and map can show that school’s dining hall menus. Dining hall menus come from the school’s public website and hold nothing about you.

Food log and progress

Meals and foods you log (in the app, by photo or by text), their calories and protein, weigh-ins, and the plan, streaks, missions and weekly reviews we calculate from them.

Purchases, when app billing is enabled

Apple and RevenueCat handle App Store membership purchases and access verification. We receive purchase or renewal status, product and transaction identifiers, and entitlement details so we can manage your access and avoid duplicate confirmations. The payment providers handle payment-account and card details; Surplus does not receive them.

For confirmed paid purchases, our analytics receives only a purchase or renewal category, general plan, billing provider and billing environment under a random analytics identifier. App purchase metrics use the account analytics ID; website purchase metrics use a separate random ID for each purchase. We do not export amounts, currencies, product or transaction identifiers, customer details or receipts to PostHog or Slack. Trials, restored access, a paywall view and a checkout click do not count as confirmed paid purchases.

Photos

When you take or choose a photo of a meal or a menu, we upload it to read what is on the plate or which dish to pick. Photos you take in the app go straight to us; Surplus does not save them to your photo library. A photo that is read is kept with the meal or chat message it belongs to so you can see it in your log. If you photograph what you didn’t finish so Surplus can lower a meal’s totals, that photo is deleted as soon as it has been read; we keep only how much was left. An uploaded photo that never gets read (for example, you closed the app mid-upload) is deleted automatically about 2 hours later. Choosing a photo from your library uses Apple’s photo picker, so Surplus only receives the photo you pick, never your library.

Messages with the coach

What you write to the coach in the app, what you text it over iMessage (including photos you text), and the coach’s replies. We keep the conversation so the coach remembers context and you can scroll back.

Location: your latest spot, kept for a day

Surplus uses your location only if you allow it, and only while you’re using the app. Nearby searches for places with Apple Maps on your phone. Surplus also sends our server your current location when you open the app, every few minutes while it stays open, and with each message you send the coach. The coach uses it to point you to the closest dining hall or food, including when you text it soon after closing the app.

To suggest what to eat nearby, we send the names and cities of the places found. When you ask Surplus about a place, we also send that restaurant’s public website, so we look up the right menu; that question and the place are kept with your conversation. Apple handles the map search under Apple’s privacy policy.

Device, usage and diagnostic information

What we don’t collect

3. How we use your information

We do not sell or rent your personal information, use it for advertising, share it for cross-context behavioral advertising, track you across other companies’ apps or websites, or use your health information for marketing. We don’t train our own AI models on your data.

4. How the AI coach works

To reply to you, the coach sends an AI model your message, recent conversation, your first name, the coach tone you chose, your goal and the day’s food and targets. When it needs them, it can also look up your food preferences, allergies and dietary restrictions, schedule, and recent weigh-ins. To read a photo, we send the image itself.

We send these through OpenRouter, a service that forwards each request to an AI model provider, such as OpenAI, Anthropic or Google. Those companies process the request to produce the reply under their own terms for API customers. Avoid including information you do not want processed by these services in your messages or photos.

AI can be wrong. Check calorie estimates that look off, and don’t rely on the coach for medical advice (section 11).

5. Who we share it with

We use the providers below to operate Surplus. They process information under their service terms and privacy policies. Only information needed for the relevant feature is shared.

ProviderWhat it does for SurplusWhat it receives
ClerkSign-in and accountsName, email or phone number, device identifier and details, IP address
ConvexOur database, file storage and server codeThe account and coaching data described in section 2; website waitlist emails and temporary email-delivery records. Clerk holds sign-in emails.
RevenueCat, when app billing is configuredApp Store purchases, membership entitlement and renewal statusAn opaque sign-in account identifier and App Store purchase, product, transaction and entitlement information. No coaching messages, meal photos, health values or precise location are sent to it.
OpenRouter, and the AI model providers it routes to (such as OpenAI, Anthropic or Google)Coach replies, reading photos and looking up restaurant menusThe message and context in section 4, photos you send, and the name, city and website of a restaurant you ask about
PhotonSending and receiving coach texts over iMessageYour phone number and the texts and photos you exchange with the coach
StripePayments on trysurplus.app (section 15)Your email, name and card or wallet details, which Stripe holds; we receive only the amount, payment status and email
VercelHosts trysurplus.appStandard web request data such as your IP address and browser type
PostHog, when enabledProduct, first-open, confirmed-purchase and website usage metricsApproved action names, times, a random account, installation, browser or per-purchase identifier as described above, and limited action or billing-category labels. No nutrition content, messages, photos, email addresses, precise location, payment amounts, card details, receipts or raw transaction identifiers.
Sentry, when enabledCrash and error diagnosticsScrubbed technical reports: generic failure labels, release and environment, time, code locations, and limited app, operating-system and hardware details. No account identifiers, nutrition content, messages, photos or email addresses.
LoopsApp account confirmations and requested waitlist emailsYour email address to deliver the app confirmation. For the website waitlist, it also receives the signup source, place in line and public invite link. Loops keeps delivery records and, for waitlist messages, subscription preferences. The one-time app confirmation does not add you to a marketing audience. Open and link-click measurement is disabled for both. This is separate from product analytics and crash diagnostics; no name, sign-in account identifier, coaching or nutrition data is shared.
Slack, when service alerts are enabledNotifies Surplus operators about service errorsA fixed service/project label, a deployment environment label, and a link to a scrubbed Sentry issue. No user or contact identifiers, nutrition values, messages, photos, raw error text or stack traces are forwarded.
Slack, when waitlist contact notices are enabledHelps the Surplus team manage waitlist signupsLoops can send your waitlist email address and a contact-added notice to the Surplus team’s operations channel. These notices are separate from the scrubbed service alerts above. They contain no coaching or nutrition data. The app’s transactional account confirmation does not create a marketing contact or trigger this contact-added notice.
Slack, when launch activity notices are enabledHelps Surplus operators monitor account creation, first observed app opens and confirmed paid activityA fixed event label and deployment environment. First-open notices also include whether the event is a test and a link to the Surplus launch dashboard. Purchase notices also include a general plan, purchase or renewal category, app or website label and billing environment. These notices contain no email, name, account or device identifier, health content, payment amount, currency, product or transaction identifier, or receipt.
AppleSign in with Apple, iMessage delivery, map searches on your phone, and App Store purchases when enabledUnder Apple’s own privacy policy

If we look up a food in a public nutrition database (USDA FoodData Central) or search the web for a food’s nutrition (Perplexity) or a restaurant’s menu (through OpenRouter’s web search), we send only the food, or the restaurant’s name, city and website, never information about you. Restaurant menus we find are saved without any link to who asked and shared with everyone who asks about the same place.

We may also disclose information if the law requires it, to protect the safety of anyone, or as part of a merger or sale of the business (we would tell you first and this policy would continue to apply).

6. iMessage

Connecting iMessage is optional; you can keep everything in the app. If you connect it, you text a short code to the Surplus number from your phone, which links that number to your account and records that you agreed to receive texts. (If you signed in with your phone number, that number is linked automatically.) Surplus never texts you first: only after you have texted the Surplus number does the coach reply and send check-ins, by default at most 3 a day and never during your quiet hours.

Texts travel through Apple’s iMessage service and Photon. Message and data rates may apply.

7. How long we keep it

8. Deleting your account

In the app, go to You > Delete account and confirm. We immediately sign you out, cut off access to your data and stop all coach texts. The backend erases your profile, plan, food log, weigh-ins, photos, conversation with the coach (including iMessage texts), product events and error records. The app also requests deletion of your Clerk sign-in account. If that request fails, the app tells you; contact support to finish deleting the sign-in record. Copies of messages on your device or recipients’ devices are not removed by account deletion.

Account deletion also removes queued account-linked integration deliveries and stops new exports for that account. Information already sent to PostHog, Sentry, RevenueCat, Loops or Slack is subject to those services’ retention and may require a separate provider-side removal step, including any waitlist contact notice in Slack. Contact us for help with that request. Deleting an app account does not by itself remove a separate website waitlist entry or the account-independent local first-open marker.

You can also contact Jayden@viralinn.com to request deletion. We may need to verify that the account belongs to you before acting on a request.

9. Your choices and rights

Depending on where you live (for example California, other US states, the UK or the EU), you may have rights to access, correct, delete or receive a copy of your personal information, to object to or restrict some uses, and to withdraw consent. To use any of them, email Jayden@viralinn.com. We will handle requests within the time required by applicable law and won’t treat you differently for asking. You can also complain to your local data protection authority.

10. Security

Data travels over encrypted connections (HTTPS/TLS). Account data is accessed through authenticated server functions. Photos may be served through storage links; treat those links as private. We use access controls to help protect data. No system is perfectly secure; if a breach affects you, we will tell you as the law requires.

11. Not medical advice

Surplus gives general nutrition and lifestyle guidance. It is not a medical device and does not diagnose or treat any condition. If you have a medical condition, an eating disorder, are pregnant, or take medication that affects your appetite or weight, talk to a doctor before changing how you eat.

12. Where your data is stored

Surplus is run from the United States, and our providers store and process data in the United States and other countries where they operate. Data may be processed outside the country where you live.

13. Changes to this policy

If we change this policy, we will update the effective date above, and explain significant changes through the app or another available contact method.

14. Contact

Questions, requests or complaints: Jayden@viralinn.com

Operated by Jayden Quaynor, United States.

15. The trysurplus.app website

The website collects a little information of its own, separate from the app:

We do not use website advertising, cross-site advertising tracking or session replay.

To leave the waitlist, get a refund or ask what we hold, email Jayden@viralinn.com.