This is a translation. Only the German version is legally binding.

German version

Viral Post Studio
Legal

Privacy policy

Last updated: 5 October 2026

In short

  • We only publish posts that you approve or schedule yourself.
  • We do not read your LinkedIn feed, your contacts or your messages.
  • We store your LinkedIn access in encrypted form. “Disconnect” deletes it immediately.
  • We connect Instagram, Facebook, Threads, TikTok, Pinterest, Bluesky, X, YouTube, Google Business, Reddit, Vimeo and LinkedIn pages through our technology partner Outstand, and, if you wish, your LinkedIn profile with statistics (from Personal Lite). “Disconnect” revokes access there as well.
  • In the inbox (from Personal Pro), you see comments on your posts and, if you turn it on, Instagram direct messages. Replies are always sent by you. We delete the contents after 90 days.
  • We only read knowledge sources such as Notion when you select them while writing, and only with read-only tools. We do not change anything there.
  • Images, PDFs, your logo and your profile picture are not stored publicly. Links to them are only valid for one hour.
  • We do not use advertising or tracking cookies, and we do not sell any data.
  • Under “Settings → Account”, you can download all your data or delete your account yourself. You can also request access to or deletion of your data by email at any time.

1. Controller

The controller for data processing in Viral Post Studio is:

FoodCall GmbHChamerstrasse 1766300 ZugSwitzerlandEmail: hallo@viral-post.ai

Further details about the operator can be found in the legal notice.

2. What data we process

  • Account: First and last name, email address, display name and sign-in details. We never store passwords in plain text, only as a hash. If you sign in with Google or Apple, we receive your name and email address from them; with Apple, if you wish, only an anonymous forwarding address. If you set up two-factor sign-in, we store the device name and the secret key of your authenticator app. For a passkey we store its name, its ID and the public key; the private key and your fingerprint or face stay on your device and never leave it. If you require passkeys as a second step, we also store the hashes of your recovery codes and which sign-ins (session ID) were confirmed with a passkey, until you remove the passkey, turn off the second step or delete your account. For the introduction (“Ready to go”), we remember when you saw, hid or completed the checklist and when you finished the tour.
  • Content: Topics and region, drafts, posts, images and videos, carousels (PDF documents that you create or upload), source references and scheduled times, as well as your style profile (“About me”, sample posts), your brand design, your snippets (signature, hashtags, calls to action) and your weekly goal. Your browser calculates the readability and reach check in the editor itself; the text does not leave your device for this.
  • Import from LinkedIn and from your style guide: Your browser reads your LinkedIn data archive, your profile as a PDF and your style guide as a PDF itself. The files do not leave your device; only what you select and apply is stored (text for “About you”, sample posts, colours, font and logo).
  • Your own sources: Addresses of websites, feeds and YouTube channels that you add, with name, topic and the status of the last retrieval. Our server retrieves these public feeds when you search for trends or when Autopilot runs; we do not transmit any data about you in the process. We do not store the news items from these sources, except as a short excerpt in an Autopilot run (see below).
  • Autopilot: If you turn it on, we store the schedule, the drafts per run, the weekly limit and who set it up (style profile and authorship of the drafts). For each run, we store the time, the selected news items (title, sources, short excerpt), the result and the credits used; we delete runs after 90 days. Autopilot only creates drafts and never publishes.
  • Notifications on your device: If you turn them on under “Settings → Notifications”, we store for this device its address with your browser’s push service, two technical keys, the device name (e.g. “Chrome on Mac”), the events you selected and when the device was last active. Each notification is encrypted for this specific device; it names the topic of the post and, depending on your device settings, may appear on the lock screen. Turning them off, removing the device or signing out ends the notifications immediately; we delete unused devices after 180 days. Notifications about the inbox only name the channel, never the content.
  • Emails: We send you emails about your account (confirmation, sign-in link, password, security notices), about your subscription and payments, about invitations and, unless you unsubscribe from them, notices about your posts and channels, tips and reminders (for example after an unfinished purchase or a longer break) and the week-ahead overview on Mondays. For this, we store your choices, your language (for the app and emails), when you were last in the app (updated at most twice a day) and a sending log: which template, in which language, with which result, without the address and without the content. We do not measure whether you open an email or click a link in it. You can unsubscribe under “Settings → Notifications” or with the link in the email, without signing in.
  • Newsletter: If you sign up, we store your address, the language, when you signed up, confirmed or unsubscribed and from where (website or settings). If you sign up on the website, you only receive the newsletter once you click the link in our confirmation email (double opt-in); we do not store the link itself, only a hash, and it is valid for 7 days. In the app, you turn it on under “Settings → Notifications”; we record this in the activity log. Every issue contains a link to unsubscribe. We delete unconfirmed sign-ups and unsubscribed addresses after 30 days. We do not measure whether you open an issue.
  • Account and subscription events: For customer care, we record when you signed up, opened the checkout page for a subscription, took out or cancelled a subscription, or when a payment failed, in each case with the plan. Only the administrators of Viral Post Studio can see this overview, for example to follow up if a purchase did not go through.
  • Brand design: Colours, font, account name, the line below the name, website, and your logo and profile picture if you upload or import them. We store your logo and profile picture as image files in our storage (area “brand-assets”). This storage is not public: so that your browser can draw the images in quote cards and carousels, it receives links that expire after one hour. If you replace an image, we delete the old file; “Remove” deletes the file immediately.
  • Template studio: The preview of a template is created only in your browser. If you export a template as a PDF or PNG, we send your entries together with your brand design (colours, font, account name, line, website, logo and profile picture) as a finished document to Cloudflare Browser Run (see section 5). Cloudflare creates the file from it and does not store the content. We keep the file in our non-public storage (area “renders”, once set up at Cloudflare R2 with storage location EU, see section 5); the download link is valid for 10 minutes. For each export we store the template, format, size, number of pages, who exported it and when. We delete the file and the entry after 30 days. If you use a template as a post, we store your entries until all pages are created (at most one day) and keep the images or the PDF with the draft, like uploaded files. For this we store the template, channel, status, who and when, and delete the entry after 30 days.
  • “Import from your website”: We retrieve the public page whose address you enter, plus at most two stylesheets and a few image files from that page, in order to recognise the logo, colours and font. We do not transmit any data about you in the process. The suggestion is not stored; only when you click “Apply” do we store the selected colours, the font and the logo.
  • “Import from LinkedIn”: When you click it, we copy the profile picture that we received when you connected LinkedIn into your brand design as your profile picture.
  • Connected channels: For LinkedIn, your name, your profile picture, your LinkedIn member ID and an access token. For Telegram, the bot token and the chat ID that you enter yourself. For Instagram, Facebook, Threads, TikTok, Pinterest, Bluesky, X, YouTube, Google Business, Reddit, Vimeo and LinkedIn company pages, the account or page name, the profile picture and an account ID from our technology partner Outstand (see section 5); Outstand manages the access credentials itself. The same applies if you connect your LinkedIn profile with statistics; we then keep an existing direct LinkedIn connection as a fallback (name, member ID and expiry; the access token stays encrypted with us).
  • Inbox: From the Personal Pro plan, we use Outstand to fetch comments on posts you published through Outstand, and comments that Instagram reports through Outstand (including on posts you created directly in Instagram). If you turn on messages for Instagram, the direct messages people send to your Instagram account are added. We store the text, links to attachments, the person’s name, username and ID on the platform, times, delivery status and who in your team replied. We do not store LinkedIn names; they are fetched fresh from LinkedIn when you open a conversation. Members with the role “Editor” or higher see the contents. Replies are always sent by a person, and we only write to people who wrote to you first or commented on your post. We delete the contents after 90 days.
  • On the platform: If you share a published post again, we store the channel, your comment, the ID and link of the share on the platform, who triggered it and when. If you delete a post on the platform, we note the time; with us, the post stays with its figures until you delete it.
  • Importing older posts: From Personal Pro, an admin can bring older posts of a connected account into the statistics. Through Outstand, we fetch up to 100 posts from the last 13 months and store an excerpt of each post (at most 280 characters), the date, the link and figures such as impressions and reactions, but no comments and no names of other people. If you use an imported post as an example post, we fetch its full text and store it in your style profile. We delete imported posts after 13 months, or 7 days after a channel is disconnected.
  • Knowledge sources (optional): If you connect a tool such as Notion, Linear or Confluence, we store its address, the list of its tools, the permissions you grant and the access credentials (access and refresh tokens or keys). We store the access credentials in encrypted form; only our server can read them.
  • AI labelling: For each post, the AI trail (which step was created when and with which model, who triggered it and a fingerprint of the text), the person you enter as editorially responsible, and when you confirmed that you had reviewed the content. We delete this information together with the post.
  • Activity log: Who changed what and when, for example scheduled a post, disconnected a channel or changed the brand design. We only store details such as the time, the type of change, the old and new status, the channel and the name of the object (such as the topic of a post), never post texts or access keys. For certain actions, for example when you save settings or download the activity log, the truncated range of your IP address (without the last part) and your browser’s identifier are added. You can view the activity log under “Settings → Activity log” and download it as a CSV file.
  • Billing: Plan, balance and your customer number at Stripe. If you redeemed a promo code at checkout, we store which one; we need this for settling accounts with partners who pass the code on. You enter payment details such as card numbers directly with Stripe; we do not receive them.
  • Usage: Which paid action you triggered and when, for example “Post created”. We need this for billing the credits.
  • Technical data: When you access the app, our hosting provider processes technically necessary information such as your IP address, the time and your browser in server logs. When you request a confirmation or password email, we keep a fingerprint of the email address (a hash from which the address cannot be read) and the truncated range of your IP address for one day to fend off too many requests.
  • Error reports: If an unexpected error occurs in the app, we send a report to our service provider Sentry (see section 5): the type of error, the location in the code, the page accessed without parameters, the browser type and the time. We remove content such as posts, email and IP addresses and access keys beforehand; your account only appears in the report as a pseudonymous identifier (a hash from which your account ID cannot be derived). Reports from your browser go to our server first and are only forwarded from there, so Sentry does not see your IP address.

3. What we use the data for

  • To provide the app: researching topics, creating posts and images with AI, checking facts and publishing posts on your instructions.
  • For billing, balances and receipts.
  • For secure operation, protection against misuse and troubleshooting.
  • To make it traceable who changed what and when (activity log).
  • To contact you about questions concerning your account.
  • To inform you by email about your account, subscription and posts and, unless you unsubscribe, to support you with tips, reminders and the week-ahead overview.
  • To show you comments and Instagram messages in the inbox and to send your replies.

In Switzerland, processing is governed by the Swiss Federal Act on Data Protection (FADP). Where the EU General Data Protection Regulation (GDPR) applies, we rely on the performance of our contract with you (Art. 6(1)(b)), on our legitimate interest in secure operation and in supporting our customers with tips, reminders and the week-ahead overview, which you can unsubscribe from at any time (Art. 6(1)(f)), and, for channel connections, knowledge sources and the newsletter, on your consent (Art. 6(1)(a)), which you can withdraw at any time.

In the inbox, we also process data of people who comment on your posts or write to you on Instagram. The legal basis is the legitimate interest in being able to reply to them (Art. 6(1)(f)); in team workspaces, we process this data on behalf of the company (see section 12).

4. LinkedIn connection

When you connect LinkedIn, the app redirects you to LinkedIn. There, you grant these permissions:

  • openid and profile: Name, profile picture and member ID, to link the connection to your account and to show you as the author.
  • w_member_social: to publish posts in your name and, when you click “Delete on LinkedIn”, to delete them there again.

When: We read your profile data when you connect and when you renew the connection. We only publish posts when you click “Publish” or schedule a time.

What we do not do: We do not read your feed, your contacts or your messages. We do not pass LinkedIn data on to third parties and use it for nothing other than publishing your posts and, at your click, deleting them.

Storage: The access token is stored in encrypted form in our database and can only be read by our server. LinkedIn limits its validity to 60 days; after that, you connect again.

With statistics (from Personal Lite): If you choose “Connect with statistics”, you sign in to LinkedIn for our technology partner Outstand (see section 5); LinkedIn names Outstand as the app. Besides publishing (including several images, videos and PDF), you allow reading the statistics of your posts (reactions, comments, reposts, impressions and reach) and of your profile (followers and the number of your connections). We fetch these figures for the statistics and store them for at most 13 months; if you disconnect, we delete them after 10 days at the latest. We do not read comments, connections or messages themselves. If your plan no longer includes statistics, the connection is paused: we no longer fetch figures and publish through your direct LinkedIn connection, if there is one.

Browser extension “Viral Post Studio for LinkedIn”: If you install the extension (see Extension for LinkedIn), it brings the post text and the mentions from the app into LinkedIn’s post window when you click; you pick the suggestions, you click “Post”. For this it receives a one-time access key valid for 30 minutes; we store only a hash of it with the post, workspace and time and delete the entry one day after expiry or use. After posting, the extension reports the link to the post to us so that it counts as published in the app. It reads no cookies, messages or contacts, uses no internal LinkedIn interfaces, sends nothing to third parties and keeps the handover only in the browser’s session storage until it is done.

Studio bar of the extension: As soon as LinkedIn’s post window is open, the extension shows a bar next to it with formatting, character counter, preview, writing check and templates. It works only in this window and does all its calculations in your browser; the text leaves your device only when you click “Save in Viral Post Studio”. We then create a draft from it in your workspace, like any post you write in the app. The “Show bar” setting is stored locally in your browser; it is the only thing the extension stores permanently.

Side panel of the extension (connection to your account): If you connect the extension to a workspace under “Settings → Integrations”, it receives an access key that is valid for 180 days and is stored only in your browser; we keep its hash together with the workspace, a label (the name of the browser), the time of connection and the last use. With it, the side panel on LinkedIn shows your LinkedIn drafts, creates or changes drafts from the post window when you click, prepares the handover with mentions and sends texts to the AI for rewriting (credits of your workspace, as in the editor; as with every AI action, the texts go to our AI provider, see section 5). Everything goes only to our server, never to third parties, and only when you click. You can disconnect at any time in the app or in the side panel; the key then stops working immediately, and we delete the entry 30 days after revocation or expiry. Every connection and disconnection is recorded in the audit log.

Revocation and deletion: You can disconnect at any time under “Channels”. This immediately deletes the access token and the LinkedIn profile data. In addition, you can revoke access in your LinkedIn settings under permitted services. Posts that have already been published remain on LinkedIn until you delete them there or in the app with “Delete on LinkedIn”.

5. Service providers and recipients

We use the following providers. They process data on our behalf or, when publishing and for connections that you set up yourself, on your instructions. For each recipient, we state the country and the safeguard for disclosure abroad. We are still clarifying details marked “to be confirmed” with the providers. The same list is available in the Trust Center.

Processors

  • Lovable: Hosting of the app and the database (“Lovable Cloud”, technically based on Supabase), sign-in emails, and access to the AI models and to Stripe via Lovable’s APIs. Data: All data in your account: sign-in, posts, images and PDFs, brand design, channels, activity log. Country: to be confirmed. Safeguard: to be confirmed.
  • SMTP2GO (email delivery): We send the app’s emails via SMTP2GO, using a data centre in the EU. For this, SMTP2GO receives the recipient’s address and the content of the email and stores delivery reports (delivered, rejected, reported as spam). We do not measure opens or clicks. If delivery has not been set up, the app does not send anything. Data: Email address, name, language and the content of the email in question (e.g. confirmation link, plan, title of a post or name of the workspace). Country: EU (data centre eu-api.smtp2go.com), company headquartered in New Zealand (to be confirmed). Safeguard: Adequacy decision for New Zealand (EU and Switzerland) (to be confirmed).
  • Amazon SES (email delivery): Alternative to SMTP2GO: if Amazon Simple Email Service in the Zurich region is set up instead of SMTP2GO, the app’s emails are sent through it. For this, Amazon receives the recipient’s address and the content of the email. If delivery has not been set up, the app does not send anything and, for invitations, shows the link for sharing. Data: Email address, name, language and the content of the email in question. Country: Switzerland (Zurich region, eu-central-2) (to be confirmed). Safeguard: to be confirmed.
  • Perplexity: Research into current topics using search queries about your topics. Data: Search queries based on your topics and your region, no account data. Country: to be confirmed. Safeguard: to be confirmed.
  • Stripe: Payment processing for subscriptions and balance top-ups. Data: Email address, customer number, subscription and payments. You enter card details directly with Stripe; we do not receive them. Country: to be confirmed. Safeguard: to be confirmed.
  • Sentry: Error reports for unexpected errors, so that we can find and fix disruptions quickly. The reports contain no content and neither email nor IP addresses; your account only appears as a pseudonymous identifier (see section 2). Data: Type and location of the error, page without parameters, browser type, time and a pseudonymous identifier; no content, email or IP addresses. Country: EU (Frankfurt, Germany) (to be confirmed). Safeguard: to be confirmed.
  • Better Stack: Regularly checks whether the app is reachable and scheduled posts are being published, alerts us to outages and runs our status page (status.viral-post.ai). For this, Better Stack only calls our public addresses and receives no data about you. If you visit the status page, Better Stack’s privacy rules apply there. Data: No data about you: Better Stack only calls our public addresses. Country: EU (to be confirmed). Safeguard: not required (no personal data).
  • Outstand: Technology partner for Instagram, Facebook, Threads, TikTok, Pinterest, Bluesky, X, YouTube, Google Business, Reddit, Vimeo, LinkedIn company pages and the LinkedIn profile with statistics (from Personal Lite). When you connect one of these channels, you sign in to the platform and grant permission to Outstand; Outstand manages the access (for Bluesky, the app password). For the LinkedIn profile, LinkedIn names Outstand as the app when you sign in; the permission covers publishing on your behalf and reading the statistics of your posts and profile and the number of your connections. When publishing, we transmit the text, images and videos of the post (for a carousel, the PDF). For the statistics, we use it to fetch the metrics of your posts and accounts. From Personal Pro, we use it to fetch comments on your posts and, if you turn on messages for Instagram, direct messages into the inbox, and to send your replies; we don’t read comments on posts on your LinkedIn profile. “Disconnect” deletes the account at Outstand and revokes access. Data: Account or page name, profile picture and account ID; text, images and videos or PDF of the posts, plus first comment, further thread parts and channel options (e.g. tagged people or collaborators) (at most 60 days there); metrics of your posts and accounts (for the LinkedIn profile, reactions, comments, reposts, impressions and reach of the posts plus the number of your followers and connections); in the inbox, comments, direct messages and your replies (90 days with us); when sharing again, your comment; when importing, older posts of your accounts with text, date, link and metrics (there until you disconnect the account). Country: to be confirmed. Safeguard: to be confirmed.
  • Cloudflare (template export and R2 file storage): To export a PDF or PNG, we send the finished document of the template to Cloudflare Browser Run (our own account, data processing agreement with Cloudflare). Cloudflare creates the file and does not store the content. Where this processing takes place is not bound to the EU. The preview is created only in your browser. As file storage we use Cloudflare R2 in the same account, with storage location EU (bucket with EU jurisdiction): once set up, it holds the images and videos you attach to posts, the finished template exports and your data exports; older files remain in the Lovable Cloud storage. The storage is not public, and links to it expire after one hour at most. We delete template exports after 30 days, data exports after 7 days, and images and videos together with the post or your account. Data: When you export a template, your texts and figures and your corporate design (colours, font, account name, tagline, website, logo and profile picture); in storage, the images and videos you attach to posts, the finished template exports and your data exports. Country: Storage (R2): EU (bucket with EU jurisdiction); Browser Run: Cloudflare network, not bound to the EU; company based in the USA (to be confirmed). Safeguard: Data Privacy Framework or standard contractual clauses in Cloudflare's data processing agreement (DPA) (to be confirmed).

Further sub-processors

  • Supabase (via Lovable): Technical basis of Lovable Cloud: database, sign-in and file storage. Data: All data in your account. Country: to be confirmed. Safeguard: to be confirmed.
  • Amazon Web Services (via Supabase): Data centre for the database and files. Data: All data in your account (transmitted in encrypted form). Country: to be confirmed. Safeguard: to be confirmed.
  • Cloudflare (via Lovable): Running the app (server functions) and delivering the pages. Data: Data that passes through the app during a request, and technical information such as IP address and browser. Country: to be confirmed. Safeguard: to be confirmed.
  • Lovable email delivery (via Lovable): Sign-in emails (confirmation, password reset). Data: Email address and content of the sign-in email. Country: to be confirmed. Safeguard: to be confirmed.
  • Google (Gemini) (via Lovable): Writing, rewriting and summarising texts, designing carousel slides. Data: Topic, researched sources and pages whose links you add, your draft, your style profile, the post structure you choose and excerpts from knowledge sources that you select. Country: to be confirmed. Safeguard: to be confirmed.
  • OpenAI (GPT Image) (via Lovable): Creating images. Data: Image description based on the topic and an excerpt of the post text. Country: to be confirmed. Safeguard: to be confirmed.

Recipients on your instructions

  • LinkedIn: Signing in to LinkedIn and publishing on your profile (with statistics via Outstand). Data: When connecting, name, profile picture and member ID; when publishing, text and image or PDF, with statistics also several images or a video. Country: to be confirmed. Safeguard: to be confirmed.
  • Telegram: Sending to your chat or channel. Data: Text and image of the post; Telegram loads the image via a link that expires after one hour. Country: to be confirmed. Safeguard: to be confirmed.
  • Your website (WordPress, Webflow, Wix, Shopify, Ghost or a webhook): Creating or publishing blog articles on your website. Data: Title, description, URL slug and article; if you wish, the post’s image (uploaded or via a link that expires after one hour). Country: to be confirmed. Safeguard: to be confirmed.
  • Instagram, Facebook, Threads, TikTok, Pinterest, Bluesky, X, YouTube, Google Business, Reddit, Vimeo: Publishing via Outstand; replies from the inbox. Data: Text, images and videos or PDF of the post; your replies from the inbox. Country: to be confirmed. Safeguard: to be confirmed.
  • Google and Apple (sign-in): Sign-in with your Google or Apple account, technically via Lovable. Data: Name and email address; with Apple, if you wish, only an anonymous forwarding address. Country: to be confirmed. Safeguard: to be confirmed.
  • AI assistants that you connect (e.g. ChatGPT, Claude, Microsoft Copilot): If you give an assistant such as ChatGPT from OpenAI, Claude from Anthropic or an agent in Microsoft Copilot Studio access, it can read your style profile, your trends and posts and create drafts, but cannot publish or schedule anything. The assistant’s provider processes what it reads in accordance with its own privacy rules, and for Copilot within the framework of your organisation’s Microsoft contract. You can revoke access at any time under “Settings”. Data: Whatever you allow the assistant to access. Country: to be confirmed. Safeguard: to be confirmed.
  • Browser push services (Google, Apple, Mozilla, Microsoft): If you turn on notifications under “Settings → Notifications”, your browser registers with its manufacturer’s push service: Chrome and Android with Google (Firebase Cloud Messaging), Safari with Apple, Firefox with Mozilla, Edge on Windows with Microsoft. We encrypt each notification for that specific device (Web Push in accordance with RFC 8291): the push service can see when a notification goes to which device address, but not its content. Turning them off, removing the device or signing out ends the notifications immediately. Data: Encrypted notification (title, short text, link) and your device’s technical address with the push service. Country: to be confirmed. Safeguard: to be confirmed.
  • Providers of your knowledge sources (e.g. Notion, Linear, Atlassian): When connecting, you sign in directly with the provider or enter an access key. We only access the tool when you connect it, update its tools or explicitly select this knowledge source when creating a post, and we only use read-only tools that you have approved. Your topic, your search query and the content found (e.g. excerpts from a Notion page) go to the AI model that writes the post. We store the excerpts used with the draft so that you can verify statements in the fact check. “Remove” deletes the stored access immediately and revokes it with the provider, if the provider supports this. Within the tool itself, the privacy policy of the provider in question applies. Data: Your topic, your search query and the excerpts found. Country: to be confirmed. Safeguard: to be confirmed.

We also retrieve the following without any data about you: Public news feeds and articles, Your own sources (feeds, YouTube channels, websites), Your website (importing your brand design), Frankfurter (European Central Bank exchange rates), Timestamping service for provenance information (C2PA), if set up.

Website connections: If you connect your website (WordPress, Webflow, Wix, Shopify, Ghost or your own address via webhook), we send a blog article to that system only when you click: title, description, URL slug, article and, if you wish, the post’s image. We store the key for it encrypted and never hand it out. Your website provider is not a subprocessor of ours; its privacy policy applies there.

6. Transfers abroad

Some providers process data outside Switzerland. For countries with an adequate level of data protection (these include the EU and EEA states and the United Kingdom), no further safeguard is required. We only disclose data to other countries, such as the USA, if the recipient is certified under the Swiss-U.S. or EU-U.S. Data Privacy Framework or we have agreed standard contractual clauses (adapted to Swiss law), or on your instructions, for example when you publish a post on a platform.

The country and safeguard for each recipient are listed in section 5. Where it says “to be confirmed”, we are obtaining the information from the providers and will add it here and in the Trust Center.

7. How long we store data

  • Account and content: for as long as your account exists. Individual drafts and posts: until you delete them.
  • Access credentials for connected channels (with us or with Outstand): until you disconnect or delete your account.
  • Access credentials for knowledge sources: until you remove the knowledge source or delete your account. We delete excerpts that were used in a draft together with the post.
  • Images and PDFs that we pass to Outstand for publishing: at most 60 days there.
  • Carousel PDFs with us: until you delete the carousel or the post. A published carousel remains on LinkedIn until you delete the post there.
  • Logo and profile picture: until you remove or replace them or delete your account. We do not store the suggestion from “Import from your website”.
  • If you delete your account, it is first locked for 7 days. After that, we delete it permanently (see section 10).

Fixed periods apply to the following data. When they expire, we delete the data automatically:

Fixed retention periods
DataPeriod
Sign-ins in progress with LinkedIn, channels via Outstand and knowledge sources (valid for 15 or 30 minutes)1 day
One-time codes for connecting ChatGPT, Claude or Copilot (valid for 10 minutes)1 day
Revoked or expired access for ChatGPT, Claude or Copilot30 days
Interim results of AI actions (so that a dropped connection doesn’t cost credits twice)7 days
Data exports (ZIP files for download)7 days
Exports from the template studio (PDF and PNG files, plus template, format and who exported them) and templates used as posts (channel, status; form data for one day only)30 days
Uploaded images and videos whose upload was not completed (for example, the page was closed during the upload)up to 1 day
Invitations to a team workspace (email address and role) after they have been accepted, withdrawn or have expired30 days
Trend ideas you didn’t turn into a post60 days
Researched news articles30 days
Autopilot runs (time, selected stories with an excerpt, result, credits)90 days
Devices for notifications (push service address, key, device name) that have neither opened the app nor received a notification180 days
Inbox: comments and Instagram direct messages (text, attachments as links, name and username of the person, delivery status), from receipt or sending90 days
Imported older posts (excerpt, date, link, channel and numbers from the platform), from publication; for disconnected channels after 7 days395 days
Delivery log of automatic emails (template, language, result; without address or content)180 days
Account and subscription events for customer support (signed up, opened the payment page, started or cancelled a subscription)365 days
Newsletter sign-ups without confirmation and unsubscribed addresses30 days
Completed background tasks, e.g. “Publish post” (IDs only)30 days
Failed background tasks (for troubleshooting)90 days
Error reports at Sentryup to 90 days
Activity log (who changed what and when)365 days
Billing records (credit and cost transactions), with no link to you after an account has been deleted10 years
Confirmed sessions for the passkey step (session ID, time); signed-out sessions at the next clean-up30 days
Handovers to the browser extension for LinkedIn (post, hash of the one-time access key, reported link), after expiry or use1 day
Access keys of the browser extension’s side panel (hash of the key, workspace, label, last use), after revocation or expiry30 days

8. Cookies and local storage

The app stores your sign-in in your browser’s local storage. This is technically necessary. In addition, there are small settings that stay only in your browser (e.g. phone or desktop preview, list or calendar, the most recently selected carousel design) and when the app last reported that you were there (so that it does this at most twice a day). If you choose a language (or open a link that includes a language), a cookie “vps_locale” remembers only this choice for one year so that the pages load in your language straight away; when you are signed in, it is also stored in your profile. We do not use analytics, advertising or tracking cookies. When you pay, Stripe’s own rules apply on Stripe’s pages.

We serve fonts ourselves. Loading the app therefore does not create a connection to Google Fonts or other font providers.

9. Security

All connections are encrypted via HTTPS. We additionally store access tokens for connected channels and knowledge sources in encrypted form. Access rules in the database ensure that only you can see your data. Post images, uploaded images and videos, carousel PDFs, exports from the template studio, data exports and the logo and profile picture of your brand design are kept in non-public storage areas: at Lovable Cloud or, once set up, uploaded images and videos, template exports and data exports at Cloudflare R2 with storage location EU (see section 5). Our server only creates links to them for your account, and they expire after one hour (template exports and data exports after 10 minutes); when publishing, the platform receives a fresh link or the file itself.

You can find more about encryption, access control, backups and incidents in the Trust Center.

10. Your rights

You can request access to your data at any time, have it corrected or deleted, receive a copy in a common format and object to processing. You can withdraw your consent, for example for a channel connection, at any time. To do so, write to hallo@viral-post.ai.

Data export: Under “Settings → Account”, you can download all your data as a ZIP file: posts with images and PDFs, profile, brand design, channels, knowledge sources, the list of your template exports, credits and activity log, in common formats (JSON and CSV). Access tokens are not included. You can request at most one export per day; the download remains available for 7 days, after which we delete the file. The inbox is included as posteingang.json.

Deleting your account: Also under “Settings → Account”. After your request, your account is locked for 7 days: we no longer publish anything, scheduled posts become drafts again, and AI assistants such as ChatGPT, Claude or Copilot lose access. During this time, you can sign in and cancel the deletion. After that, we delete all content including images and PDFs, your template exports, your brand design, channel connections (we revoke access with LinkedIn and Outstand), knowledge sources, access tokens, the activity log and your sign-in details. We cancel any active subscription with immediate effect, without a refund for the current period. We keep billing records without any link to you for as long as the law requires (10 years).

You can also lodge a complaint with the Federal Data Protection and Information Commissioner (FDPIC) or, in the EU, with the supervisory authority of your country of residence.

11. Artificial intelligence

Texts and images are created with AI. The app makes suggestions; you decide what is published. There are no automated decisions that have legal effects on you.

How it works: For each step, our server sends a request with the necessary information to a language or image model and shows you the result as a suggestion. A fact check verifies figures and statements against the researched sources.

  • What for: Summarising topics, writing and rewriting posts and openings (hooks), writing blog articles from posts, designing images and carousel slides.
  • Which models: Texts with Gemini from Google (for “Premium”, the larger Pro model), images with GPT Image from OpenAI, research with Perplexity. Lovable provides access to the models (see section 5).
  • Which data and sources: Only what is necessary for the step in question: the topic, researched sources (public news and the research via Perplexity), the text of web pages whose links you add while writing, your draft, your style profile, the post structure you choose and excerpts from knowledge sources that you explicitly select while writing (see section 5). If you connect an AI assistant such as ChatGPT, Claude or Copilot, it only reads what you allow it to.
  • No training: We do not use your content to train AI models and do not pass it on for that purpose. We are clarifying contractually whether and for how long the AI providers store requests; you can find the current status in the Trust Center.
  • Labelling: We label AI content in a machine-readable way. In the AI trail of each post, we record which steps were created with which model. AI images retain the provenance information that the model providers embed. You can turn on a visible notice (“Created with AI”) for each post. Using a fingerprint of the text, you can check in the settings whether a text comes from your account.
  • Reply suggestions in the inbox: Only when you click. We then send the post, the latest messages of the conversation or the comment, and your style profile to the language model, without names. The suggestion lands in the reply field; you send it yourself.
  • Blog articles: Only when you click (“As a blog post”). We then send the post, the sources it was written from and your “About me” text to the language model. We save the article with the post until you have a new one written or delete the post. It is labelled as AI content.

12. Teams and business customers

If a company uses Viral Post Studio for its employees (team workspaces), the company is responsible for the data in its workspace, and we process this data on its behalf (Art. 9 FADP, Art. 28 GDPR). In that case, its data processing agreement with us and its privacy policy apply. We only process the data in accordance with its instructions, only use the sub-processors listed in section 5, announce new ones in advance and support the company with access requests, deletion and incidents. We remain responsible for your own account (sign-in, billing).

Invitations and members: Anyone who invites someone to a team workspace gives us the invited person’s email address and their role. We send them an email with a link (via our email service, see section 5) or show the link for sharing. We do not store the link itself, only a hash; it is valid for 7 days. We delete accepted, withdrawn or expired invitations after 30 days. Members of a workspace can see the name, email address and role of the other members. The workspace’s activity log records who invited or removed whom, or changed which role. If you delete your account, your membership ends and your accepted invitations are deleted; invitations that you sent remain with the team without your name.

13. Changes

We update this policy when the app or the legal situation changes. The version published here applies.