Legal
Privacy Notice
Last updated 28 August 2026 · Presentify
The short version
To build a deck we send your prompt, your document’s text, your slide content, and pictures of your rendered slides to Google’s Gemini API. Your uploaded file is not kept, but the text pulled out of it is. Stripe handles cards; we never see them. A share link records a random viewer id and per-slide dwell time — no IP address, no name. There are no advertising or analytics cookies. Deleting your account erases your decks and the image files behind them, not just the rows that point at those files — section 9 says exactly what goes, and in what order.
1 · Who this is for
This notice covers Presentify — the app, the API, and the shared-deck viewer. It is written to be read, not to be survived, so it says what is stored in specific terms rather than in categories.
It applies to two different people: the account holder who builds decks, and the viewer who opens a share link without an account. Section 6 is for the second one.
2 · What we store
Your account. Name, email address, whether that address has been verified, an optional avatar URL, and a hash of your password — never the password itself. Each sign-in session records its token, its expiry, and the IP address and browser user agent it was created from, so that a compromised account can be traced afterwards.
Your decks. The title, the theme, the prompt you typed (or the text extracted from your document — see section 3), the audience, the approved outline, every slide and its speaker notes, images, the full revision history behind undo, and the copilot conversation on that deck including actions awaiting your confirmation. If you used the research pass, the findings it returned and the source URLs it cited are stored with the deck so its claims stay checkable.
Your preferences, remembered. The copilot keeps a short list of durable facts about how you like to work — stated preferences, and approaches you rejected so it stops proposing them. These can be scoped to one deck or to your whole account, and they are deleted with the account.
Billing. Your Stripe customer identifier and subscription status, plan, and period dates. No card numbers: see section 7.
Usage and cost. Per-period counters — decks created, slides generated, refinements, copilot turns, AI images — plus a modelled estimate of the AI spend your account caused, which is what enforces plan allowances and cost ceilings.
Product events and errors. Named events with a small set of properties (for example, that a deck was created, in which mode, on which plan), and error reports carrying the message, the stack trace, the route that failed, and the account and deck involved. Both are written to our own database; errors are also forwarded to an external monitor if one is configured.
Operational records. Background job rows for generation, PDF, and PowerPoint export; short-lived rate-limit counters that expire on their own; API keys you created; saved brand themes; collaborator invitations, which include the email address you invited.
3 · Uploaded documents, precisely
When you build a deck from a document, the file itself is not kept. It is parsed in memory — .docx, .pdf, .txt, and .md — the text is normalised, and the file is discarded when the request ends. There is no stored copy of your PDF or Word file.
The extracted text is stored, however, as the deck’s source prompt, up to roughly 200,000 characters. That is what lets the deck be regenerated and revised later without you re-uploading. It lives in the deck record, is deleted with the deck, and is sent to Google’s Gemini API in the same way a typed prompt is. If a document is too sensitive to send to an AI provider, do not upload it.
4 · What the AI provider sees
Presentify does not train or host its own model. Generation, the copilot, the design critique, and AI imagery are all calls to Google’s Gemini API through Google AI Studio. What we send is listed in section 7, and it is substantial: prompts, document text, slide content, and — for the critique step that catches overflowing text and weak contrast — rendered images of your slides.
Google’s handling of that content is governed by its own Gemini API terms, and those terms treat paid and unpaid tiers of the API differently, including in whether content may be used to improve Google’s services. If your organisation needs a specific guarantee on that point before you upload anything, ask us at the address in section 14 and we will tell you which tier the deployment you are using runs on.
7 · Who else handles it
Every third party in the path is named below, with what it receives. The application itself runs on a hosting provider, which necessarily processes requests in transit. We do not sell personal data, and none of these services is an advertising network.
Neon (managed Postgres)
The database: your account record, every deck, slide, revision, copilot message, share link, view count, and usage counter.
Always. Connections are TLS-only.
Google — Gemini API (via Google AI Studio)
Your prompt or the text extracted from your document, the audience and outline, slide content on every refinement, image-generation prompts, and — for the design critique — rendered PNG images of your slides. With the optional research pass, your topic is also run as a Google Search query.
Every generation, refinement, copilot turn, critique, and AI image.
Stripe
Your email address and whatever you type into Stripe's own checkout. Card details go to Stripe directly and never reach us; we store only the customer identifier and subscription status Stripe returns.
When you start, change, or cancel a paid plan.
Resend
The recipient address and the body of transactional email — address verification, password reset, collaborator invitations.
When one of those messages is sent. Without a Resend key configured, such messages are written to the server log instead.
Amazon S3 or Cloudflare R2 — optional
The image files used on your slides, stored as opaque blobs.
Only when object storage is configured. Otherwise images are written to the application server's own disk.
Pexels — optional
A short stock-photo search query derived from the slide. No account data, no deck content beyond the query itself.
Only as a fallback when AI image generation is unavailable, and only if a Pexels key is configured.
External error monitor — optional
Error reports: the message and stack trace, the route that failed, and the account and deck identifiers involved.
Only if an error webhook is configured.
8 · How long we keep it
Plainly: your decks stay until you delete them. There is no automatic expiry, and we would rather tell you that than imply a tidy retention schedule that does not exist. Rate-limit counters expire within minutes. Everything else — decks, slides, revisions, copilot history, share statistics, usage counters, product events — persists for the life of the account.
After you delete the account, Stripe retains its own record of your payments for as long as its own tax and accounting obligations require; that copy is not ours to erase.
9 · Deleting things
A deck. Deleting a deck removes its slides, revisions, copilot history, share links, all viewing statistics for those links, and the images on its slides — the stored image files themselves, not only the database rows that point at them.
Your account. Settings → delete account, confirmed with your password. That cancels any active Stripe subscription and then erases: your decks and their slides, images (the stored files as well as the rows), revisions, events, and copilot messages; your share links and their view records; collaborator invitations you sent and invitations pointing at you; saved brand themes; API keys; the copilot’s remembered preferences; usage counters; background jobs; product events; and the subscription record. It is irreversible, so export first.
How the image files go. Both of those deletions happen in one request, and in this order: the database rows first, the files in storage second. The rows first because that is the erasure you asked for and it has to complete even if the storage service is briefly unreachable, and because after it Presentify can no longer serve those images to anybody — a request for a deleted deck’s image is answered “not found” whether or not the file is still there. If a file cannot be removed at that moment, the deletion still stands and the failure is recorded, with the file’s storage key, so the file can be removed afterwards. What we will not do is call it done and forget it. If you need confirmation that a particular deck’s files are gone, ask at the address in section 14.
10 · Security
Passwords are hashed by the authentication layer and never stored in readable form. Share-link passwords are salted and hashed with scrypt and compared in constant time. Database connections require TLS. Every deck route checks ownership or an explicit collaborator grant before it reads or writes, and the expensive endpoints — generation, upload extraction, copilot turns — are rate limited per account.
No system is perfect. If you find a vulnerability, please tell us at the address in section 14 before telling anyone else.
11 · Where your data goes
The processors in section 7 operate internationally, so your content may be processed outside the country you are in — in particular by Google, for every AI call. Where the law requires a transfer mechanism for that, we rely on the terms and safeguards those providers publish.
12 · Your rights
Depending on where you live you may have the right to access a copy of your data, correct it, delete it, restrict or object to its processing, and ask for it in a portable form. Most of that is self-service: your decks are visible and editable in the app, exportable as PDF on every plan and as PowerPoint on paid ones, and deletable outright.
For anything the app cannot do for you, write to privacy@presentify.myapps.ai from the address on your account. We answer within 30 days. If you think we have handled your data badly, you can also complain to your local data protection authority.
13 · Children
Presentify is not intended for children. Do not create an account if you are under 16, or under the age at which you can consent to online services where you live if that age is higher. If we learn that an account belongs to a child, we will delete it.
14 · Changes and contact
When what we collect or who processes it changes, this page changes with it and the date at the top moves. For a change that materially affects you, we will email the address on your account.
Questions, requests, or a vulnerability report: privacy@presentify.myapps.ai.