Privacy Policy
Last updated: August 31, 2026.
This policy explains what PistonPost currently handles when you use the service, why it is handled, which providers are involved, and the choices available to you.
Information PistonPost handles
- Account and profile data: your email address, username, display name, avatar, profile details, account role and status, settings, sign-in methods, passkeys, two-factor settings, and active sessions.
- Content and activity: posts, media, tags, comments, hearts, follows, visibility choices, stored media properties, captions, and alt text. Uploaded images are cleaned in your browser to remove private and descriptive file metadata before PistonPost accepts them for storage.
- Moderation data: reports, the details supplied with them, moderation decisions, and audit events that record important account or content actions.
- Security and technical data: network address, user agent, device and browser signals, approximate location, request details, rate-limit activity, and reliability or performance events.
- Delivery data: email and push notification settings, email preference change history, transactional delivery outcomes, and push subscription capabilities supplied by your browser. Email preference history records the category, chosen value, source, and time without a network address or user agent. A push capability includes its provider endpoint and encryption keys. PistonPost does not put those capabilities or message content in queue or analytics events.
Drafts and sharing on your device
Text drafts and post details can be recovered on the same device for seven days after saving. Selected files and upload progress are not part of that recovery draft. Incoming shares use separate temporary storage for up to one hour, including original image files. Nothing is posted automatically. Images pass through the usual metadata cleaning before upload. Signing out or changing accounts clears the previous account's local data.
These limits are checked when the app accesses local storage. Your browser can remove stored data earlier, and expired data can remain until the next cleanup. Native sharing sends the link or image you choose to an app selected in your device's share menu. The Cookie Policy describes this storage in more detail.
How this information is used
PistonPost uses this information to:
- create and secure accounts and sessions;
- store, transform, display, and deliver posts and media;
- provide feeds, comments, hearts, follows, search, and notifications;
- send account, security, moderation, and other service messages;
- investigate reports, enforce the Terms of Service, and prevent abuse; and
- measure aggregate use, diagnose failures, and keep the service reliable.
Public and unlisted information
Public profiles and posts can be seen by anyone and may appear in public feeds, profile and tag pages, Atom feeds, sitemaps, and search engines. PistonPost can temporarily mark public content from a new or unverified account as ineligible for search indexing.
Unlisted posts are excluded from normal public discovery, but anyone with the URL can view and reshare them. Do not use an unlisted post for information that must stay private.
Authentication and security
PistonPost uses Better Auth for account and session management. In production, it also uses Better Auth Infrastructure for authentication activity tracking and threat detection:
- Dash receives authentication, account, and security events. Depending on the event, this can include a user, account, or session identifier, email address, name, network address, approximate city and country, user agent, and event details.
- Sentinel creates a browser and device fingerprint from signals such as browser and platform details, language, time zone, screen and hardware characteristics, fonts, canvas, WebGL and audio characteristics, browser storage availability, plugins, automation indicators, and network connection data. It also receives the current page URL, a visitor or request identifier, network address, and approximate location.
Sentinel runs when the application loads and attaches its identifier to authentication requests. Its risk result can allow, challenge, or block an authentication request. Dash and Sentinel are security functions and are not controlled by the optional PostHog analytics choice.
Sensitive authentication actions can also use Cloudflare Turnstile to distinguish people from automated abuse. In production, password choices are checked against Have I Been Pwned using a partial hash lookup. The full password and full password hash are not sent to that service.
Analytics and post views
Each post has a public aggregate view count. To reduce repeated counts, PistonPost briefly combines the viewer's network address with the post identifier to create a one-way rate-limit key. The post record keeps the aggregate total, not a list of viewers. Cloudflare Analytics Engine receives aggregate view and operational events, including the post identifier, type, visibility, and viewing surface, without a viewer identity.
Push notifications
Push notifications are optional and enabled separately on each device. When enabled, PistonPost stores the browser's push capability with the signed-in session and sends generic comment, reply, moderation, and account security alerts. The alert can appear on a lock screen, so its text avoids post titles, comment text, usernames, and moderation reasons. A supported installed app can show a dot for activity received while PistonPost is not visible. The dot clears when you return; it is not an unread count.
Your browser routes encrypted alerts through its push provider. Depending on the browser and device, that provider can be Google, Mozilla, Apple, or Microsoft. PistonPost sends an encrypted payload and the provider learns the delivery endpoint, timing, and technical delivery details. Browser and operating-system notification settings also apply.
Optional PostHog analytics stay disabled until you consent. When enabled, PistonPost sends pseudonymous page-view events using broad route categories such as post, tag, or profile. Temporary identifiers and standard browser or device properties added by the PostHog SDK may be included. Dynamic post IDs, tag names, usernames, page titles, referrers, query strings, and page content are removed before an event is sent.
PostHog identifiers use memory-only persistence and are not saved as persistent analytics cookies by PistonPost. Autocapture, session replay, heatmaps, exception capture, person profiles, feature flags, and surveys are disabled. PistonPost also respects the browser's Do Not Track signal for this optional analytics. The Cookie Policy explains the control in more detail.
Service providers and processing locations
PistonPost currently relies on these providers:
- Cloudflare for edge hosting, traffic delivery, the application database, media storage and delivery, image and video processing, email delivery, bot checks, rate limiting, queues, workflows, and aggregate operational analytics.
- Better Auth Infrastructure for the Dash and Sentinel authentication security functions described above.
- PostHog for optional analytics through an EU-hosted endpoint when you consent.
- Have I Been Pwned for compromised-password checks in production.
- Browser push providers operated by Google, Mozilla, Apple, or Microsoft when you enable push on a compatible device.
Cloudflare handles traffic through its global network. Processing locations for other provider records depend on the production account configuration and each provider's infrastructure. External sites linked from posts or profiles have their own privacy practices.
How long information is kept
- Account, profile, and content records are normally kept until you delete the content or your account.
- Standard remembered sign-in cookies last for up to seven days unless you sign out, revoke the session, or choose not to be remembered. Short-lived authentication and verification data expires sooner.
- Incomplete staged media uploads are eligible for cleanup after 24 hours.
- Email preference history is removed when its account is deleted.
- A push capability is removed when its session is revoked, you disable push on that device, the provider reports that it expired, or the account is deleted. Push providers can retain an encrypted pending alert for up to 24 hours for delivery.
- Account deletion removes account data and content through database deletion and an asynchronous media cleanup workflow. Deleted information can remain temporarily in provider cache, backup, or recovery systems until those systems expire it.
- Moderation reports and audit events currently have no fixed automatic expiry. They can remain after an account or content is deleted. Account links are cleared where the data model supports it, but event and target identifiers can remain. A completed account deletion records the former account identifier so the deletion can be audited.
Provider-side security and analytics records follow the current production account settings and provider agreements. PistonPost does not publish one fixed retention period for all of those records. Contact us if you need the current configuration for a privacy request.
Your choices
Account settings let you update your profile and security settings, manage sessions, and start account deletion. Notification settings let you choose comment and reply alerts by channel, opt into or out of product updates, and enable or disable push on each device. Optional emails also include a category-specific unsubscribe link. You can edit or delete content through its available controls and can change optional analytics consent at any time. PistonPost does not currently provide a self-service account export.
To ask for access to a copy of your information, correction, deletion, restriction, or another privacy request available under applicable law, email us. We may need to verify that the account belongs to you before acting on the request.
Changes to this policy
We may update this policy when the service or its data handling changes. The date at the top shows when this version took effect.
Contact
Privacy questions and requests can be sent to support@pistonmaster.net. You can also read the Terms of Service and Cookie Policy.