Privacy
This page is an initial draft. It is not a substitute for legal review.
What you type
When you generate consequences or explore a ripple, the decision and the relevant narrative context are sent to PlotRipple’s backend. The backend uses Google Gemini to produce the text. Do not enter personal, confidential, or sensitive information. Treat the field as fiction for the table, not as a place for real names, contact details, or private facts.
Local chronicles
Saved chronicles stay in this browser on this device. They are not synced to an account and the library is not sent to our servers. Another device or browser will not see them.
Rate limiting
When you generate consequences or expand a ripple, the backend uses your connection’s IP address only to enforce a usage limit. On the server, that IP is turned into a hashed, pseudonymous identifier with a secret. The original IP is not stored in Upstash. Only the hashed, pseudonymous identifier and the counter needed for rate limiting are sent to Upstash Redis, and the counter expires automatically after about 24 hours. Narrative text, decisions, consequences, and chronicles are never sent to Upstash.
Analytics and ads
PlotRipple may load Google Analytics 4 and Google AdSense. Those tags start with Google Consent Mode v2 set to denied for analytics storage, ad storage, ad user data, and ad personalization. PlotRipple does not grant that consent in its own code. When Google’s certified consent management platform (CMP) is published for this site in AdSense Privacy & messaging, that message can ask you to consent, refuse, or manage options for analytics and advertising. If you allow it, Google’s technologies may use cookies or local storage. You can review or change that choice later through the “Privacy and cookie settings” link provided by the CMP. The narrative text you type and the generated story text are not sent to Analytics or AdSense. This description is not a legal compliance guarantee.