Be honest: when a privacy page says "we care about your data", do you believe it? π
Yeah. Me neither. Big promises, a padlock icon, and a footer that quietly takes half of it back.
So when I opened the LYNX page from Anoneurx, I was ready to squint again. Then I reached the FAQ, and the first honest thing it told me was that the engine is not anonymous and not "zero logs".
On purpose.
It said it again in the privacy policy. And again in the security page. And again in the benchmarks.
That was enough to make me read everything: the project page, the README, the privacy policy, the security policy, the roadmap, the changelog and the benchmark page. (Yes, even the changelog. I regret nothing.)
This post is what I found: what looks genuinely good, what is still unproven, who is behind it, and how you can help. In a hurry? The table right below is your 60-second version.
π Quick links
- Project page: anoneurx.com/en-us/opensource/lynx
- Source code: github.com/anoneurx/lynx (AGPL-3.0-or-later)
- Benchmarks: anoneurx.com/en-us/benchmark/lynx
An independent, privacy-focused web search engine by Anoneurx
fast discovery Β· no tracking Β· open infrastructure
What LYNX is
LYNX is a search engine built the way we would want one built: fast, inspectable, and
hostile to surveillance. It crawls the public web under robots.txt, indexes what it is
allowed to index, and serves results without building a profile of who asked what.
v0.1.0. The Β§Z implementation order is complete end to end: crawler, parser indexer, query processor, BM25F ranker, public API with SERP, Postgres storage politeness and safety gates, observability, and the optional Astra answer layer. Every step is test-gated; see CHANGELOG.md. Plans beyond v0.1 β scale, sharding, multi-region β live in ROADMAP.md and are not claimed as done.
What makes LYNX different
Three structural gaps are visible in today's landscape, and LYNX is built around closing them rather than out-texting another SERP:
| Gap in existing engines |
|---|
TL;DR: the 60-second version
| Question | Answer |
|---|---|
| What is it? | An independent, privacy-focused web search engine |
| Current version |
v0.1.0, released on October 27, 2026 |
| Built with | Rust and TypeScript, Tantivy for indexing, BM25F for ranking |
| License | AGPL-3.0-or-later, with commercial licensing from Anoneurx |
| Status | Phases 0 to 5 shipped, Phase 6 (scale) still planned |
| Tests | 56 test suites, which the project says were green at every gated commit |
| Biggest weakness | A small index: roughly 1.2M pages across about 42K domains |
That last row is not me being harsh. It is the project's own number, and they put it on the benchmark page under a heading about their honest weakness.
Solid vs. still unproven
| Area | Status | Why |
|---|---|---|
| Privacy design (no query text stored) | β | Backed by a CI check on banned log and metric fields, per the project |
| Threat model | β | 35 threats, each with impact, likelihood, mitigation and leftover risk |
| Explainable ranking | β |
explain=true shows the signals per result |
| Comparison vs. Google, Bing, Brave, Mojeek, DuckDuckGo | β οΈ | The page labels it a placeholder run with provisional scores |
| Speed figures | β οΈ | Small corpus, one 8 vCPU / 32 GiB machine, not a production promise |
| Coverage for fresh, local and non-English queries | β οΈ | The project admits recall is weaker here |
| Scale (sharding, multi-region) | ποΈ | Phase 6, still planned |
Notice the pattern? The β rows are mostly design choices. The β οΈ rows are mostly measurements. And the project is the one who sorted them that way, not me.
Three problems LYNX is trying to fix
I liked that LYNX does not say "we are a better Google." It points at three specific gaps instead.
1. A lot of private search runs on rented results
Some privacy-friendly engines get their web results from Bing or Google behind the scenes. Your queries may be handled respectfully, but the ranking you see still comes from the company you were trying to avoid.
Awkward.
LYNX tries to own the whole path:
crawl -> index -> rank -> serve
All of it runs under robots.txt, with no syndication deal anywhere in the loop. The project also points out that a 2024 Bing API outage took several "private" engines down with it. When your results are borrowed, someone else's bad day becomes yours.
Verdict: ambitious. The small index shows how far it still has to go.
2. AI answers that sound sure and cannot show their work
The README cites a 2025 CJR Tow Center study where all eight AI search tools tested had citation problems.
All eight. π¬
LYNX's answer layer, called Astra, is built to be cautious. More on that below.
Verdict: the right instinct. Let's see if the design holds up.
3. Ranking is a black box
Ever wondered why result A beat result B?
Normally nobody tells you. LYNX has an explain=true option that shows a "Why this ranking?" panel for each result. I'll get to that too.
Verdict: my favorite of the three.
Privacy by construction, not by promise
This is the part that made me slow down and reread.
Many services say "we don't log your searches." LYNX tries to make logging structurally awkward. The query is turned into a parsed structure (an AST) at the handler boundary, and the raw string is dropped. In their words, there is nothing left for a logger to log.
Think of a vending machine that never prints a receipt because there is no receipt printer inside it.
Even rate limiting, usually where privacy projects quietly build a profile, is handled carefully:
bucket = HMAC-SHA256( daily_salt, first_three_octets_of_your_IP )
- The salt rotates every day
- Counters live in memory only, with a 25-hour expiry
- Nothing durable exists to follow you from one day to the next
βοΈ A real trade-off, stated openly: two people on the same
/24network share a bucket. The project chose that availability cost over a long-term identifier.
The five rules the whole system is shaped around
- No query text is stored anywhere, including the database, Redis, logs, metrics and traces
- No cookies, local identifiers or fingerprinting
- No third-party requests, so no external fonts, scripts, analytics or CDNs
- No ads, data brokering or selling anything
- Every stored field has a purpose, a retention period and an owner
A CI job reportedly searches the code for banned log and metric fields. That detail matters to me more than the slogan does.
A slogan can be ignored. A failing build cannot.
What it openly says it cannot protect
This list is why I trust the rest of the page a little more:
- π§ Hosting providers and network intermediaries can still see infrastructure-level logs
- π§ When you click a result, the destination site learns about the visit
- π§ Metadata like TLS SNI and your IP can leak coarse timing information
- π§ The index is small, so coverage will be worse than the big engines
And the retention table is refreshingly specific:
ποΈ Retention table (what is kept, and for how long)
Data
Retention
Notes
Logs
14 days
Keyed by request ID only
Rate-limit counters
25 hours
In memory only
Backups
35 days
Encrypted, and the policy admits they cannot be selectively purged
Ranking you can actually interrogate
If you add explain=true, each result can show the signals behind its position:
| Signal | What it tells you |
|---|---|
| Lexical | How well the text matches your query |
| Freshness | How recent the page is |
| Quality | How the page scores on quality |
| Authority | How the page scores on authority |
| Context | The situational boost |
| Spam | The penalty |
You also see the ranking-config version, so the numbers can be traced back to a specific setup.
The project claims no mainstream engine lets you see this for a single request. I cannot verify that claim, but the idea itself is great for anyone who has ever argued with a search result. π
The query language already supports operators like these (illustrative examples, so check API.md in the repo for exact syntax):
site:dev.to "privacy" search engine
intitle:crawler OR intitle:indexer
"explainable ranking" inanchor:lynx
The changelog also lists after: and before: operators, fuzzy suggestions and keyset pagination. Suggestions come from corpus statistics, never from query logs.
Astra: an AI layer that is allowed to say nothing
Astra is optional and off by default. The design reads like it was written by someone who has been burned by confident nonsense before.
| Design choice | What it means |
|---|---|
| Sentence-level citation check | A sentence without a verified [n] citation gets removed |
| Refuses instead of guessing | No grounded answer means no answer |
| Source-trust gate | Low-trust pages are not used for grounding |
| No tools, no memory, no agent loop | It cannot wander off and do surprising things |
| Fails closed | If something breaks, you get the plain results page |
An AI that is allowed to say "I don't know". Imagine that.
And then the sentence I appreciated most:
In v0.1, verification is sentence-level and content-blind. A citation has to point to a source that was actually retrieved, but that does not prove the source is true.
It limits the damage. It does not certify the answer.
So here is my honest question: would you rather have an AI answer that sometimes says nothing, or one that always sounds sure? I know which one I would pick. π
A crawler that assumes the web is hostile
LYNX splits the system into two planes that are not supposed to meet:
crawl plane : robots.txt -> SSRF gate -> fetch -> parse -> extract text -> index
query plane : request -> parse to AST -> search index -> rank -> respond
The query plane never touches untrusted content. The crawl plane never sees a user query.
Some other choices stood out:
- No JavaScript execution. No headless browser, no cookies, no shell
- Only extracted text is stored, never raw HTML
- SSRF checks run before every connection and again at every redirect
-
unsafeRust is forbidden across the whole workspace - A 35-threat model, where each threat lists impact, likelihood, mitigation and leftover risk
- Signed container images, SBOMs per release and fuzzing targets for URL and HTML parsing
For reporting bugs, the policy promises an acknowledgement within 48 hours and says good-faith researchers will not face legal action.
The numbers, with the fine print
Here is what the v0.1.0 release rehearsal reported:
| Metric | Result |
|---|---|
| NDCG@10 | 0.966 |
| MRR@10 | 1.000 |
| Recall@100 | 0.889 |
| Average latency | about 0.57 ms |
| p95 latency | 0.9 ms |
| Burst throughput | about 1,820 requests per second |
| Index size | about 1.2M pages, 42K domains |
Pretty numbers, right? Now the important part.
π Please read this before you quote any of it.
The benchmark page includes a side-by-side comparison with Google, Bing, Brave, Mojeek and DuckDuckGo. The page itself labels that comparison a placeholder run and says scores are provisional. The speed figures come from a small corpus on one 8 vCPU, 32 GiB machine, and the page says they are not a promise about production scale.
So this is not a "LYNX beats Google" story, and the project does not tell it that way. Their own footer says to cite the run, not the headline.
One detail I found oddly charming: the query categories include Urdu and Roman Urdu, and one sample query is about the weather in Lahore.
The same page also admits recall is weaker for fresh, local and non-English queries, so treat that as a direction, not a finished feature.
Where it is heading
| Phase | Focus | Status |
|---|---|---|
| 0 | Architecture and design decisions | β Shipped |
| 1 | Search prototype and evaluation harness | β Shipped |
| 2 | Crawler with politeness and SSRF safety | β Shipped |
| 3 | Link graph, operators, sealed index generations | β Shipped |
| 4 | Privacy hardening and CI privacy checks | β Shipped |
| 5 | Astra, the optional AI answer layer | β Shipped |
| 6 | Sharding, multi-region, horizontal crawling | ποΈ Planned |
The changelog dates the architecture work to July through October 2026, with a scaffolding release candidate in September and v0.1.0 on October 27. That is a fast timeline for something this documented.
A small docs gap I noticed: the status table near the bottom of the GitHub README still showed Phase 0 as in progress when I checked, while the website and changelog say v0.1.0 shipped. It looks like a document that has not caught up yet.
Good reminder to trust the release tag and the changelog, and to verify claims yourself. And if it is still out of date when you read this, it is a very easy first pull request (more on that at the end).
The people behind LYNX
A privacy project is only as believable as the people willing to put their names next to it. So here is who the LYNX project page credits, with links to the public profiles I could confirm.
Muhammad Qasim (@itskashie), founder and architect. The project page credits him with the architecture, the search ranking and the privacy model. He is a member of the @anoneurx organization on GitHub, and he announced the first release right here on DEV on October 29.
Shipping a v0.1 with a threat model, a retention table and an honest list of limits is a lot of work for a first release. That honest tone runs through everything I read, and it is the reason this post exists. Thank you for building it in the open.
Nimrah Nabeel, contributor on search ranking and evaluation. Find her on GitHub as Nimrah-Nabeel.
Zainab Faisal, contributor on search ranking and evaluation. Find her on GitHub as zainabfaisal2105-dev.
Ranking and evaluation is the place where it is most tempting to oversell, and the evaluation pages of this project do the opposite: they label placeholders as placeholders and put the weak spots in plain view. Credit to everyone working in that area. It is unglamorous work, and it is what makes the other numbers believable.
I could not find a DEV profile for Nimrah or Zainab. If you two are reading this and have one, drop it in the comments and I will tag you properly.
I could not find a co-founder named anywhere: not on the project page, the README, the DEV announcement or in search results. Contributors are not the same thing as co-founders, so I am not going to label anyone that way. The maintainers are listed as "Anoneurx Core Maintainers" and "Anoneurx Labs" without individual names, and the testers and QA section currently says nobody is listed yet. If there is a co-founder I missed, tell me and I will add them with a link.β What about co-founders?
A note on sources: there are many people called Muhammad Qasim online, and I could not confirm that any other profile belongs to this founder. So I left out any background that the project itself does not publish.
When I checked on November 7, the repository had 34 commits, 1 star and 0 forks, and the DEV announcement had no comments yet.
Everyone starts somewhere. This is a very early, very well documented start.
So... would I use it today?
As my daily search engine? No, and the project would agree. Its own FAQ says coverage will be worse than commercial engines for years.
But I would watch it, and I would read the code. If any of this sounds like you, it is worth a look:
- π¦ You like Rust and search infrastructure
- π You care about privacy engineering that shows its work
- π You enjoy ranking and evaluation problems
- π You want something you can self-host and verify
- π You respect projects that write down their own limits
What I would love to see next:
- The raw comparison data published
- The benchmark moved out of "placeholder" status
- A clearer public list of who is maintaining what
FAQ
No. The project says so directly. It commits to not building a profile of you and not selling or sharing query data, but infrastructure-level logs still exist.Is LYNX anonymous?
No. The FAQ states it is not affiliated with, endorsed by or derived from that project. There are also unrelated open-source projects that share the name.Is it the same as the Lynx text browser?
Anyone who runs a modified LYNX as a network service must publish their changes. The reasoning given is that a search engine is infrastructure. Commercial licensing is available from Anoneurx.Why AGPL?
The main job is parsing and fetching content an attacker may control, so memory safety removes a whole class of bugs.Why Rust?
Yes. A verification artefact ships with the release so the privacy claims can be checked by anyone, not only the authors.Can I self-host it?
Your turn π
LYNX is at the stage where a good bug report probably helps more than a like. The project is looking for its first contributors and testers, and the testers and QA section of the project page currently says nobody is listed yet.
Yes, that could be you. π
Here is how you can help, from quick to bigger:
- Star the repo and share it with someone who cares about privacy or Rust
- Try it (or self-host it) and see where it breaks
-
Open an issue with what you found: a bug, a confusing doc, a query that returns weird results. Read
CONTRIBUTING.mdfirst so your issue lands the way the maintainers want it - Send a small pull request. A docs fix is a great start (remember the README status table?)
- Test the edges. Fresh, local and non-English queries, including Urdu and Roman Urdu, are exactly where the project admits recall is weak
- Share what you learn. Write your own post, run your own benchmark, or publish a critical review. The project itself says to cite the run, not the headline, so honest write-ups fit right in
One rule that matters: do not report security problems in a public issue. Use SECURITY.md instead. The policy promises an acknowledgement within 48 hours and says good-faith researchers will not face legal action.
The repo also has a code of conduct, so please read that before you jump in.
β Open an issue, send a PR, or just try LYNX and tell the team what you find
I will leave you with the question from the launch post, because it is a good one: what would you want from a privacy-focused search engine? Transparent ranking? Self-hosting? No AI at all?
And a few smaller ones, if you feel like answering:
- Would you use a search engine with a small index but honest limits?
- Have you ever read a privacy policy all the way to the end? π
- Which β οΈ row in the table above worries you most?
- Will you try it, open an issue, or send a PR? Tell me which one
Tell me in the comments, and if you do open an issue or a PR, drop the link there too. I read all of them.
To @itskashie and everyone credited on LYNX: thank you for building this in public and for writing down what it cannot do yet. That choice is rare, and it is why people like me stopped scrolling.
I hope you learned something new. And if you did not, I hope the tables were at least fun to look at. π
PS. If you spot a mistake in anything I wrote about the project, tell me. I would rather fix a post than defend one.
