Privacy Policy
Effective date: 3 August 2026
Last updated: 3 November 2026
EggWire is operated by EggWire LLC, a Michigan limited liability company, 443 Western Ave #1138, South Portland, ME 04106. Contact: [email protected].
Scope and international users
EggWire is operated from the United States and is intended for U.S. commercial users in the egg and poultry industry. We do not target the United Kingdom, European Union, European Economic Area, or Switzerland. If you access the service from one of those places, your information will be processed in the United States, where privacy laws may differ from those where you live.
The short version
We collect what an account needs to work, plus the limited records of visits, campaign links and checkout consent described on this page. We do not sell or rent your personal information, and we do not share it for cross-context behavioral advertising. We disclose personal information only as described in this policy, including to service providers that help operate EggWire, and we never disclose what you read to another subscriber, to a company we cover, or to advertisers or data brokers. There are no advertising trackers on this site.
What we collect
When you create an account
- Your email address
- A cryptographic hash of your password — we never store the password itself
- Your alert preferences: minimum severity, categories, the companies you follow, delivery channels, quiet hours, and any states an older version of the app saved (kept, but no longer used)
When you request a Team invoice
We store your name, email, organisation, seats and optional note to create or link your account, review your request and prepare your invoice. We send these details to [email protected]. We also keep the linked user id, request source, creation and approval times, approval status, notification status and whether introductory Pro access was granted, to avoid duplicate emails and repeat grants. Team provisioning follows separately after payment.
When you ask about EggWire for your team
We store the work email, and the optional company, team size and note, you enter, which page you asked from, your user id if you were signed in, and when you asked. We send these details to [email protected] so a person can write back to you. Asking never creates an account, adds you to a mailing list or sends you automated email.
When you sign up for What You Missed
What You Missed is a free weekly email of the week’s top headlines; signing up never creates an account. Signing up sends you one email asking you to confirm; no weekly email is sent until you press the confirm button in it, and every weekly email has a one-press unsubscribe. For each address on the list we store:
- The email address and its domain
- Which page you signed up from
- When you signed up, when the confirm email was sent, and when you confirmed or unsubscribed
- The network (IP) address and browser of the confirm press, and of each unsubscribe press
- A record of each weekly email sent to you, and whether it failed
We keep these as proof that you asked for the email and, after an unsubscribe, that you opted out, so the address is never mailed again. They stay after you unsubscribe for that reason. A signup that was never confirmed, and never unsubscribed before, is deleted after 14 days. To have your address and all of these records deleted entirely, email [email protected].
When you subscribe
- A Stripe customer identifier and subscription identifier
- Your subscription status and renewal date
Your card details are handled entirely by Stripe and never reach our servers. We cannot see your full card number.
When you start a checkout
Before we send you to Stripe we record what you agreed to: the plan, billing interval, number of seats, the price and any free days before the first charge, the version of the auto‑renewal terms you were shown, and the time. With it we keep a salted one‑way hash of your IP address — unlike the daily fingerprint below, this hash stays the same from day to day, so two payment disputes from one address can be matched — and your browser’s user‑agent text as your browser sent it. We never store the IP address itself. We use this record only to show what was agreed if a payment is disputed. We keep it as evidence for as long as a dispute could arise and do not currently delete it automatically; if you delete your account the record stays, no longer linked to your account.
As you use the service
- Which stories you have opened, and when. This enforces free-tier limits and tells us whether alerts are being received.
- Which stories you have saved
- We record signed-in audio playback milestones and optional usefulness responses to understand and improve the briefing, and delete them after 30 days. This includes listening in the mobile app, from the app version that adds it.
- A daily activity record while you are signed in. For each day you use EggWire it notes: whether you opened it, and whether that was in the mobile app; how many stories you opened (and which ones, the same reading history described above, now for every plan, not only the free one); whether you started the Morning Candle and whether you listened to at least a minute of it (or most of a shorter one); whether you opened EggWire by tapping one of our push notifications (a story alert or the Morning Candle; in the mobile app, from the app version that adds it); and whether you opened the egg price pages (only that you did, not which prices). We also keep the date you were last active. We use this only to see whether EggWire is useful enough to come back to. It holds no IP address and no browser or device identifier: to tell the app from a browser we read the technical User‑Agent header at the moment of the request and do not store it. Automatic background refreshes are not counted, and reading our emails is not tracked at all. It is kept while your account exists and deleted with it.
- Whether an alert we sent was delivered and whether it was opened
- If you enable push notifications: the push endpoint your browser provides and the associated cryptographic keys, or, in the mobile app, the Expo push token your device provides
In your browser
We store an authentication token in localStorage so you stay signed in, and
temporarily store an invite, referral or trial code if you arrived by such a link
(a referral or seller code only once our server confirms it is one we issued, and then
as we issued it).
We only record which of our own links or campaigns brought you here; anything
else is recorded as ‘other’. A referring site, here and everywhere
else on this page, is stored only as that site’s domain — for a link from
www.linkedin.com, just linkedin.com — and as “other” when it is not a
recognisable website address. A utm_source,
utm_medium or utm_campaign tag, or the src tag on a
link to a story (which says whether you came from one of our emails or push
notifications), is kept only when it exactly matches a tag we put on our own links
(on your account, a seller’s code also counts, when it exactly matches a code
we issued); any other value is kept as the word “other”, never as it was written. When you first
arrive by a tagged link or from another website, your browser keeps one record of that
first arrival: its three tags recorded that way, the referring site’s domain,
and the time it was recorded. It also keeps the latest utm_source tag you
arrived with, recorded the same way. It does not keep the referring site of any later
visit: earlier versions of this site kept the latest referring site in your browser,
and that copy is deleted the next time you visit. If you follow a link to a particular
page while signed out, your browser keeps that page, with the link’s
utm_source and src tags recorded the same way, until you next
sign in, and takes you there only if that is within two hours. Each time a page loads,
everything above that is already in your browser is checked again and anything that is
not one of our tags is replaced with “other” or deleted, including values
kept by earlier versions of this site. If you create an account, your browser sends
that first arrival’s tags and domain with the sign‑up (or, if there is no
such record: from one of our email‑only sign‑up forms, the three tags and the
referring site’s domain of the page you sign up on, and otherwise only the latest
utm_source tag) and we keep them on your
account, again only as our own tags or “other”, with
whether you signed up on the website or in the iOS or Android app and whether it was
through an invitation, referral or trial‑code link (for a seller’s link, the
seller’s code as we issued it). An email address in a tag is therefore never
kept. We do
not use cookies for tracking, and there are no advertising pixels or
third-party trackers on this site. We do not use Google Analytics or any
advertising analytics. The one outside analytics service is Cloudflare Web
Analytics, part of the Cloudflare service listed below: it counts page views and
measures how fast pages load, without cookies, without storing anything in your
browser and without fingerprinting you. Apart from Cloudflare, no third party
receives a record of your visit.
EggWire’s reading pages set the cookies below. All are first‑party (set by eggwire.co itself, never by anyone else), all are essential to how the site works, and none is used for tracking or advertising.
| Cookie | What it does | Lifetime |
|---|---|---|
ew_auth | A sign‑in hint. It holds only the value “1”, meaning a sign‑in token exists on this device, so a story link opens in signed‑in mode. It carries no identity and grants no access by itself. It is readable by the site’s own scripts (not HttpOnly). Set when you sign in on the website and removed when you sign out. | One year, or until you sign out |
ew_free | The free‑story claim for signed‑out visitors: which story is your free story for the day, signed by our server so it cannot be altered. HttpOnly, so page scripts cannot read it. Set only while you are signed out and a free daily story is on offer. | Until midnight US Eastern time at the end of the day it was set |
ew_tour | Set only if you start the two‑minute demo tour: a random value (its one‑way fingerprint is kept with the tour you were shown) so the tour is shown once a week and you see your own tour again, with the company name you typed. HttpOnly, and sent only to the tour’s own address. | Seven days |
Our own traffic measurement
We do count visits, using our own server rather than anyone else's. When a page
is served we record one row containing: which page it was, from a short fixed
list; for a story permalink specifically, also the id of the story the visit landed on, so we
can tell what content brought a reader in;
the domain of the site that referred you, if any, never the full link;
the utm_source tag if the link you followed carried one, recorded as one of
our own tags or as “other”, which is how we tell whether a campaign worked; a coarse browser family — chrome, safari, firefox, edge, or
“other browser” — read off the technical User‑Agent header, never the raw
header itself; whether the request looked like a bot; whether the story we served was
locked because you were signed out, so we can tell how often readers meet the
paywall; whether that day’s visits looked like an email security scanner
opening links automatically, so we do not count scanners as readers (it never
changes what you are shown); and a one‑way fingerprint.
We use that fingerprint for these things only: to tell repeat visits apart from new
ones within a single day, so we count visitors rather than page loads (here, and on the
beacon, sign‑up step and screen‑tap rows described below); to match a page
visit with the beacon from the same browser, so we can tell pages that really loaded from
automated fetches; to look at one day’s visits under the same fingerprint together
and judge whether they came from an email security scanner, in which case those visits are
not counted as readers and that day’s sign‑up steps and screen taps under the
fingerprint are not recorded or counted; to cap how many screen taps one visitor can record
in a day; to show the two‑minute demo tour once, by matching a same‑day return
visit without the tour cookie to the tour already shown; and, if you create an account, to count in our own admin,
as totals across all sign‑ups, which page, referring site and
utm_source tag sign‑ups first arrived by that day, and how many of
them had played the Morning Candle sample on a Pro panel earlier that day and then started
a trial; for those counts we keep the fingerprint from the day you signed up on your account.
It is never shared with anyone and never used for advertising.
That fingerprint is a salted hash of your IP address and browser user‑agent. We do not store either value — only the hash. The hash is one‑way and its salt changes every day at midnight UTC, so it cannot be reversed and one day’s fingerprint cannot be matched against another day’s. We delete these rows after 90 days.
Separately, while you are signed out, a same‑day salted one‑way hash of your IP address alone (no browser detail) counts how many free stories have been opened from that address that day, so the daily free‑story limit cannot be reset by clearing cookies. We do not store the IP address itself.
Team plan page visits are counted in the same way, under the Team page bucket (team_page_view).
Starting checkout is recorded with the selected plan.
After the app first renders, it also sends one small first-party beacon. Its
row contains: which page it was; the utm_source tag for that page
load, if any; the same daily one-way fingerprint; whether the request looked
like a bot; and when the beacon was received. Beacon rows are deleted on the
same schedule. It sets no cookie. We do not store your IP address or browser
user-agent, and share nothing with anyone else. For signed-in readers this
traffic measurement is kept entirely separate from the record of which stories
you opened — the promise below that we never disclose who reads what is
unaffected by it.
Before you have an account, the public pages also note five steps the same
way: pressing play on the free public Morning Candle and hearing it to the end
(candle_public_play_start, candle_public_play_complete),
seeing a sign‑up form (signup_form_view), and sending a
sign‑up form, either the email‑only one
(signup_submit_email_only) or the one with a password
(signup_submit_password). When the iPhone app's “Start a
7‑day trial at eggwire.co” button opens this website, the visit
is noted once as app_signup_link_click. Each row holds
the step, which form or player it was, the page, the utm_source tag
recorded as one of our own tags or as “other”, and the same daily
one‑way fingerprint. Never the email address or password you typed. Steps that look
like a bot or an email‑security scanner are not recorded. These rows are
deleted on the same schedule.
Where a page shows the panel for stories that are part of Pro, it also notes,
at most once a day each: pressing play on the short Morning Candle sample in that
panel (candle_paywall_play), hearing it to the end
(candle_paywall_complete), and pressing the panel’s trial button
(paywall_trial_click). These rows hold the same few fields as the steps
above and nothing more. They are counted, as totals only, against the sign‑ups
of the same day described above; nothing a page sends can attach one of these steps
to an account. Pressing the Team page’s email link
(team_contact_click), its Team checkout link
(team_checkout_click), or opening its invoice form
(team_invoice_open) records the same few fields, with no address or name.
Seeing or pressing “Get EggWire for your team” on the home page or a paywall
(team_cta_view, team_cta_click), and seeing or sending the
What You Missed signup (wym_view, wym_submit), are recorded the
same way, at most once a day each, never with the address you type.
When the two-minute demo tour is offered, starting it (tour_start),
reaching each of its screens (tour_step, with the screen’s name),
finishing it (tour_finish), and pressing its trial or walkthrough
button (tour_trial_click, tour_demo_click) are recorded the
same way, at most once a day each. To show the tour only once a week, we keep a
record of the tour you were shown for up to 90 days: the buttons you picked, the
company name if you typed one, the ew_tour cookie’s one‑way
fingerprint, and that day’s fingerprint described above (which cannot be
matched against another day’s). A return visit without the cookie is matched
by that day’s fingerprint only for the rest of that day, and is never shown
the company name.
The website and the mobile app also note where on a screen readers tap
(ui_tap), so we can tell which headlines, prices and other parts
people expect to open and make them work. Each row holds only: which area of
the screen it was, from a short fixed list (for example “breaking
banner” or “story card”); what kind of thing was tapped
(“headline”, “price”, “link” and the like,
never its text); whether it does anything when tapped; web or app; whether
you were signed in; the page; and the same daily one‑way fingerprint.
It is not linked to your account and holds no IP address, browser or device
identifier. Taps that look like a bot or an email‑security scanner are
not recorded. These rows are deleted on the same schedule.
AI assistant connections
On the Team plan you can connect EggWire to an AI assistant such as Claude or ChatGPT (how it works). If you do:
- What we store: which app you connected and when, when it last used EggWire, and for each request a count only: the tool it used (for example, a story search), the result count, how long it took, and whether it worked. Sign-in tokens are stored only in a scrambled form.
- What we never store: your prompts, your search text or your conversations. EggWire doesn't receive your conversations at all.
- What the assistant receives: only what you ask it to fetch: EggWire's story summaries and source links, the Morning Candle's stories and USDA prices. The assistant's provider (Anthropic for Claude, OpenAI for ChatGPT, or another provider you choose) handles it under the terms you agreed with that provider. EggWire has no contract with it about your use and sends it nothing you didn't ask your assistant to fetch.
- Your control: disconnect any app at any time in your EggWire preferences, and it stops at once. Changing your password, leaving your team, or signing out everywhere disconnects every app. If you delete your account, all of it is deleted.
- How long: request counts are kept 400 days, then deleted.
What we do NOT do
- We do not sell, rent, or trade your personal information.
- We do not share your information with advertisers or data brokers, or for cross-context behavioral advertising.
- We never disclose who reads what. In an industry this small, which producer is reading about which outbreak is nobody else's business.
- We do not track you across other websites.
- We do not use your data to train AI models. Our summarization processes published news articles; it never receives subscriber information.
Who we disclose data to, and why
We use a small number of service providers to run the product. Each receives only what it needs to provide services to EggWire:
| Service provider | What it receives | Why |
|---|---|---|
| Railway | Hosts the application and our PostgreSQL database, so all account data is stored with it | Hosting and data storage |
| Cloudflare | Standard request data (IP address, user agent) for every visit, and cookieless page‑view and load‑time counts (Cloudflare Web Analytics) | DNS, HTTPS and network protection in front of the site, and counting page views |
| Stripe | Your email and the payment details you enter on Stripe’s own checkout page | Payment processing |
| SendGrid | Your email address and message content | Sending the daily brief, alerts, and account mail |
| Google Workspace | Email you send to [email protected], and the Team invoice request and team request details we send there | Our [email protected] mailbox |
| Expo push service | Your device’s Expo push token and the alert’s title, text and link | Delivering push alerts to the mobile app, only if you allow notifications |
| Apple Push Notification service and Google Firebase Cloud Messaging | The same alert, passed on by Expo to your iPhone or Android device | Delivering mobile push alerts, only if you allow notifications |
| Your browser’s push service (web push, VAPID) | The push endpoint your browser issued and the alert’s title, text and link | Delivering web push alerts, only if you enable them |
Two further services help us write and voice the news, and never receive any subscriber information:
- Anthropic (Claude) receives the text of published news articles, our own story summaries, and public market price figures, to filter, summarize and classify the news.
- OpenAI receives the script of the daily Morning Candle audio brief, which is written from published news and market prices and is the same for every listener, to turn it into speech.
If you connect an AI assistant (Team plan), the summaries and prices you ask it to fetch go to that assistant's provider, at your request; see AI assistant connections.
We may also disclose information if legally required to do so, or to protect our rights or someone's safety. If that ever happens we will tell you unless we are legally prohibited from doing so.
How long we keep it
Account information is kept while your account exists. You can delete your account yourself, in the app and on the web (Alerts & preferences in the app, Alert preferences on the web, then Delete account), and it takes effect immediately. Delete your account and your personal information goes with it, including the account record with its email address, preferences, price alerts and their in-app notifications, reading history, saved stories, delivery records, any API key, your private podcast feed link and its download log, every AI-assistant connection and its request counts, and push subscriptions in the browser and the app; email stops and every signed-in session ends at once. If you pay by card, the subscription is cancelled at the same moment, with no further charges and no refund for time already paid. What stays: copies may remain for a limited period in backups, logs, and similar records before routine deletion; the checkout consent record described above is kept, unlinked from the account, as evidence for payment disputes; a partner commission record, if you signed up through a partner, is kept unlinked from the account because it records money owed to that partner; a referral reward still inside its refund hold is kept so the person who referred you still receives it, holding only the customer reference our payment processor (Stripe) gave you and the date of your first payment, so a refund can still cancel it, and no email, name or account number; if your address was already on our outreach list it stays there, marked unsubscribed, as a suppression record so we never email you again; a Team seat a company reserved for your address that you never used, and a team invitation to you that is still open, stay with that team; and email you sent us stays in our mailbox. If your account had a free trial, a referral Pro month or a free Team comp, we keep a scrambled, one-way code of your email only to stop repeat free trials; it can't be turned back into your address, and it never stops you signing up again or paying. Billing and invoice records stay with our payment processor, Stripe, as required for tax purposes, and other records we are legally required to keep are retained as required by law.
Your choices
- Change your preferences at any time in your account.
- Unsubscribe from marketing email using the link in the footer of any marketing email. Daily briefs, alerts you request, account messages, security notices, and essential billing notices are service or transactional communications and may continue unless you change your alert preferences, cancel the related feature, or close your account.
- Turn off push notifications in your account or your browser settings.
- Delete your account yourself, in the app or on the web, which deletes your data as described above. See how to delete your account, including how to ask us by email instead.
- Ask us what we hold about you or request deletion. Email [email protected] and a person will answer. We may need to verify your identity before disclosing, correcting, or deleting account data.
Depending on where you live, you may have legal rights to know, access, correct, or delete personal information, to receive a copy of personal information, and not to be discriminated against for exercising privacy rights. Even where those rights are not legally required, you may email [email protected] to request access to or deletion of your account data, and we will make reasonable efforts to honor verified requests, subject to applicable exceptions and records we are required to keep. We do not sell personal information or share it for cross-context behavioral advertising, so there is no sale or advertising-share opt out to offer.
Do Not Track
Some browsers send a "Do Not Track" signal. There is no industry-standard response to it. We do not track users across other sites in the first place, so our behavior is the same either way.
Security
Passwords are stored as cryptographic hashes. Traffic is encrypted in transit. Card details never touch our servers. No system is perfectly secure, and we will notify you of a breach affecting your information as required by applicable law.
Children
EggWire is a commercial trade service intended for adults in the egg and poultry industry. It is not directed to children under 13, and children under 13 may not create an account or use the service. We do not knowingly collect personal information from children under 13. If we learn that we have collected personal information from a child under 13, we will delete it.
Changes
If we change this policy we will update the date at the top and, for any change that materially affects your rights, tell you by email before it takes effect.
Contact
EggWire LLC, 443 Western Ave #1138, South Portland, ME 04106
[email protected] — a person reads it.
Copyright & DMCA · Privacy · Terms · Who's behind EggWire · Support · Delete Account · Cage-Free Laws