Terms of service.
Last updated: 2026-08-04
These terms govern your use of Charity Coffee — vended coffee machines that emit a per-cup donation record, web donations through /donate, the redeemable QR tokens printed on cups, and the public impact dashboard at /impact-screen and /our-impact. By using the service you agree to these terms.
What Charity Coffee does
We place premium self-service coffee machines at venues (offices, hospitals, universities, transport hubs). A fixed portion of the price of each cup is routed as a donation to a verified children's-education charity partner. The machine emits a donations row (cents, minutes_funded, school_id, venue_id), a purchases row (cup_id UUID, machine_id) and, where we mint a printed QR, a cup_tokens row linking the cup to a one-shot scan URL.
We also accept one-off and recurring web donations through Stripe at /donate. Stripe processes the payment on their side; our role is to confirm the completed session and write the matching donations row.
Vended purchases are final
Once a Charity Coffee machine dispenses a cup and writes the purchases row, the donation is final. Vends are physical goods that cannot be meaningfully "returned" — the cup has been dispensed, the donation has been routed, and the per-cup record has been written for audit. Refunds are handled case-by-case via support@cupcause.polsia.app; we do not guarantee a refund but will investigate any genuinely disputed transaction in good faith.
Web donations through Stripe
Payments made on /donate are processed by Stripe under their own terms and security model. We mark the donation as fulfilled only after Stripe confirms the session via /donate/poll; until that confirmation lands, your payment may not yet be visible to the partner school. Stripe handles refunds for confirmed web donations according to their standard policies; for charitable refunds, email us and we'll coordinate with Stripe and the partner.
Printed QR tokens on cups
Each cup that completes a purchase mints a unique random token exposed at /qr/[token]. By using a QR you agree that:
- The token is one-shot: the first scan marks
cup_tokens.used_atand subsequent scans see the celebration view only. - The token is redeemable only for impact-page views — it has no cash value, is not transferable, and cannot be exchanged for goods or services.
- The token is randomly generated and unforgeable in practice (64-character UUID class); please don't share a URL containing a valid token publicly, as that gift-wraps the redemption to whoever arrives first.
/impact-screen, /impact and /our-impact
The kiosk screens at /impact-screen and /impact and the public dashboard at /our-impact are unauthenticated, public, advertising-style views of aggregate donation data. The numbers shown are derived directly from the donations table:
- Lifetime cups sold
- School-days funded
- Schools reached
- Minutes funded, with country breakdown
These views carry no warranty of accuracy beyond the underlying aggregate counts. We display the data best-efforts, subject to standard database rounding and UTC-day grouping. They are intended for transparency, not financial accounting.
"As-is"
The service is provided on an "as-is" and "as-available" basis. We may take screens offline for maintenance, debugging, or partner onboarding. We try to keep the pilot machine operating during business hours but do not guarantee 100% uptime.
Limitation of liability
To the maximum extent permitted by law, our aggregate liability for any claim relating to a single donation, cup or scan is capped at the value of that donation or the price of that cup, whichever is lower. This cap does not apply where it would be unlawful to limit liability (for example, fraud or personal injury caused by negligence).
Changes to these terms
We may update these terms by posting a new version on this page. The "Last updated" date at the top of this page is the authoritative version. Continuing to use the service after an update constitutes acceptance of the new terms. For material changes — e.g. anything that affects the redemption rules on cup_tokens — we will email waitlist addresses in advance.
Contact us
Questions, disputes, refund requests: support@cupcause.polsia.app. Privacy requests: privacy@cupcause.polsia.app.