# Seed Protocol > Seed Protocol is an open protocol and TypeScript SDK for publishing app data that outlives any single company or server. Apps write to a local-first database in the browser, then publish records to Arweave for permanent storage and to Ethereum Attestation Service (EAS) for a public index any app can read. Every record follows one pattern. A Seed is a permanent identifier for a piece of data. A Version is an immutable snapshot linked to a Seed, so content can change while its history stays intact. Metadata (schemas, models and properties) tells a reader how to interpret the data; the reader decides the meaning, not the author. The SDK is MIT-licensed and maintained by JournoLabs. Packages are published under the `@seedprotocol` scope on npm and released together with one shared version number. ## Docs - [Docs index for LLMs](https://www.seedprotocol.io/docs/llms.txt): every docs page with a one-line summary - [Full docs as one file](https://www.seedprotocol.io/docs/llms-full.txt): the complete docs text, about 2.6 MB - [What is Seed Protocol?](https://www.seedprotocol.io/docs/learn/introduction/what_is) - [How Seed Protocol works](https://www.seedprotocol.io/docs/learn/introduction/how_it_works) - [Add Seed to your app](https://www.seedprotocol.io/docs/learn/getting_started/add_seed_to_your_app) ## Code - [SDK repository](https://github.com/JournoLabs/seed-protocol-sdk) - [@seedprotocol/sdk on npm](https://www.npmjs.com/package/@seedprotocol/sdk) ## Knowledge base - [Knowledge base](https://base.seedprotocol.io/): design principles and the reasoning behind the protocol - [Why Seed Protocol?](https://base.seedprotocol.io/why) - [Use cases](https://base.seedprotocol.io/use_cases/): journalists, writers, academia, data scientists and app developers - [Integrations](https://base.seedprotocol.io/integrations/overview): how Seed fits alongside an existing stack ## Optional - [JournoLabs on GitHub](https://github.com/JournoLabs) - [Farcaster](https://farcaster.xyz/journodao)