# Tane — NGI Fediversity (NLnet) application draft > **Working document, NOT tracked in git.** Ready-to-submit draft for the NLnet > NGI Fediversity call (nlnet.nl/propose). Deadline **1 Aug 2026, 12:00 CEST** (confirmed on the site). > Derived from `VISION.md`, `PLAN.md`, `docs/design/*` and `docs/notes/modelos-financiacion.md`. > Written in English (the proposal must be in English; VISION.md is the Spanish source). > **Updated 2026-07-17** to reflect the shipped state: app live on Google Play (v0.1.1), site at > tane.comunes.org, most of the social layer already built. The ask now funds the *remaining* > federated-infrastructure work, not a from-scratch build. --- ## Part A — Strategy & framing (for us, NOT for the form) ### The new, stronger story: we shipped, now we complete the federated infrastructure Since the first draft, the project advanced a lot. This is now a **track-record application**, not a promise: - **Live on Google Play** (v0.1.1, `org.comunes.tane`), **GMS-free build** ready for F-Droid. - **Public site** at **tane.comunes.org**, translated via Weblate (translate.comunes.org). - **Block 1 (inventory) shipped**, and **most of Block 2 (the social layer) already shipped**: offers (NIP-99), private metadata-hiding messaging (NIP-17), a Duniter-style egocentric web of trust (kind 30777), ratings (kind 30778), profiles + multi-account identity, Plantaré pledges, saved-search alerts. All transports live in the reusable `commons_core` engine, with ~131 test files and CI. NLnet weighs **technical feasibility (30%)** and **value for money (30%)**: a shipped, tested, in-store app de-risks both. Lead with that. ### Fit with Fediversity — now genuine, not a stretch The Fediversity fund leans to the *hosting stack / self-hosting* side. The **work that remains is exactly that side**, which is why the fit is now real: 1. **Self-hostable community relay** — `relay.comunes.org` is **already deployed and running**. The remaining Fediversity-shaped work is turning it into a **reproducible, documented recipe any seed network can self-host**, plus moderation tooling (NIP-56 reports, key-blocking) and operational hardening — so the network is owned by communities, not a single instance. 2. **Multi-device sync** — the encrypted `SyncTransport` landed (NIP-78, relay sees only ciphertext); the app-level `SyncService` that replicates your inventory across your own devices is **pending**. This is data portability + self-custody, a Fediversity theme. 3. **Interoperability & portability** — open, versioned export/import already exists; add opt-in **Darwin Core / GBIF** export so agrobiodiversity data can flow to open biodiversity atlases. 4. **`commons_core` as reusable federated infrastructure** — Tane is a seed app wrapped around a generic Nostr + CRDT + web-of-trust + messaging engine; seeds are the first app, others can follow. Framing in one line: **bringing federation beyond social media, into the physical commons — and we already have a working app to prove it.** ### Plan B — don't bet everything on this call Honest odds: the fit is now decent (the remaining work IS hosting/portability-shaped) but Fediversity reviewers may still read "mobile app on Nostr" as adjacent to their ActivityPub/NixOS hosting focus. Mitigation, at near-zero extra cost: - **Submit to Fediversity anyway** (short form, strong track record, real infra milestones) — worst case is a rejection with feedback. - **Reuse this same dossier for NGI Zero Commons / Core when regular calls reopen after summer 2026** — Tane as commons infrastructure is arguably a *better* fit there (`commons_core`, open protocols, community-run relays). Keep this file as the master; only the fund-specific framing paragraph changes. - Meanwhile, keep the **Goteo matchfunding** (Red de Semillas) track as the community-round complement. ### NLnet requirements checklist - [x] **FOSS licence** — code AGPL-3.0; docs/assets CC-BY-SA. - [x] **Open standards** — Nostr NIPs (99/17/44/78/56), Duniter-style WoT, open data formats, Darwin Core. - [x] **European dimension** — EC-LLD (23 European seed networks), Red de Semillas, EU seed-law (PRM) context. - [x] **Milestone-based, verifiable deliverables** — see Part C. - [x] **Sustainability after funding** — local-first, open data/code, cheap community relays; never per-transaction fees. - [ ] **Generative-AI disclosure** — declared honestly and minimally (see §13 + the log template below). - [ ] **Privacy statement** — tick the acknowledgement of NLnet's privacy statement on the form. ### The AI concern (read before submitting) NLnet has a formal **Generative AI policy** (nlnet.nl/foundation/policies/generativeAI/). It does **not** forbid AI, but imposes real obligations, and reviewers value **substance over marketing**. Three things, don't conflate them: 1. **Prompt provenance log (required):** if GenAI is used in the application process, you must keep a log of prompts/outputs. → the Appendix table below. 2. **Public disclosure (required for substantive use):** any GenAI use that materially affects the output must be disclosed so evaluators understand how the proposal was produced. → §13. 3. **Purely-AI outcomes are NOT payable, and must be FLOSS-clean:** "Outcomes purely generated by AI are not allowed to be submitted as work eligible for payment." → this hits the **milestones (M1–M5)**, not just the application: the delivered code/docs must be **human-authored** (AI-assisted is fine; you must also verify outputs don't reproduce copyrighted/licence-incompatible material). **Non-compliance can mean rejection of the proposal or termination of a running grant.** Plus the softer risk: an application that *reads* as AI slop scores worse. Fix for all of it = make the text genuinely yours. **Action for vjrj — rewrite §3, §4, §5 in your own voice** (that's what a reviewer reads first; the rest is technical scaffolding). Add first-person specifics only you can write: Kokopelli, the 2009 paper Plantare you originated, why the whole seed sector refuses per-transaction fees, your Ğ1nkgo/Duniter background, and the fact the app is already in people's hands. **De-"slop" pass:** cut the tells — em-dashes everywhere, rule-of-three lists, heavy bold, "not X but Y" constructions, brochure cadence. Rougher, more technical, more personal = better here. ### Process notes - Submit several days early — "deadlines are hard". Draft offline (this file), paste at the end. - Plain text is preferred; keep formatting light. Attachments ≤ 50 MB total. - You may submit multiple independent proposals in one round; do not double-submit via FundingBox + NLnet. --- ## Part B — Form answers (the actual draft, English) ### Current status (facts to weave in — all verifiable) - **Live:** Google Play v0.1.1 (`org.comunes.tane`); site **tane.comunes.org**; community Nostr relay **relay.comunes.org running**; source public (AGPL-3.0). - **F-Droid:** GMS-free build + recipe ready (awaiting registry upload). - **Languages:** 7 (en, es, pt, fr, ast, de, ja); RTL + CJK fonts bundled; translated on Weblate. - **Engine:** `commons_core` (pure Dart) — identity derivation, HLC, CRDT, geohash, all Nostr transports. - **Tests/CI:** ~131 test files; Forgejo Actions runs analyze + test on both packages. ### 1. Contact / Organisation / Country - **Applicant organisation:** Comunes (registered non-profit association), Spain / EU. - **Project lead:** Vicente J. Ruiz Jurado (vjrj) — technical lead. - **Package id / namespace:** `org.comunes.tane`. - **Contact:** vjrj@comunes.org. - **Project page:** https://tane.comunes.org · source repository public (AGPL-3.0) · live on Google Play. ### 2. Project name **Tane — self-hostable, local-first infrastructure for seed-sharing communities.** (種, "seed"; from *tanemaki*, "to sow".) ### 3. Abstract (a few sentences) > ✍️ **vjrj: rewrite in your own voice.** Scaffolding below — keep the meaning, drop the polished cadence. Tane lets communities run their own seed-sharing network end to end: a local-first mobile app, a self-hostable relay, and identity and data the user fully owns and can take anywhere — no account, no central server, no company in the middle. The app is already live on Google Play in seven languages; offers, private messaging, reputation and encrypted device sync ride on open federated protocols (Nostr NIPs) and a Duniter-style web of trust, implemented in a reusable engine (`commons_core`) where seeds are only the first application. What remains — and what this grant funds — is the hosting and portability side: a **reproducible relay recipe any collective can self-host** (our reference instance already runs), **completion of encrypted multi-device sync**, **open-standards data portability** (Darwin Core / GBIF export), and production hardening — so a seed network can operate the whole stack without depending on us, or on anyone. ### 4. Can you explain the whole project and its expected outcome? > ✍️ **vjrj: rewrite in your own voice.** Add first-person specifics (Kokopelli, the 2009 paper Plantare, > Ğ1nkgo). Scaffolding below. A handful of corporations control most of the world's seed supply, and traditional varieties — and the knowledge to grow them — are being lost. Sharing seeds has even become legally suspect (e.g. Kokopelli fined in France). Seed networks resist with notebooks and spreadsheets; there was no friendly, free, decentralised tool for them. Tane is built in **layers, each useful alone**, and most are **already shipped**: 1. **Inventory (local-first) — shipped.** Encrypted seed bank on your phone (SQLite + SQLCipher), fully offline, no account; backup + printed recovery; 7 languages. 2. **Offer status — shipped.** Per item: private / gift / exchange / sale. 3. **Local sharing (federated) — shipped.** Offers as signed Nostr events (NIP-99), discovered by **coarse geohash** (~2.4 km, never your address); private DMs (NIP-17); ratings; Plantaré pledges; saved-search alerts. No central operator can censor, sell data, or charge a fee. 4. **Trust — shipped.** Egocentric Duniter-style web of trust (you vouch for people you've met); spam from unknown keys is filtered with no central moderator. A de-risking spike proved the whole social happy-path on vetted pure-Dart libraries, and it is now **production code in people's hands**. **What this grant funds is the hosting and portability layer that makes the network genuinely community-owned** (see Part C): turning our running relay into a **reproducible, self-hostable recipe with moderation tooling**; completing **encrypted multi-device sync** (the transport already landed; the relay only ever sees ciphertext); **open-standards data portability** (opt-in Darwin Core / GBIF export toward public biodiversity atlases); plus trust cold-start for real seed fairs, optional Ğ1 price tags, and messaging/offers hardening. **Expected outcome:** any seed collective in Europe can **self-host the entire stack from a documented recipe** — relay, moderation, app, data — with identity and data fully portable and **zero dependency on Comunes or any single operator**. And because the hard parts live in the generic `commons_core` engine, the same infrastructure is reusable for other physical-commons networks (tool libraries are the next candidate). ### 5. Compare your own project with existing or historical efforts > ✍️ **vjrj: rewrite in your own voice.** You know this sector first-hand — say why it refuses > per-transaction fees, and tell the Plantare story as its originator. Scaffolding below. - **Seed Savers Exchange, Graines de Troc, Arche Noah, Red de Semillas** — valuable, but each is a **centralised web platform**: single operator, an account, a server that can go dark, no local-first offline app, not federated, not self-hostable. - **Garden/inventory apps** — mostly **proprietary and extractive**; none do decentralised sharing or trust. - **Marketplaces (Wallapop-style)** — a central intermediary that takes a commission and can censor. Tellingly, **no seed-exchange platform anywhere charges per-transaction fees** — the whole sector uses gift/exchange/membership. We follow that, by design. - **Historical precedent — the Plantare (2009).** A paper "seed promissory note" already solved decentralised trust and reciprocity *socially* (a bearer instrument, both parties hold a copy, the ledger distributed across drawers). We digitise it without a central register. **Why it's needed / why existing solutions don't answer it:** none combines local-first, federation over open standards, self-hostability, identity/data portability, and a spam-resistant web of trust — while staying free and non-extractive. Tane already does, in production; the engine is reusable for other physical-commons networks. ### 6. Significant technical challenges (the remaining work) - **Self-hostable relay + moderation** — `relay.comunes.org` already runs; the challenge is making it a reproducible recipe others can run, with NIP-56 report handling and key-blocking, so moderation is "with a response" but not centralised. - **Multi-device sync at the app level** — wire `SyncService` onto the landed encrypted `SyncTransport`: serialise inventory, push on mutation, idempotent LWW import on receipt, stable per-install device id, rare-conflict UI. Relay only ever sees ciphertext. - **Interoperability / portability** — opt-in Darwin Core / GBIF export of agrobiodiversity (blurred location, collective-bank level, one-way) — exactly the data those atlases lack. - **Messaging/offers hardening** — NIP-44 interop-exact test vectors, offline DM delivery/retry, offer expiry & revocation on already-replicated relays. - **Trust cold-start** — bootstrap the web of trust at real fairs / Ğ1 seed groups (QR, no network). - **Portable derived identity** — one root seed, one-way HKDF secp256k1 subkey for Nostr, one printable QR backs up everything (already implemented; polish + docs). ### 7. Project ecosystem & stakeholder engagement - **Seed networks:** Red de Semillas (Spain), **EC-LLD / Let's Liberate Diversity** (23 European seed networks) for European reach; Arche Noah as a policy ally. - **Free-money communities (Ğ1/Duniter):** first pilots — existing identity, existing web of trust, aligned values. - **Seed fairs and markets:** where trust bootstraps face to face. - **Translators & contributors:** already active via Weblate; code and docs public. ### 8. Relevant prior experience & track record - **Shipped, in production:** Tane is **live on Google Play** (v0.1.1), GMS-free build ready for F-Droid, site at tane.comunes.org, 7 languages via Weblate, RTL+CJK support, a full legal package, automated store publishing (Fastlane) and CI (Forgejo Actions, ~131 test files). Block 1 + most of Block 2 done. - **vjrj** authored **Ğ1nkgo**, a Duniter/Ğ1 wallet in Flutter/Dart; Tane reuses its cryptographic primitives (secp256k1, HKDF, Duniter identity) — no reinvention. - **vjrj originated the Plantare concept** (BAH-Semillero, 2009, CC-BY-SA) and wrote *"Las semillas del conocimiento libre"* (2005) — a decade of domain authority in seed commons. - **Comunes** — registered association, stable legal counterpart for milestone accountability. ### 9. Requested amount **€32,000.** ### 10. Budget usage / task breakdown See Part C. Milestone-based; each milestone is an independent, verifiable deliverable with a CI-gated test suite where applicable. NLnet pays on verification of each milestone. ### 11. Other funding sources (past and present) - Built so far with **volunteer work**; **no prior grant funding**; no overlapping funding for this scope. - Complementary community funding (e.g. Goteo matchfunding with Red de Semillas) is a *future* sustainability avenue, not a duplicate of this request. ### 12. Sustainability after the grant - **Local-first:** useful even with no servers and no maintainer — utility does not expire. - **Open code & data (AGPL-3.0, open export):** anyone can continue, fork, or **self-host the relay**. - **Cheap, community-run relays** (collectives / Comunes), plus opportunistic app-as-relay and physical-proximity exchange at fairs. - **Non-extractive revenue only, never on the seed:** voluntary association membership (Seed Savers model), optional managed services for institutional seed banks. No per-transaction commission — legally prudent (EU PRM in trilogue) and coherent with the commons. ### 13. Compliance & disclosure - **Licence:** AGPL-3.0 (code); CC-BY-SA (docs/assets). Compatible with the reused Duniter/Ğ1nkgo stack. - **Privacy statement:** acknowledged. - **Generative-AI disclosure (honest & minimal — paste into the form):** > An AI assistant was used only as a drafting aid for this application text: to translate and structure > an initial English outline from our pre-existing Spanish design documents (VISION.md, PLAN.md, > docs/design/*), which predate and are independent of this application. All technical claims, > architecture, milestones and budget are the applicant's own; the project lead rewrote and verified > the text, and no AI output was submitted unedited. A prompt provenance log is available on request. > The funded deliverables (M1–M5) will be human-authored (AI-assisted at most), released under > AGPL-3.0, with no purely-AI-generated outcomes submitted for payment. *Adjust to match what you actually did before sending. If you rewrite §3–§5 yourself (recommended), this statement stays true and strong.* --- ## Part C — Milestones & budget (€32,000) Milestones reflect the **real remaining work** (Block 1 + most of Block 2 are already shipped). They are ordered by theme: **M1–M3 are the federated-hosting core** (self-hosting, sync, portability); **M4–M5 harden and bootstrap it**. Each is an independent, verifiable deliverable; NLnet pays on verification. | # | Milestone | Verifiable deliverable | € | |---|-----------|------------------------|---| | **M1** | **Self-hostable relay recipe + moderation** | `relay.comunes.org` already runs; deliver a **reproducible, documented recipe** any seed network can self-host, plus NIP-56 report handling + key-blocking moderation tooling and an operator manual | 6,000 | | **M2** | **Multi-device sync (app `SyncService`)** | Inventory replication across a user's own devices over the landed encrypted `SyncTransport` (NIP-78): serialise + push on mutation, idempotent LWW import, stable per-install device id, conflict UI; tests (relay sees only ciphertext) | 8,000 | | **M3** | **Interoperability & data portability** | Opt-in Darwin Core / GBIF export of agrobiodiversity (blurred location, collective-bank level, one-way); polished open export/import + identity portability docs | 5,000 | | **M4** | **Messaging & offers hardening** | NIP-44 interop-exact test vectors, offline DM delivery/retry queue, offer expiry + revocation on replicated relays, spam-filter polish; CI-gated | 7,000 | | **M5** | **Trust cold-start + Ğ1 price integration + docs/release** | WoT cold-start flows for fairs / Ğ1 groups (QR, offline); Ğ1 price tag + deep-link to wallets (no in-app payment); contributor architecture guide + multilingual user guide; F-Droid release | 6,000 | | | **Total** | | **32,000** | --- ## Submission checklist (before nlnet.nl/propose) 1. Cross-check every field above against the live form + Guide for Applicants. 2. Fit test: does the abstract + §4 opening read "federation / portability / self-hosting" *before* "seeds"? 3. Budget: milestones independent & verifiable, effort realistic, sum = €32,000. 4. Compliance: FOSS licence stated, privacy statement acknowledged, **AI-disclosure + provenance log ready**. 5. Confirm the 1 Aug 2026 deadline on the site; submit with several days' margin. 6. Language pass: rewrite §3–§5 in vjrj's voice; clear, technical English throughout. --- ## Appendix — AI-use log (keep, attach or provide on request) Fill as you go so the disclosure is accurate and verifiable. | Date | Tool / model | Prompt (verbatim) | What the output was used for | Kept unedited? | |------|--------------|-------------------|------------------------------|----------------| | 2026-07-10 | Claude Code (Opus 4.8) | "Me ayudas a presentar tane a esta convocatoria? qué pedirías…" | Initial English draft/outline from repo docs | No — to be rewritten & verified by lead | | 2026-07-17 | Claude Code (Opus 4.8) | "He avanzado mucho en el desarrollo, puedes actualizar la application?…" | Updated draft to reflect shipped status + new milestones | No — to be rewritten & verified by lead | > Keep the raw session transcript alongside this table. If §3–§5 are rewritten by hand, note that here too.