Privacy Policy
PostStride is operated by LLAMA AI LTD (“we”, “us”). It is a tool for scheduling and publishing posts to Instagram, Threads, YouTube and TikTok, available at poststride.app. This policy explains what information PostStride accesses, collects, stores, uses and shares, and the choices you have. By creating an account you agree to this policy.
Information you give us
- Account: your email address. If you register with a password, we process it to create your account and verify sign-ins, and store it only as a salted hash (PBKDF2-SHA256), not in plain text.
- Google sign-in: if you choose to sign in or register with Google, we validate Google's identity response and store only your Google account identifier and verified email address from that response. We do not receive your Google password or retain Google's access, refresh or identity tokens for this sign-in. Temporary sign-in security state expires after 10 minutes.
- Content: the captions, titles, settings and schedule times of your posts, and the images and videos you upload.
- Security and operations: we process your IP address to limit repeated sign-ins, store a hash derived from your email address and network prefix with failed sign-in counts and times, and keep operational records of publishing and errors.
Google sign-in requests openid and email to identify you and create a PostStride
session. It does not connect a YouTube channel or grant publishing access. Connecting YouTube is a separate
action with the permissions and token storage described below.
Information from the platforms you connect
When you connect a social account, you authorize PostStride through that platform’s own sign-in page. We receive and store:
- OAuth access and refresh tokens, which let PostStride publish on your behalf. They are encrypted at rest (AES-256-GCM).
- Basic profile data: the account’s or channel’s ID, username or handle, display name and profile picture URL.
- For YouTube, we use the Google account identifier to derive and store a hash that identifies connections sharing the same Google authorization. This lets us revoke that authorization and clean up all affected channel connections together.
- For TikTok, your posting options (allowed visibility settings, maximum video length), read each time you compose a direct post.
- After publishing, the ID and link of each published post, and its publishing status.
When you choose to view recent posts for a connected Threads account, we retrieve that account’s recent post text, media URLs, timestamps and links from Threads and display them only in the PostStride account that connected it. This preview is loaded on demand, is not saved in our database or file storage, and is cleared from the page when you hide it or leave Accounts. Your browser contacts Meta’s media servers to display any previews you open; previously loaded media may remain in the browser’s cache.
We request only the permissions needed for connected-account management and publishing: Instagram instagram_business_basic and
instagram_business_content_publish; Threads threads_basic and
threads_content_publish; YouTube youtube.upload, youtube.readonly and
openid (to identify the authorization for revocation);
TikTok user.info.basic, user.info.profile, video.upload and, when direct
posting is enabled, video.publish. We do not read your messages, followers or analytics. To check
publishing results and recover interrupted requests, we may retrieve a recent post identifier and the published post’s link.
YouTube API Services
PostStride uses YouTube API Services to upload videos to your YouTube channel and to show your channel’s name and picture. By connecting a YouTube channel you also agree to be bound by the YouTube Terms of Service, and Google’s handling of your data is governed by the Google Privacy Policy.
You can revoke PostStride’s access to your Google account at any time by disconnecting the channel in PostStride or through the Google security settings page at https://security.google.com/settings/security/permissions. Disconnecting YouTube removes the affected connection and its publishing destinations from the active database and immediately starts a request to revoke the Google authorization. Revocation also disconnects other PostStride channel connections that share that same Google authorization, including copies used in another PostStride account. It does not remove independently authorized connections merely because they use the same channel.
If Google is temporarily unavailable, we retry revocation using a short-lived encrypted token kept solely for this purpose. We erase that retry token when revocation succeeds or by the request’s seven-day deadline. If revocation still has not succeeded, the deletion status shows that attention is required; you can also remove access directly through Google’s permissions page.
While a YouTube connection is active, we check its authorization and refresh its channel profile daily. When we detect revoked access, we remove the affected connections and start cleanup of their stored publishing data. If repeated failures prevent us from reconfirming access for 28 days, we remove the connection rather than retain an unverified profile. API-derived video identifiers, links and publishing results are also cleared after 28 days instead of being retained without refresh. Associated workflow records are included in cleanup, with a deadline no later than 30 days after their last verification or collection. Original content you supplied is handled separately, as explained below.
How we use information
- To create your PostStride account and authenticate you with your chosen sign-in method.
- To publish your content to the accounts you select, at the time you choose, and to show you whether each post succeeded.
- To keep your connections working (refreshing tokens before they expire) and to keep your account secure (for example, limiting repeated failed sign-ins).
We do not sell your information, use it for advertising, or build profiles about you.
How information is shared
- With the platforms you publish to: your content and settings are sent to Instagram (Meta), Threads (Meta), YouTube (Google) or TikTok only when you schedule a post to an account on that platform.
- Media links: so the platforms can download your files, each uploaded file is reachable at a long, unguessable URL on poststride.app. Anyone who has that exact URL can open the file.
- Infrastructure: PostStride runs on Cloudflare (application hosting, database and file storage), which processes data on our behalf.
- Support email: Google Workspace processes messages you send to our support address, including the information and attachments you choose to include.
- Legal reasons: if required by law, or to protect the rights and safety of users and the service.
Cookies and device storage
PostStride uses poststride_session to keep you signed in for up to 30 days. When you start Google
sign-in, it also sets poststride_google_state, an HTTP-only security cookie lasting up to 10 minutes
that ties the sign-in response to your browser. Both are strictly necessary and are not used for tracking.
The session cookie is also HTTP-only. We use no analytics, advertising or third-party tracking cookies.
Retention and deletion
- Disconnecting a social account removes its saved connection, profile and publishing destination records from the active application database, and stops pending publishing to that connection. For YouTube, a short-lived encrypted token may remain only to retry revocation, as described above.
- When we receive a valid revocation or deletion notice from Instagram or Threads, we perform the same connection removal.
- Disconnecting a channel leaves your PostStride account, original captions and uploaded files available for other connections. Delete post records in Queue. To remove your whole PostStride account, use Accounts → Delete your PostStride account. After confirmation, we remove the account and its database records, sign you out, and queue deletion of uploaded files and all recorded publishing workflows.
- User-requested cleanup has a seven-calendar-day deadline. Deletion work starts immediately and failures are retried. You receive a status link showing whether the recorded cleanup is pending, completed or needs attention; a pending or attention status does not confirm completion. If you cannot sign in or need help with a request, contact us below.
- Completed cleanup refers to active application storage and the recorded workflow instances. Cloudflare D1 recovery history can retain deleted database records for up to 30 days. Operational logs and other infrastructure recovery copies follow the hosting provider’s retention settings and are not immediately erased by an in-app deletion. We do not represent the seven-day active-cleanup process as erasing every backup copy.
- Minimal deletion receipts and task identifiers may remain to track cleanup and show its status. Completed cleanup tasks do not retain authorization tokens or uploaded content. Previously downloaded or cached media copies may remain; media responses can be cached for up to 24 hours.
- For deletion requests received through Meta, we retain a confirmation-code hash, the platform name and completion time so you can check that the connection removal completed. This receipt contains no account identifiers or post content.
- Content already published to a platform stays there under that platform’s rules; delete it on the platform.
See Data deletion for step-by-step instructions.
Security
Traffic is encrypted with HTTPS, platform tokens are encrypted at rest, and passwords are hashed. No method of transmission or storage is completely secure, but we work to protect your information.
Children
PostStride is not directed to children under 13, and we do not knowingly collect their information.
Changes
We will update this page when our practices change, and change the effective date above.
Contact
Questions or requests about your data: support@poststride.app