Under the Hood
For the curious — how Corvid actually works.
The fetch cycle
When a search is due, Corvid:
- Takes your search terms and runs them against the search index, server-side.
- Applies a relevance filter — results that don't actually mention your terms are dropped before you ever see them.
- Deduplicates by canonical URL — if the same page appears across fetches (or across your searches), it is recorded once. You will not see the same result twice.
- Stores any URLs that are new since the last check.
- Rolls the new matches into your next email digest.
Feeds follow the same rhythm: Corvid polls each feed politely (using conditional requests so unchanged feeds cost nothing), and a feed that stops responding is retried with exponential backoff rather than hammered.
Search source
Corvid searches Brave Search, which operates an independent web index — it does not re-rank results from Google or Bing. This matters for privacy and for result diversity: you are not subject to the same filter bubbles as mainstream search engines.
Queries are sent server-side from Corvid's infrastructure — never from your device, and never in a form that identifies you to the search provider.
Digest assembly
Each cadence cycle, Corvid gathers everything new since your last digest, groups it by search and feed, and sends one email (or one per source, if you've chosen per-source delivery). A cycle with nothing new sends nothing. If a delivery fails, its finds roll into the next successful digest — they don't pile into one giant catch-up email, and everything is always visible in the app regardless.
If you've added a PGP key, encryption is fail-closed: a digest that can't be encrypted is not sent at all. Plaintext never goes out to a PGP user.
Scheduling
Corvid uses a durable job queue with separate workers for each cadence band, so a burst of due weekly searches won't delay daily ones. If a worker crashes mid-fetch, the job is retried automatically.
Infrastructure
Corvid runs on Fly.io in Frankfurt, Germany (EU). The database is Neon PostgreSQL on AWS eu-central-1. All data stays in the EU.
The application is built on Elixir and the BEAM (Erlang virtual machine), which gives it very high concurrency per server — hundreds of simultaneous fetches with minimal resource overhead. If you're an Elixir or Erlang developer, the full module reference is included alongside these guides — see the sidebar.
Privacy
- Corvid does not sell or share your data.
- The app and its emails contain no trackers, no pixels, no analytics scripts.
- Searches run from Corvid's servers, never from your device — the search provider sees Corvid, not you. Queries travel over HTTPS; Brave's own privacy policy governs what they log, and they are designed to log as little as possible.
- Email delivery uses MailPace, an EU-hosted transactional email provider.
- Payments are handled by Paddle, a UK Merchant of Record — Corvid never sees your card details.
- Your data is yours to take or destroy: one-click JSON export and immediate self-serve deletion, both in Settings.
For the full privacy policy, see mycorvid.com/privacy.