Privacy Policy
Last updated: October 19, 2026
This policy explains what data Storydump keeps, why, who else sees it, how long we keep it, and the rights you have. It describes what our software actually does today.
The short version
- We never sell your data, and none of it is used for advertising.
- Our Google Drive access is read-only. We keep references to your files, not the files; the only lasting copies are the approval cards in the Telegram chats you link.
- The copy of a Story we make for posting is deleted as soon as the Story is done, and a cleanup removes any copy older than 48 hours.
- We encrypt your Google and Instagram access tokens before storing them, and keep sign-in sessions and API tokens only as one-way hashes.
- Each workspace's data is walled off from every other.
- The IP addresses we use to stop abuse are deleted after 7 days.
- No tracking cookies, so no cookie banner.
1. Who we are
Storydump ("Storydump", "we", "us") is an independent project run by Christopher Rogers, based in the United States, who decides how the personal data described here is used (the "data controller" under GDPR). For any privacy question or request, email chris@storydump.app, which reaches him directly.
2. Scope
This policy covers the website at storydump.app (including the waitlist and the signed-in dashboard), our API at api.storydump.app, the Storydump Telegram bot, and the background worker that schedules and posts Stories. The services we use to run Storydump are listed in section 7. What they do with data on their side is covered by their own policies: Telegram, Instagram, Google, Cloudinary and PostHog.
3. Information we collect
Here is everything we keep, and where it comes from:
- Waitlist — if you join the waitlist:
- the email address you enter, when you first joined, and any campaign tags (
utm_source,utm_medium,utm_campaign, up to 100 characters each) in the web address of the page where you signed up. Joining again keeps your original entry. - a Telegram message: each time the form accepts a signup, our bot sends the email address and the time to each member of our team who has linked Telegram.
- when we invite you, your address, the date and an optional internal note on the list of addresses allowed to create an account.
To leave the waitlist, email chris@storydump.app from the address you joined with. We'll delete your entry, your place on that list, and the Telegram messages we received about your signup.
- the email address you enter, when you first joined, and any campaign tags (
- Account data
- From Google when you sign in: your Google account identifier, your verified email address, your display name, and when you last signed in.
- For each signed-in session: a one-way hash of its token and when it was last used, not your IP address or browser. For each API token you create: its name, who created it and when it was last used, with the token itself stored only as a hash.
- If you link Telegram: your Telegram user ID and username, or your first name if you have no username. When you start the bot in a chat, we also store that chat's Telegram ID and whether it is a direct chat or a group, so we can deliver to it.
- Workspace data — the names and settings of your workspaces; who belongs to each, in what role, and who added or removed them; invitations, including the invitee's email address or Telegram ID; who approved, scheduled or cancelled each Story; and a log of those actions with who took them and when.
If you have linked Telegram and you speak in, or are added to, a Telegram group linked to a workspace, we add you to that workspace as a member. Leaving the group does not remove you; a workspace owner or admin can, or you can email us.
- Google Drive content — only after you connect Google Drive, which is a separate step from signing in.
- To let you pick a folder, we list the names of the folders in your My Drive and in Shared with me. When you pick one, we look up which folders contain it (their IDs only, not stored) so two connected folders never overlap.
- After you pick one, we list the photos and videos in it and its subfolders, reading each file's ID, name, type, size, modified time, checksum and parent folder.
- We do not keep your files. We store a reference to each (its Drive file ID, name, type, checksum, folder and the subfolder it sits in), plus Google's access grant for your Drive, encrypted.
- We download a file when we send its approval card and when we post it. To post a Story, we upload a copy to our media processor, Cloudinary, which frames it for Instagram. We delete that copy as soon as the Story posts, fails or is cancelled, and a cleanup that runs every 6 hours deletes any copy older than 48 hours.
- If you link the Storydump Telegram bot, each approval card it sends carries the Story's photo or video and its file name, which stay in the chat like any other message.
- Instagram data — for the Instagram professional account you connect, with the
instagram_business_basicandinstagram_business_content_publishpermissions: an encrypted long-lived access token, the account ID and username, and posting history (Instagram media IDs and links, times, results and any error). - Operational data — queues, schedules, posting hours and content mix preferences.
- IP addresses — when you submit the waitlist form, sign in, or connect Google Drive or Instagram, we store your IP address with a count of attempts per minute, so we can limit repeated tries (for an IPv6 address on the waitlist form, only its first 64 bits). We delete these records after 7 days. Our hosting providers, Vercel and Railway, also keep request logs (IP address, the page requested, the time and, on Vercel, your browser's user agent) under their own retention settings.
- Usage analytics — PostHog, in cookieless mode, counts page views on the site and dashboard, and a few actions: starting, completing or failing a waitlist signup, opening an FAQ answer, clicking a call-to-action, Sign in or a link to the sample workspace, and tapping the demo. With each one it receives the page's address without its query string, the site you came from (its address only, not your search terms), your browser's user agent (browser, operating system and their versions, and device type), and any campaign tags in the page's address. Each page view also carries how long you stayed on the previous page and how far you scrolled it. Invitation and claim links (under
/join/and/claim/) send nothing, and PostHog receives no names, email addresses or account IDs.
4. Google user data — Limited Use disclosure
Storydump's use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
We ask Google for two things. Signing in uses the openid, email and profile permissions, which give us your Google account ID, email address and name. Connecting Drive uses Google's read-only Drive permission, drive.readonly. It technically allows reading your whole Drive; we only ever open the folders described below, and we never change or delete anything in your Drive.
How Storydump uses Google user data:
- Your Google account ID, email address and name, only to identify your account.
- Listing the folder names in your My Drive and Shared with me so you can pick a folder, then the photos and videos in that folder and its subfolders so you can build a posting queue.
- Downloading a file to show it on its approval card and to post it to your own Instagram account on your behalf.
- Storing each file's ID, name, type, checksum and folder to track your queue and avoid posting duplicates.
- Passing Drive data on only to do these things: a copy of the file to Cloudinary and Instagram to post it, and the file and its name to the Telegram chats you link.
What we never do with it:
- Sell Google user data, or transfer it for any purpose other than the ones above.
- Use Google user data for advertising, retargeting, or personalized advertising.
- Allow humans to read Google user data, unless we have your explicit consent for a specific file, it is necessary for security (e.g., investigating abuse), it is required by law, or the data has been aggregated and anonymized for internal operations.
- Use Google user data to develop, improve, or train generalized machine learning models.
5. How we use information
- To operate the service: send each Story for approval, then schedule and publish it.
- To run the waitlist: tell our team when someone joins, invite people in small batches as spots open, email you when your spot is ready, and learn from the campaign tags which links bring people to it.
- To deliver an invitation a teammate sends you, and to let that invitation admit you.
- To authenticate you and keep your session secure.
- To send approval cards (with the Story's photo or video), invitations and status messages to the Telegram chats you link.
- To keep Storydump safe and working: count attempts per IP address to limit abuse, keep a log of who changed what in each workspace, and read our services' logs to fix problems.
- To understand which pages and links people use (PostHog).
- To comply with legal obligations, including responding to lawful requests.
6. Legal bases for processing (GDPR Article 6)
- Contract — delivering the service you signed up for, including connecting Google Drive and Instagram, which Storydump cannot work without. Disconnecting them stops that processing.
- Consent — joining the waitlist. You can withdraw at any time by emailing us.
- Legitimate interest — security and abuse prevention (rate limits and the workspace action log), understanding which pages and links work (PostHog and campaign tags), and telling our team about new waitlist signups.
- Legal obligation — responding to valid legal process.
7. Sharing & sub-processors
We do not sell or rent your personal data. We share it only with the services below, each only for the purpose listed. When you link a Telegram group, everyone in it sees the approval cards, including each Story's photo or video and file name.
| Service | Purpose | Location |
|---|---|---|
| Vercel | Hosting the website and dashboard; request logs | US / global |
| Neon | Our database | US |
| Railway | Hosting our API and worker; service logs | US |
| Telegram | Runs the Storydump bot: approval cards to the chats you link, and each waitlist signup's email address and time to our team | Global |
| Meta (Instagram) | Connecting your Instagram account and posting your Stories | Global |
| Sign-in, and reading the Drive folder you choose | Global | |
| Cloudinary | Holding a private copy of a Story's file and framing it for Instagram | Global |
| PostHog | Counting page views and actions on the site and dashboard, without cookies | US |
We may also disclose data when required by law, to enforce our terms, or to protect the rights, property, or safety of users or the public.
8. Cookies & local storage
Storydump uses five cookies and one browser-storage entry, each needed for sign-in, invitations or remembering a choice, plus cookieless analytics:
| Name | Type | Purpose | Retention |
|---|---|---|---|
sd_session | HttpOnly cookie | Keeps you signed in; cleared when you sign out | 30 days at most |
storydump_workspace | Cookie | Remembers which workspace you are looking at (holds only its ID) | 30 days |
sd_oauth_nonce | HttpOnly cookie | Protects sign-in from forgery; deleted when sign-in completes | 15 minutes |
sd_claim | HttpOnly cookie | Carries a waitlist claim link through sign-in; deleted when sign-in answers | 15 minutes |
storydump_invite | HttpOnly cookie | Carries an invitation through sign-in; deleted when you accept it | 15 minutes |
storydump-waitlist-registered | localStorage | Remembers that this browser joined the waitlist (stores only "true", never your email) | Until cleared |
| PostHog | None (cookieless) | Aggregate analytics | — |
None of these is used for advertising or to follow you across other sites, so we do not display a cookie banner. PostHog runs in cookieless mode and keeps nothing in your browser. According to PostHog, it counts unique visitors with a code that changes every day and removes your IP address before storing an event, so it records no location.
9. Data retention
- Waitlist — your entry, and your place on the list of addresses allowed to create an account, until you ask us to remove them.
- IP addresses for rate limiting — deleted after 7 days.
- Copies for posting — deleted when the Story posts, fails or is cancelled; any left over are deleted once they are 48 hours old, by a cleanup that runs every 6 hours.
- Workspace data, queue, media references and posting history — kept while the workspace exists. Removing a folder or disconnecting Google Drive pauses them. When an owner deletes a workspace, it and everything in it is permanently deleted 30 days later; the log of actions taken in it is kept.
- Access tokens — when you disconnect Google Drive or remove an Instagram account, we stop using its token at once, and for Drive we also ask Google to revoke our access. The encrypted token stays in our database until the workspace is deleted. To cut off access on Instagram's side too, remove Storydump under Apps and websites in your Instagram settings.
- Your account — your sign-in details stay until you ask us to delete your account (section 14). You can unlink Telegram yourself at any time.
- Telegram messages — approval cards and waitlist signup messages stay in the Telegram chats they were sent to until someone deletes them.
- Server logs — kept by Vercel and Railway under their retention settings.
- Analytics — kept by PostHog under its retention settings.
- Backups — our database provider keeps a rolling history of the database so we can recover from mistakes; deleted data drops out of it as the history rolls forward.
10. Your rights
If you are in the EEA, UK, or Switzerland (GDPR):
- Access — request a copy of the data we hold about you.
- Rectification — correct inaccurate data.
- Erasure — request deletion (subject to legal exceptions).
- Restriction — limit how we process your data.
- Portability — receive your data in a portable format.
- Objection — object to processing based on legitimate interest.
- Withdraw consent — at any time, without affecting prior processing.
- Lodge a complaint — with your local supervisory authority.
If you are a California resident (CCPA / CPRA):
- Right to know what personal information we collect.
- Right to delete personal information.
- Right to correct inaccurate personal information.
- Right to opt out of "sale" or "sharing" of personal information. Storydump does not sell or share personal information as those terms are defined under the CCPA.
- Right to non-discrimination for exercising your rights.
Children (COPPA):
Storydump is not directed to children under 13, and we do not knowingly collect personal information from children under 13. If you believe we have collected such data, contact us and we will delete it.
Some controls are already in the dashboard: a workspace owner or admin can disconnect Google Drive or remove an Instagram account, anyone can unlink their Telegram account, and an owner can delete a workspace. For everything else, including a copy of your data, email chris@storydump.app. We handle these requests by hand and respond within 30 days.
11. International transfers
Our database, our servers and our analytics provider, PostHog, are in the US, and Telegram, Meta, Google and Cloudinary process data worldwide. Where a provider offers the EU's Standard Contractual Clauses in its data processing terms, those terms cover the transfer. Telegram offers no such terms, so messages sent through our bot are covered by Telegram's own privacy policy.
12. Security
- Encrypted in transit — the site and API use TLS and tell browsers to refuse anything else (HSTS), and our servers reach our database and other services over TLS too.
- Encrypted at rest — our database provider encrypts all stored data, and we encrypt your Google and Instagram access tokens ourselves before storing them.
- Hashed secrets — sign-in sessions and API tokens are stored only as one-way hashes, so a copy of our database would not let anyone use them.
- Walled-off workspaces — row-level security in the database keeps each workspace's data apart, and our servers connect as database users that cannot bypass it.
- Least access — the public waitlist form can add an address but cannot read the list, our servers send data only to a fixed set of services, Cloudinary copies are private and need a signed link, and we ask Google and Instagram only for the permissions named in sections 3 and 4.
No system is perfectly secure. If you believe you have found a security issue, please email chris@storydump.app.
13. Revoking Google Drive access
A workspace owner or admin can disconnect Google Drive at any time under Settings › Integrations in the dashboard. That stops our use of your Drive at once, and we ask Google to revoke our access. To confirm, or to revoke it yourself, visit myaccount.google.com/permissions and remove Storydump.
14. Deleting your data
To delete your Storydump account and the data tied to it, email chris@storydump.app from the email address on your account. We do this by hand and complete it within 30 days of your request, including removing your details from the workspace action log; deleted data then drops out of our database backups as they roll forward. In the dashboard, a workspace owner can delete a workspace under Settings › General, and it is permanently deleted 30 days later. You can unlink Telegram under Settings › Integrations at any time.
15. Changes to this policy
We may update this policy from time to time. The "Last updated" date at the top of this page always reflects the most recent revision.
16. Contact
Questions, requests, or complaints can be sent to chris@storydump.app.
See also our Terms of Service.