import { Guides } from '@/components/Guides'
import { Resources } from '@/components/Resources'
import { HeroPattern } from '@/components/HeroPattern'
export const metadata = {
title: 'Lysand Documentation',
description:
'Introduction to the Lysand Protocol, a communication medium for federated applications, leveraging the HTTP stack.',
}
export const sections = [
{ title: 'Vocabulary', id: 'vocabulary' },
{ title: 'Guides', id: 'guides' },
{ title: 'Resources', id: 'resources' },
]
# Lysand Federation Protocol
The Lysand Protocol is designed as a communication medium for federated applications, leveraging the HTTP stack. Its simplicity ensures ease of implementation and comprehension. {{ className: 'lead' }}
## Vocabulary
The words **MUST**, **MUST NOT**, **SHOULD**, **SHOULD NOT**, and **MAY** are used in this document as defined in [RFC 2119](https://tools.ietf.org/html/rfc2119).
The Lysand Protocol uses the following terms:
- **Entity**: A generic term for any JSON object in the protocol, such as an [Actor](./objects/actors), a [Note](./objects/notes), or a [Like](./objects/likes). Entities are uniquely identified by their `id` property.
- **Implementation**: A software application that implements the Lysand Protocol.
- **Instance**: An application deploying an **Implementation**.
- Using the same nomenclature, an ActivityPub Implementation would be `Mastodon`, and an Instance would be `mastodon.social`.
- **Federation**: The process of exchanging data between two or more **Instances**.