Skip to main content
Community

A network is only as good as the peers on it.

Gnarl gets more useful with every node that joins and every corpus that becomes reachable. Here is how to take part — whether you have a petabyte archive or a laptop.

Get involved

Six ways to make Gnarl better.

Run a peer

The most useful thing you can do. Point a node at a corpus you already have and the network gets one more answer it could not give before.

Install a node

Build on the client SDKs

Our client libraries are open source. Write one for a language we have not covered, or improve the ones we have.

Client SDKs on GitHub

Start a network

Private networks are a pre-shared key and a bootstrap list. Stand one up for your team, your lab, or your consortium.

Join the network

Tell us what breaks

Gnarl is early and the interesting bugs live in topologies we have not seen. Partial coverage, weird latency tails, hostile NATs — we want them.

Open an issue

Improve the docs

If something in the documentation was wrong, ambiguous, or missing when you needed it, that is a bug worth reporting.

Read the docs

Report a vulnerability

Signatures, policy, and identity are load-bearing. If you find a way around any of them, tell us privately first and we will credit you publicly.

security@lucenia.io
How Gnarl is built

Open clients, commercial node.

We want the surface you build against to be yours, and we want the protocol to outlive any one implementation. So the pieces that live in your application are open source, while the node itself is a commercial product from Lucenia.

  • Client SDKs are open source and will stay that way
  • The manifest format and HTTP API are documented, and the API carries a compatibility contract
  • The node is source-available under the LCEL: read it, build it, and run any number of peers, with no key and no registration
  • Nothing you index is ever reported back to Lucenia

GitHub Discussions

Design questions, deployment war stories, and roadmap arguments.

Join the discussion

Issue tracker

Bugs and feature requests for the client SDKs and documentation.

File an issue

The blog

Architecture write-ups and release notes as the protocol settles.

Read the blog

Email

Running Gnarl somewhere interesting? We would genuinely like to hear about it.

hello@lucenia.io
Ground rules

How we work together.

  1. 01

    Assume good faith. Most disagreements here are about tradeoffs, not correctness.

  2. 02

    Bring the topology. Bug reports about a network are much easier to act on with node counts, latency, and coverage output.

  3. 03

    No data in issues. Redact document contents, node IDs you do not own, and anything covered by a policy you did not write.

  4. 04

    Disclose security issues privately first, then publicly once a fix is out.

Security

Disclose it privately, we will credit you publicly.

Gnarl’s guarantees rest on identity, signatures, and policy evaluated at the node. If you find a way to forge a manifest, alter a result without detection, or read past a policy rule, that is a serious bug and we will treat it like one.

What to expect

  • Acknowledgement, usually within 2 business daysA person replies and tells you who is looking at it. We are a small team, so if you have not heard back in a week, send a nudge rather than assuming it was ignored.
  • Assessment, usually within 10 business daysReproduced or not, a severity, and what we intend to do. If it is going to take longer than that, we will tell you why rather than go quiet.
  • At releaseCredit in the advisory and the release notes, unless you would rather not be named. This one is not a target — it is what we do.

Put a peer on the map.

Every node that joins makes a corpus searchable that was not reachable before. Yours might be the one somebody has been looking for.