APS Online Privacy Policy
Effective date: 5 November 2026
Last updated: 5 November 2026
This policy explains what personal data APS Online collects, why, who receives it, how long we keep it, and what you can do about it.
In short
- We collect what we need to run your account and your decks. We show no ads, use no analytics or tracking cookies, and do not sell personal information.
- When you use an AI feature, your content goes to the model endpoint you chose, under that endpoint's own terms.
- Text you write for the AI is checked by Waffo's prompt-screening service before it is sent to your model.
- Payments are handled by Waffo as merchant of record. We never see your card details.
- You can download your data and delete your account at any time in Settings.
1. Who is responsible
APS Online (https://apsdeck.com) is operated by Liu Lei, an individual based in Changping District, Beijing, China ("we", "us"). We are the controller of the personal data described here. Contact: [email protected].
This policy does not cover services you choose to connect or use alongside APS, such as your model provider or endpoint, Google, GitHub, or the Waffo checkout. They have their own privacy policies.
2. What we collect
2.1 Account and sign-in
- Your email address (required).
- Your name, if you sign in with Google or GitHub (you can also set a display name in your profile).
- Your Google or GitHub user ID, if you sign in with them.
- Your account ID, when you signed up and last signed in, and your interface language (used for emails we send you).
- Your invite code and, if you joined through someone's invite link, which account invited you.
- One-time sign-in codes. We store only a hash of the code, valid for 10 minutes, plus the times recent codes were sent, so we can limit how often codes are sent.
- Sessions. Your browser keeps a random token in a cookie; we store only a hash of it, with its creation and expiry time.
2.2 Membership and payments
- Your trial or membership end date, and a record of the time added to your account (trial, purchases, invite rewards) and of any refunds.
- Orders: order number, plan, amount, currency, status, dates, and Waffo's reference for the order.
- When you start a purchase, we pass your email address, the order number, the plan and the price to Waffo. Waffo collects your payment details directly; we never receive your card number.
2.3 Your content
Everything you put into APS: decks (slides, speaker notes, settings), files you upload (scripts, documents and images, including the original uncompressed images), your asset library, avatar and character images, brand settings, your templates and colour schemes, AI chat history and summaries, canvas notes, version and change history, generation plans, share-link settings and published copies, and records of what you published to GitHub Pages. Your content may include personal data about you or other people; you decide what to put in.
2.4 Model connections and credentials
- For each connection: its name, type, endpoint address, chosen model, and the result of checking whether the model can see images.
- API keys and sign-in tokens (including your GitHub authorisation, if you publish to GitHub Pages). These are encrypted at rest (AES-256-GCM) with a key that is kept separately from the stored data.
2.5 Prompt-screening records
When the screening service blocks a request or holds it for review, we record the time, your account ID, the result, the category given, and Waffo's request ID. We do not keep the text you wrote.
2.6 Technical data
- Your IP address and request details pass through Cloudflare and our server so the Service can work. Our application does not store IP addresses.
- Cloudflare tells our server which country a request comes from. We use this for each request to decide which model connections are available to you, and we do not store it.
- Our server keeps application logs (for example errors and payment events). They can include account IDs and order numbers. We do not intentionally log your content. Logs are rotated and overwritten automatically.
- For password-protected share links, we count failed password attempts in memory to slow down guessing. These counters are not saved.
2.7 When you contact us
Your email address and whatever you write to us. Email to [email protected] is received through Cloudflare Email Routing and forwarded to a Gmail mailbox provided by Google, where we read and answer it.
3. How we use your data
| Purpose | Legal basis (EEA/UK) |
|---|---|
| Running your account, signing you in, storing and processing your content, and running AI features when you ask | Performing our contract with you |
| Memberships, payments, invite rewards and refunds | Contract; legal obligation (keeping financial records) |
| Service emails: sign-in codes, and reminders before and after your membership ends (7 days before, 1 day before, and after it ends) | Contract; legitimate interests (telling you about your account) |
| Security, preventing abuse, prompt screening, enforcing our terms | Legitimate interests (keeping the Service and other people safe, and meeting our payment provider's requirements); legal obligation |
| Answering your messages | Contract; legitimate interests |
| Complying with the law and responding to lawful requests | Legal obligation |
We do not send marketing emails. If we ever do, we will ask first where the law requires it, and every such email will have an unsubscribe link. We do not use your data for advertising or profiling, and we do not use your content to train AI models. Prompt screening is automated, but it only decides whether a request goes to your model; if you think it got something wrong, contact us.
4. AI processing: where your content goes
When you use an AI feature, APS sends the content needed for that feature to the model endpoint you chose, using the credentials you gave us. Depending on the feature, this can include your message, the pages or elements in scope, the text and structure of your deck, text from files you uploaded, your chat history or a summary of it, image prompts, and images. For models that can see images, it also includes slide screenshots (for visual layout checks) and downscaled copies of images you upload (described automatically in the background so you can search your assets by what they show).
That endpoint may be the model provider itself or a third-party service that relays requests to another provider. Whichever endpoint you chose receives the content and handles it under its own terms and privacy policy, including whether it stores your content or uses it for training. We do not control this. Please check an endpoint's policies before connecting it, especially if it is a third-party relay.
Prompt screening. Before text you write for the AI is sent to your model, it is sent to Waffo's Prompt Sift service for a content-safety check. Waffo's documentation says the check is stateless and the text is not kept after the result is returned. Images are not sent for screening.
5. Who receives your data
| Recipient | What | Why | Where |
|---|---|---|---|
| Cloudflare, Inc. | All traffic to the site (IP address, request data, content in transit) | DNS, proxy, security, encryption in transit | Global network |
| Amazon Web Services (Lightsail) | All stored data | Server hosting and daily backups | Singapore |
| Resend | Your email address and the content of emails we send | Sending sign-in codes and membership reminders | United States |
| Waffo (Waffo.com Limited and affiliates) | Email, order number, plan, price; Waffo collects payment details itself | Payments, as merchant of record. Waffo is an independent controller of transaction data under its own privacy policy | Hong Kong; may transfer to other countries, including the United States |
| Waffo Prompt Sift | Text you write for the AI | Content-safety screening (see section 4) | As above |
| Google or GitHub (optional sign-in) | You sign in with them; we receive your account ID, verified email address and name | Signing you in | United States |
| The model endpoint you connect | Content as described in section 4 | Running AI features you use | Wherever that endpoint operates |
| GitHub (optional publishing) | Deck files you publish, using your authorisation | Publishing to your own GitHub Pages site (public) | United States |
| Cloudflare Email Routing (Cloudflare, Inc.) and Gmail (Google) | Emails you send to [email protected], and our replies | Receiving, forwarding and answering your messages | Cloudflare's global network; Google: United States and other countries where Google operates |
| People you share with | The published copy of your deck | Share links you create | — |
We may also disclose data when the law requires it, to protect people's rights and safety, or to report child sexual abuse material to the authorities. If the Service is transferred to someone else, your data goes with it under this policy, and we will tell you.
We do not sell personal information and do not share it for cross-context behavioural advertising.
6. International transfers
Our server is in Singapore, and the providers above process data in other countries, including the United States and Hong Kong. Where the law requires a safeguard for such transfers, we rely on the data-processing terms our providers offer, such as standard contractual clauses.
7. How long we keep data
| Data | How long |
|---|---|
| Account and membership data | While your account exists. Deleted when you delete your account, except as listed below |
| Your content | Until you delete it. Deleted decks stay in the trash for 30 days and are then permanently deleted (you can empty the trash sooner). Version history is kept while the deck exists: every version from the last 7 days, then one per day. Export files are deleted after about a day; unfinished uploads after about a day. When we upgrade the data format, or when you restore a backup with "overwrite", a safety copy of the previous data is kept in your account's storage until you delete your account |
| Share links | Until you revoke the link, the deck is permanently deleted, or you delete your account. A link past its expiry date stops working, but its copy is kept until you revoke it |
| Sign-in codes | Valid for 10 minutes; the record is removed within about a day |
| Sessions | Expire after 30 days, then removed |
| Order records | 10 years after the order, to meet tax and accounting rules. Kept after you delete your account, with only your account ID (not your email) |
| Prompt-screening records | 12 months. Kept after you delete your account, with only your account ID |
| Application logs | Rotated by size and overwritten automatically |
| Backups | The server is backed up daily and the 7 most recent backups are kept, so deleted data disappears from backups within about 7 days |
| Your messages to us | As long as needed to handle your request and any follow-up |
Expired accounts are kept until you delete them. If we ever start deleting accounts that have been expired and inactive for a long time, we will email you at least 30 days in advance. Third parties keep data under their own policies; for example, Waffo's buyer terms say it keeps transaction records for at least 24 months.
8. Your choices and rights
- Download your data. Settings → Data → Download backup gives you a .zip of your decks, assets, chats, versions, asset library, templates, colour schemes, profile and preferences. It does not include model connections, keys, share links or account records; ask us for a copy of your account, membership and order data.
- Correct it. Edit your profile in Settings. To change your account email, contact us.
- Delete it. Delete any content at any time. To delete your whole account, go to Settings → Account → Delete account. This immediately deletes your content, model connections and keys, share links (they stop working at once), sessions, membership records and your account record. What is kept afterwards is listed in section 7.
- Disconnect. Remove model connections in Settings; disconnect GitHub in the publish dialog and revoke the authorisation in your GitHub settings.
To make a request, email us from your account's email address. We may need to confirm it is you. We will reply within one month (longer only where the law allows), free of charge.
EEA and UK. You have the right to access, correct, delete, restrict or port your data, to object to processing based on legitimate interests, and to withdraw consent where we rely on it. You can also complain to your local data protection authority.
California and other US states. Depending on where you live, you may have the right to know what personal information we collect, and to ask us to delete or correct it. We will not treat you differently for using these rights. We collect the categories described in section 2: identifiers (such as email and account ID), commercial information (orders), limited technical data, and the content you provide. We do not sell or "share" personal information as those laws define it.
Elsewhere. We will handle your request under the law that applies to you.
9. Cookies and browser storage
We use no advertising or analytics cookies. We use only these:
| Name | Purpose | Lasts |
|---|---|---|
aps_account | Keeps you signed in | 30 days |
aps_oauth_state | Protects Google or GitHub sign-in | 10 minutes |
aps_invite | Remembers an invite link until you sign up | 30 days |
aps_share | Remembers that you entered a share-link password | Up to 7 days, or until the link expires |
APS_LOCALE | Interface language | 1 year |
APS_HOME_SORT, APS_STATUS_DISMISSED | Workspace sort order and dismissed notices | 1 year |
APS_EXPIRY_SNOOZED | Hides the membership reminder bar for a day | 1 day |
We also use your browser's local storage for editor and presenter preferences, markers on pages the AI changed, and your notification setting. These stay in your browser until you clear them. Cloudflare may set cookies it needs for security and performance.
10. Security
The site uses HTTPS, and our web server only accepts traffic that comes through Cloudflare. Each account's data is stored separately. Sign-in codes and session tokens are stored only as hashes, and keys and tokens are encrypted. Only the operator can access the server, using SSH keys. No system is completely secure; if a breach affects your personal data, we will notify you and the authorities where the law requires.
11. Children
The Service is not for anyone under 16. If we learn that we hold data about a child under that age, we will delete it.
12. Where the Service is offered
APS Online is hosted in Singapore and offered to users internationally. It is not specifically directed at users in mainland China. If you use it from another country, your data is transferred to Singapore and to the providers in section 5.
13. Changes to this policy
For material changes, we will notify you by email and/or a notice in the product at least 14 days before they take effect. The date at the top shows the latest version. This policy is written in English; if there is a translation, the English version prevails.
14. Contact
Liu Lei
Changping District, Beijing, China
Email: [email protected]