Privacy
Privacy Policy
How the current ListingHawk MVP handles account, search, listing, and notification data.
Last updated October 12, 2026
Account and authentication data
When you create an account, ListingHawk collects the name, email address, and password you submit. Better Auth handles email-and-password authentication and creates the account and session records needed to keep you signed in. Those records are stored with the application data in Neon Postgres. Each session record includes the IP address and browser description it was created from; sessions are deleted 30 days after they expire. To stop automated sign-ups and abuse, the account forms run a bot check (Vercel BotID) and ListingHawk counts recent attempts by IP address, stored only as a one-way hash that expires within a day.
You can instead choose Continue with Google. Google then tells ListingHawk your name, your email address, whether Google has confirmed that address, the address of your profile picture, and an identifier for your Google account. ListingHawk stores those with the sign-in tokens Google issues, and uses them only to sign you in. ListingHawk never receives your Google password and does not ask for access to Gmail, contacts, or any other Google data. If your Google address matches an existing ListingHawk account, Google sign-in is added to that account rather than creating a second one.
The application uses essential authentication cookies to maintain a signed-in session. It does not use advertising cookies, and Google is the only outside sign-in service.
To understand how the site is used, ListingHawk uses PostHog analytics, which stores an identifier in your browser. It records the pages you visit and the buttons and links you click, with the button's label, your browser and device type, and the page you came from. When you are signed in, these are tied to your ListingHawk account by an internal account number, never your email address. Sign-in, reset and unsubscribe codes are removed from page addresses before anything is sent. It also receives technical error reports when something fails, with email addresses removed. It does not record what you type, listing titles, images or prices, or screen recordings.
When you click a listing in an alert email, the link goes through ListingHawk first, which records which account, listing, search and email the click came from, and then opens the listing on eBay. These records are kept for 180 days.
Sign-up waitlist
When sign-up is invite-only, you can join a waitlist instead of creating an account. ListingHawk then stores the email address you enter, what you collect if you choose to say, and when you joined. They are used only to decide when to invite you and to email you that invitation, and are visible only to ListingHawk's administrators. They are not added to analytics or used for marketing. To be removed from the waitlist, email support@listinghawk.net.
Saved searches and result history
ListingHawk stores saved-search names and keywords, excluded terms, maximum item prices, buying-format settings, combined-feed preferences, and email-notification preferences. It also stores eBay item identifiers, returned listing details, search snapshots, first- and last-seen timestamps, and whether a result was new for a saved search.
When you hide a listing, ListingHawk stores your account ID, the eBay environment, the exact eBay item ID, dismissal and restoration timestamps, and a keyed seller identifier when available. This preference applies across your saved searches. It is stored separately from short-lived listing details, so hiding remains in effect after those details expire without retaining old titles, images, or prices solely for the hidden-list view.
This information is used to run searches, apply user-defined filters, build the combined results feed, and distinguish newly discovered listings from results the account has already seen.
Listing-alert emails contain a signed unsubscribe token scoped to the receiving ListingHawk account. The token does not contain the account email, is not stored as a separate database record, and expires after 60 days. It names the saved searches the email was about, by number only. It can only change that account's email choices (one email a day, a seven-day pause, stopping the emails for one of those searches, or turning off account-wide listing-alert delivery), and only after the recipient chooses on the page it opens. The unsubscribe button built into some mail apps turns listing alerts off directly.
Listing-alert sending also requires server-side delivery and eBay Messaging-approval gates. Those gates can stop discovery, retries, manual test messages, and provider delivery without removing a user's saved searches or notification choices. No-send previews remain available without contacting the email provider.
eBay data
Saved-search queries are sent to the eBay Browse API. ListingHawk stores and displays listing information returned by that API, including item IDs, titles, listing URLs, images when available, prices, shipping cost, condition, buying options, seller username and feedback, and listing dates when eBay supplies them.
The current review environment uses production eBay Browse API data. ListingHawk does not connect to a user's eBay account and does not perform transactions.
When enabled, a listing's "View on eBay" link may use the affiliate URL returned by eBay for ListingHawk's EPN campaign. The page or email identifies this close to the affected links. An affiliate link carries a custom ID made of a channel letter and your internal ListingHawk account number ("w-" for the website, "e-" for email), so eBay Partner Network's reports can show which account and channel a purchase came from. It never contains your email address or name. The owner's own accounts and disabled or ineligible links use the standard URL returned by eBay.
Service providers
- Better Auth provides the application's authentication software and session handling.
- Google confirms who you are when you choose Continue with Google.
- Neon Postgres stores authentication records and application data. The production project was last verified on the Launch plan.
- Vercel hosts the web application.
- PostHog (United States) receives the usage analytics described above.
- Resend delivers test emails and listing-alert emails when email notifications are used.
- Upstash Redis and QStash coordinate the active central search-refresh and eBay account-deletion queues. Queue envelopes are encrypted by ListingHawk before storage.
- eBay receives saved-search queries and returns Sandbox or production listing data through the Browse API.
When an email is sent, Resend receives the authenticated account email, message content, and delivery metadata needed to deliver and report the message. ListingHawk stores delivery status, attempt count, safe error text, and the provider message ID.
Retention, export, and deletion
Listing details are shown only after a successful eBay check within the previous six hours. The application withholds older details and removes expired listing snapshots and refresh-cache payloads during its daily cleanup. Because cleanup runs once daily, physical deletion can occur after the six-hour display window. Obsolete listing details are also removed when a successful refresh no longer returns them.
Sent email payloads are cleared immediately after delivery. Pending or failed payloads are eligible for retry for six hours, then are abandoned and cleared when next processed or during the next daily cleanup. Delivery metadata, including status, recipient, attempt count, listing counts, provider message ID, and safe error text, expires after 30 days and is deleted by the next daily cleanup. Legacy daily and current quota-window usage records expire after 31 days and are deleted by the same cleanup; the latest quota-window snapshot is retained so the application can enforce the allowance across deployments.
Search-specific eBay item-ID and hashed-item-ID history is retained while its saved search exists so an older listing is not incorrectly announced as new after detailed listing data is removed. It is removed when that search or the account is deleted. A minimal account-level list of item IDs already sent by email remains until account deletion so overlapping or recreated searches do not send duplicate alerts. The retention of these minimal eBay identifiers requires confirmation with eBay.
Hidden-listing preferences remain until you restore the listing or delete your account. A restored listing ID remains as minimal email-suppression history until account deletion so restoring does not release previously suppressed alerts. A valid eBay Marketplace Account Deletion request removes matching hidden-listing records.
When eBay sends a valid, signed Marketplace Account Deletion notification, ListingHawk removes stored details, snapshots, search matches, queued email content, and duplicate-suppression records that can be matched to the supplied seller username. ListingHawk retains the notification ID and keyed hashes of eBay account identifiers to recognize retries and prevent deleted seller data from being re-ingested. The long-term retention period for these minimal records must be confirmed with eBay. The notification is not matched to an account email and does not delete a ListingHawk account.
A signed deletion event is encrypted before it is stored with Upstash. It remains recoverable until the database deletion commits. Failed events remain encrypted in a restricted dead-letter queue for operator recovery rather than being silently discarded.
Signed-in users can export their account name and email, saved searches, current stored result data, notification preferences, hidden-listing preferences, alert state, search-specific and account-level duplicate-suppression history, and delivery metadata from the Account Settings page. Email bodies that have already been cleared are not included. The same page provides permanent account deletion. Database foreign-key cascades remove the Better Auth account's associated saved-search, result, hidden-listing, preference, refresh-coordination, notification, and session records from the active database as part of the account deletion.
Resend documents 30-day email-data retention across its plans, with flexible retention for Enterprise; ListingHawk uses Resend's Free plan, and no account-specific retention override was shown in its settings (checked October 18, 2026). Vercel hosts this application on its Pro plan, which keeps runtime logs for one day. The production Neon project was last verified on Launch with a six-hour history/restore window and no configured snapshots or snapshot schedule; physical-backup deletion timing was not verified. The active Upstash Redis and QStash services were last verified on Pay as You Go in AWS US East with Prod Pack off. Redis Daily Backup was off and no backups were listed. Upstash still controls provider-side durability, physical backups, QStash delivery logs, and service logs; those retention periods have not been verified. eBay may retain API or notification records under its own policies. ListingHawk does not control those provider systems or promise immediate removal from provider backups or logs.
Contact
Questions about ListingHawk, privacy, or account data can be sent to support@listinghawk.net.
This policy describes the current MVP implementation and should be updated if providers, data uses, or product functionality change.