Privacy Policy

Last updated:

This notice explains how Repostly processes personal data on repostly.app, app.repostly.app and through its API, account, publishing and support services. Social-media performance insights are part of the service you request. Browser analytics and session recording are optional. Server-side product analytics have a separate account-level objection, explained below. Neither choice reduces your subscription features.

1. Who is responsible and how to contact us

The controller for the processing described here is:

Daivee UG (haftungsbeschränkt)
Gorch-Fock-Kehre 20
25451 Quickborn
Germany
Email: [email protected]
Telephone: +49 176 56047652

Use these details for privacy questions, objections, access or deletion requests. Where a business customer determines how personal data in its content is used and we process that data on its instructions, the parties must also establish the appropriate data-processing agreement. This privacy notice does not replace that agreement.

2. Information we use and why

Website delivery and security

When you visit our sites or use the API, hosting and network systems process connection information such as IP address, request time, requested resource, browser or client information and response status. We use this to deliver the service, maintain availability, investigate failures and protect accounts against misuse. The legal basis is Article 6(1)(f) GDPR: our legitimate interest in operating a secure, reliable service. Requests needed to provide your account and subscription also rely on Article 6(1)(b) GDPR.

Account and authentication

We process your account ID, name, email address, password hash if you use password login, optional profile image, account preferences, session records and authentication/security events. If you choose Google sign-in, Google supplies account identification and profile information, including your email address, name and profile picture where available. Google sign-in and connecting a YouTube channel are separate authorizations. We use this information to create and secure your account, authenticate you and provide account support (Article 6(1)(b) GDPR; security and abuse prevention also Article 6(1)(f) GDPR).

Connected social accounts and content

When you connect a supported account on Instagram, Facebook, Threads, TikTok or YouTube, we receive information through that platform’s official API within the permissions you authorize. Depending on the platform, this includes account/channel/Page IDs, display names, profile pictures, authorization tokens and expiry information, post IDs, captions, media metadata and links, publication status, and available aggregate counters such as followers, views, likes and comments.

We store the media you upload, thumbnails and prepared media versions, captions, destination choices, schedules and time zones, workflow rules, publishing instructions and consent, and publication/recovery records. We use them to store and prepare content, publish to your selected destinations, avoid duplicate publication, report outcomes and show your social-media performance. These activities provide the features you request (Article 6(1)(b) GDPR). Where data concerns other people, the applicable basis also depends on your authority and our role in providing the service. A platform authorization does not grant rights to someone else’s content or make that content available for unrelated use.

Publishing sends your selected content and metadata to the destination platform. The audience depends on your publication settings and the platform’s rules. Media delivery links may allow anyone who obtains the link to access the file; do not treat a media link as a private vault. Removing a connection or a scheduled post in Repostly does not remove posts already published on a social platform.

API access and integrations you authorize

If you create an API key, we store its identifying metadata, permissions, a verification hash and usage/security records. API requests can create content, schedules or workflows within the permissions you grant. Keep credentials private and revoke keys you no longer use. Our processing is necessary to provide and secure that access (Articles 6(1)(b) and 6(1)(f) GDPR). A third-party application you authorize is also responsible for explaining its own processing.

Payments and subscriptions

Purchases use Stripe Managed Payments under the Sold through Link service. Stripe and the relevant Link entity handle the transaction as merchant of record, including payment processing, applicable indirect taxes, fraud checks and transaction support. We provide account identifiers, email and the selected subscription information and receive customer, subscription, invoice/payment status, billing-period and plan-change information to manage your access and assist with billing. Payment details are entered into Stripe/Link’s checkout; our application does not collect your full payment-card number or security code.

Our bases are contract performance (Article 6(1)(b) GDPR), applicable accounting/tax obligations (Article 6(1)(c)) and prevention of fraud or handling claims (Article 6(1)(f)). Stripe/Link also act as independent controllers for their transaction services. See the Stripe Privacy Policy and Link Privacy Centre for their entities, purposes, retention and international transfers.

Contact, service emails and newsletters

When you contact us, we process your name, contact information, message and information needed to answer it. Account and publishing emails may contain account or publication information. This serves your request or contract (Article 6(1)(b) GDPR) or our legitimate interest in answering other enquiries (Article 6(1)(f)). Please do not send passwords, API keys or unnecessary sensitive information in support messages.

Newsletter subscriptions are optional. We use your email address, subscription status and subscription/unsubscription timestamps to send the newsletter with your consent (Article 6(1)(a) GDPR). You can withdraw by using the unsubscribe link or contacting us. We retain necessary preference records to respect your decision and establish compliance; essential service emails are separate from newsletters.

We use double opt-in: the newsletter only starts after you confirm the link we email you (valid for 7 days); unconfirmed new sign-ups are deleted automatically after 7 days. As proof of consent we store when you signed up and confirmed, which form you used and the version of the consent text, but not your IP address. Every newsletter contains an unsubscribe link, and email clients that support it offer one-click unsubscribe.

3. Cookies and browser storage

Necessary cookies and storage support sign-in, security, checkout, privacy choices and display settings (§ 25(2) no. 2 TDDDG). Associated processing relies on the contract, legal-obligation or legitimate-interest basis described in this notice. Browser analytics and session recording require consent under § 25(1) TDDDG and Article 6(1)(a) GDPR.

The table lists our cookies and browser storage. Local storage can persist until cleared; session storage normally ends with the browser tab. Blocking necessary storage can prevent sign-in or checkout. Google and Stripe/Link set their own cookies on their sign-in and checkout pages.

NamePurposeProviderLifetimeCategory
__Host-repostly-refreshCookie (HttpOnly, server.repostly.app)Keeps you signed in (refresh token of your session).Repostly365 days; deleted when you sign outStrictly necessary
__Host-repostly-googleCookie (HttpOnly, server.repostly.app)Protects the sign-in with Google against forgery (one-time security values of the sign-in attempt).Repostly10 minutes; deleted after the sign-inStrictly necessary
googleAuthPathnameCookieReturns you to the page where you started the sign-in with Google.Repostly1 hourStrictly necessary
googleAuthTriggerPageCookieRemembers that the sign-in with Google was started from the sign-in dialog.Repostly1 hourStrictly necessary
checkoutTriggeredCookieRemembers the plan you chose before signing in so that checkout continues afterwards.Repostly10 minutesStrictly necessary
rp_consentCookie (repostly.app and app.repostly.app) and a copy in local storageStores your privacy choices: a random ID, the time, the policy version and your choices.RepostlyCookie 12 months; the local storage copy stays until you clear your browser data (after 12 months it is ignored)Strictly necessary
repostly.consent-dismissedSession storageNotes that you closed the privacy banner without a choice, so it is not shown again on every page of this visit. It grants nothing.RepostlyUntil you close the browser tabStrictly necessary
repostly-session-logged-outLocal storageNotes that you signed out, so that no tab restores the session.RepostlyUntil you sign in againStrictly necessary
repostly-session-changeLocal storageTells your other open tabs that you signed in or out. It contains no credentials or user data.RepostlyUntil it is replaced or you clear your browser dataStrictly necessary
repostly-themeLocal storageRemembers your color theme (light or dark).RepostlyUntil you choose the system theme or clear your browser dataStrictly necessary
repostly-connect-prompt-dismissedSession storageHides the "Connect your first account" notice after you closed it.RepostlyUntil you close the browser tabStrictly necessary
repostly.landingSession storageHow this visit started (campaign tags, referring domain, landing page), used if you create an account.RepostlyUntil you close the browser tab; deleted when you withdraw consentAnalytics
ph_<project key>_posthogCookie (repostly.app and app.repostly.app) and local storagePostHog identifier of your browser (or your pseudonymous account ID), session and analytics settings.PostHogCookie up to 1 year; local storage until cleared. Both are removed when withdrawal is processed on this origin.Analytics
ph_*Session storagePostHog identifier of the current browser tab.PostHogUntil you close the browser tab; deleted when you withdraw consentAnalytics
__ph_opt_in_out_<project key>Local storageRecords whether PostHog may capture: your opt-in and, after you withdraw consent, your opt-out, so that PostHog stays off.PostHogUntil you clear your browser dataStrictly necessary

Open Privacy settings in the website/app footer, account menu or account page. Browser analytics and session recording are separate choices; recording also requires analytics. Declining does not reduce your subscription features. The rp_consent cookie stores a random ID, timestamp, policy version and choices for 12 months across repostly.app and app.repostly.app. A local-storage copy helps notify tabs on the same origin; expired copies are ignored. Open pages recheck the cookie before capturing or sending analytics, and when you return to the page. Unsent batches and retries are discarded after withdrawal; requests already sent cannot be recalled. These choices are browser-specific, not an account-wide choice on every device. Clearing storage resets them.

The cookie accompanies requests to our domains, but our application servers do not read or persist it. We use the preference to respect your choice (§ 25(2) no. 2 TDDDG); consent evidence serves compliance with Articles 7(1) and 6(1)(c) GDPR. A revised notice alone does not grant consent: we ask again when the stored consent version changes or expires. The separate server-analytics account preference is explained below.

4. Product analytics and session recording

PostHog browser analytics — with consent

With your permission, we use PostHog Cloud EU, provided by PostHog, Inc. (United States), to understand use of Repostly and improve the service. We measure page views and exits, clicks and form submissions, click heatmaps, web performance and selected steps such as starting sign-up, connecting an account, opening a composer or checkout, onboarding and failed API requests. Events include timestamps, browser/operating-system information, screen size, browser/session identifiers, route categories, campaign tags and referring domains. On sign-in, permitted activity can be linked to your internal account ID. These identifiers are pseudonymous, not anonymous.

We mask page text and element attributes and filter event properties to exclude typed values, names, email addresses, credentials and post/media content. Page URLs are reduced to route templates and permitted campaign parameters; referrers are reduced to domains. Browser events use our Netlify-hosted /ingest proxy, which forwards an allowlist of headers without cookies, Referer or client-IP forwarding headers. Netlify still receives your network IP; PostHog receives the proxy connection and permitted browser/device data. Server events use a separate server connection.

Analytics cookies identify the browser across our website and app. With consent, repostly.landing remembers the visit's campaign/referral context during the tab session. Withdrawing in Privacy settings stops browser analytics and removes its identifiers when that origin processes the change; the PostHog opt-out marker remains. Already sent or in-flight requests cannot be recalled. Withdrawal does not automatically erase previously collected events: contact us to request erasure.

Our paid PostHog plan provides seven years of event history. This provider window is not a guarantee of automatic erasure at its end and does not replace our duty to erase data when no longer needed or when an applicable right requires it. Earlier erasure requires a deletion process. See PostHog privacy information and data-processing terms. International processing is explained in section 8.

Session recording — separate consent

If you also enable Session recording, PostHog records page structure, mouse movements, clicks and scrolling so we can investigate usability problems. Text and inputs are masked; images, videos and canvases are blocked; labels, titles, alternative text and form values are removed. Page addresses are reduced to route templates. Network-request contents and console logs are excluded. The basis is Article 6(1)(a) GDPR and § 25(1) TDDDG. You can stop recording separately in Privacy settings.

Recording retention differs from event history: PostHog's pay-as-you-go plan permits a recording window of up to 90 days, selected in project settings. Existing recordings keep their original period when that setting changes; expiry and deletion need not be simultaneous. Exported copies require separate erasure. Contact us about a particular recording or erasure request. Associated events follow the event-history period above; recording consent does not authorize unrelated use of your content.

Server-side analytics — right to object

Our servers send confirmed account, sign-in, connection, schedule, workflow, checkout, publication and subscription events to PostHog EU. Verified Stripe payment/refund events include amount, currency and plan. Events use your pseudonymous account ID and selected internal request, post/publication identifiers, platform, outcome and timing data, without account names, emails, credentials, post text or media. Signup attribution can include campaign tags, referring domain and landing-route category: a consented landing record where available, otherwise the context of the current signup page. It is stored with the account and sent with the account-created event.

This server processing uses Article 6(1)(f) GDPR, our legitimate interest in understanding adoption, acquisition, revenue and publishing reliability to improve Repostly. It runs unless you object and is separate from the browser consent choices; declining browser analytics does not switch it off. It may continue while you are not browsing. No analytics identifiers are written to your device for this server processing.

You can object at any time in Privacy settings by switching off “Use my account activity to improve Repostly (server-side, pseudonymous)”, or by contacting us. The account preference applies across devices once saved. If saving fails, the previous server preference remains; the dialog reports the failure. Delivery checks the preference and drops queued events after an objection; already-started requests cannot be recalled. The delivery queue expires events after seven days, which does not erase copies already delivered to PostHog. Earlier events follow the PostHog event-history period above; request erasure separately.

5. Error reporting and operational monitoring

Sentry error and performance monitoring

We use Sentry, provided by Functional Software, Inc. (United States), to detect and investigate browser/server errors and performance problems. Filtered reports include error types and messages, stack locations, browser/operating system, route category, release, timestamps, pseudonymous account IDs and permitted correlation data. Sampled performance traces describe page loads, navigation and API requests, timings and response status. Trace headers are sent only to our API. Sanitized interaction/navigation/request breadcrumbs can accompany errors.

The integration excludes credentials, cookies, request/response bodies and deliberate capture of post/media content. It filters and shortens messages and selectors, but a residual text fragment can remain; filtering is not a guarantee that all free text is anonymous. Sentry session replay is not enabled. Sentry does not set browser cookies or persistent storage in this integration. Its direct browser connection receives network metadata including the source IP; omission from the event payload does not prove that the provider never receives or stores it.

This processing is separate from analytics consent and relies on our legitimate interest in a stable, secure service and diagnosing failures (Article 6(1)(f) GDPR). You may object as described in section 10. Our organization uses EU storage. Its Developer plan retains individual error events for 30 days; aggregate issue totals can outlive those events. The Developer plan retains performance spans for 30 days. See Sentry privacy information and data-processing terms.

Grafana Cloud logs, metrics and traces

We use Grafana Cloud, provided by Raintank, Inc. d/b/a Grafana Labs (United States), for server-side operational logs, metrics and traces. Selected data includes services, releases, operation/outcome, timing, queue counts and request/job/account/post/publication identifiers. These can be linked to internal records and are not necessarily anonymous. Raw request bodies, credentials and deliberate post/media capture are excluded; filtered error messages may retain a short provider-text fragment. Grafana does not install a browser tracking script in this integration.

The basis is Article 6(1)(f) GDPR, our legitimate interest in reliability, security, capacity planning and diagnosing failures. Our log service uses Grafana's EU Germany region. The trial plan inspected on 25 October 2026 lists 30 days for logs/traces and 13 months for metrics; these periods must be reviewed when the plan changes. See Grafana privacy information and data-processing terms.

6. Hosting, storage and other recipients

Access is limited to people and service providers who need the data for the purposes described here. Our infrastructure includes:

  • Netlify, Inc. (United States): website and application hosting, content delivery and website server functions and the PostHog ingestion proxy, including the connection information needed to deliver these services. Privacy information.
  • Hetzner Online GmbH (Germany): application-server and worker infrastructure used to run the account, publishing and background services. Privacy information.
  • Cloudflare, Inc. (United States): network/DNS services and R2 object storage/delivery for uploaded media, thumbnails and prepared files. Privacy information.
  • MongoDB: application database services for account, publishing and subscription records, including their hosting, storage and administration. Contact us for the deployment details relevant to your data. Privacy information.
  • Cloudinary Ltd.: storage, processing and delivery of profile and website/blog images, with image content and delivery-request metadata. Privacy information.
  • Mailgun / Sinch Email: delivery of account, support, publishing and newsletter emails, processing recipient/sender addresses, email content and delivery information. Our application uses Mailgun’s EU API endpoint. Privacy information.

Account, publishing and subscription records are held in our application databases and operational storage. Hosting, database, backup and support providers may process these records on our behalf. Providers acting as processors must be subject to Article 28 GDPR processing terms. Payment services and the social platforms also process information for their own purposes under their respective notices. We may disclose information to authorities or professional advisers where legally required or necessary to establish, exercise or defend legal claims (Articles 6(1)(c) or 6(1)(f) GDPR).

Blog content and images

Some blog articles are supplied through Outrank and stored on our servers. Reading an article does not itself send its visitor data to Outrank. Images can be delivered by Cloudinary or another host named in the article, which receives your IP and browser connection information. Delivery serves our legitimate interest in providing the blog (Article 6(1)(f) GDPR).

7. Social-platform notices and revoking access

Each connected platform determines its own processing, publication and retention rules. Relevant notices include Meta (Facebook, Instagram and Threads), TikTok and Google/YouTube. You can disconnect an account in Repostly’s Accounts area and revoke authorization in the platform’s own settings.

Repostly uses YouTube API Services. The YouTube Terms of Service apply to their use. Revoke Repostly’s Google/YouTube access through Google’s third-party access settings. To request deletion of data obtained from Google/YouTube, contact us using the details above. YouTube API rules require deletion of the relevant authorized data as soon as possible and within seven calendar days following revocation or a deletion request. Deleting Repostly’s copy does not delete data on YouTube; manage that data directly on YouTube.

Google user data is used to provide the sign-in and connected-account features you request, not for advertising or to train general-purpose AI models. Use and transfer of information received from Google APIs must comply with the Google API Services User Data Policy, including its Limited Use requirements where applicable.

8. International processing

Some providers are established, or use support personnel or subprocessors, outside the European Economic Area, including in the United States. An EU data-storage region does not exclude all international access or processing. Transfers requiring safeguards must be covered by an applicable adequacy decision or appropriate safeguards, such as the European Commission’s Standard Contractual Clauses and any necessary supplementary measures. Reliance on the EU–US Data Privacy Framework requires that the recipient and processing are covered by a valid certification; we do not treat all US providers as automatically covered. Contact us for information about the safeguards relevant to your data or a copy of the applicable safeguards, subject to necessary redactions.

9. Retention and deletion

  • Account and service records: retained while needed to operate your account, provide requested features, resolve publishing outcomes or address a specific legal obligation or claim. Cancelling a paid subscription does not itself erase your account.
  • Uploaded media: originals and prepared versions in your media library remain available for reuse after publication. Cancelling a schedule or completing a post does not automatically delete these files. Files needed by pending or unresolved publication operations can remain retained until those dependencies are resolved. Contact us to request erasure.
  • Connected-platform data: retained for the requested connection and insights, subject to provider refresh/deletion requirements. Disconnection removes connection credentials and associated imported media/metrics through our deletion flow; separate owned uploads and publication records may remain and must be considered in a broader erasure request.
  • Optional analytics: the current PostHog plan provides seven years of event history, as explained in section 4. Browser consent withdrawal stops browser collection; the separate account objection stops server analytics after it is saved. Request erasure of existing account-linked analytics separately. Provider plan windows do not replace our duty to erase data when no longer necessary or when an applicable erasure right requires it.
  • Diagnostics and support: retained for investigating failures, protecting the service and resolving enquiries or claims. Provider retention settings and any necessary incident-specific preservation determine when particular records are removed.
  • Billing and compliance records: retained for applicable tax/accounting periods and the establishment or defence of legal claims. These obligations can continue after account closure. Stripe/Link apply their own lawful retention to transaction records.

An erasure request covers relevant systems and processors, not just your visible account. We assess remaining legal obligations, unresolved operations and backup copies, restrict data retained for a specific obligation, and explain any exception. We do not promise that every copy is automatically deleted within 30 days. Keep your own originals.

Signed-in users can download a machine-readable copy of their data and delete their account themselves in the account settings. Deletion starts immediately and removes your account, connected accounts, schedules, posts, workflows, uploaded media and related records; billing records are restricted and kept only for the statutory retention periods, and posts already published remain on the social platforms until you remove them there. Pseudonymous analytics events already sent to PostHog are deleted on request.

10. Your rights

Subject to the GDPR’s conditions, you can request access, correction, erasure, restriction of processing and portability of data processed automatically on the basis of consent or contract. You may withdraw consent at any time without affecting the lawfulness of earlier processing. You may object to processing based on legitimate interests for reasons relating to your particular situation; we will stop unless there are compelling overriding grounds or the processing is needed for legal claims. You can always object to direct marketing.

Contact us using the details in section 1. We may request proportionate information to verify your identity. We normally respond within one month of receiving your request. If the GDPR allows an extension for a complex request, we explain the reason and extension within that first month. This response deadline is not a blanket data-retention period and does not replace shorter applicable provider deletion deadlines.

You can complain to a data-protection authority, including the authority where you live, work or believe an infringement occurred. Our local supervisory authority is the Unabhängiges Landeszentrum für Datenschutz Schleswig-Holstein (ULD), Germany. You do not need to contact us before making a complaint.

Providing account, billing and destination information is necessary for the corresponding service; without it, we cannot provide that feature. Newsletter, browser-analytics and recording consent are voluntary; server analytics have the separate objection described above. We do not use PostHog analytics to make decisions with legal or similarly significant effects about you. Subscription access is calculated from your plan and verified billing status; contact us if you believe access was refused in error. Stripe and the social platforms explain their own automated fraud and account decisions in their notices.

We update this notice when processing changes. A notice update does not itself grant consent to new optional processing. Where required, we will provide additional information and request a new choice.