# NIP-5D spec status

The napplet packages implement **NIP-5D — *Nostr Web Applets***. This site does
**not** host a copy of the specification — NIP-5D is a living document, and the
canonical text is the only source of truth.

## Source of truth

When the packages, this site, or any summary drift from these, **the living
documents win**:

- **NIP-5D** (the napplet ⇄ shell protocol):
  [github.com/nostr-protocol/nips/pull/2303](https://github.com/nostr-protocol/nips/pull/2303)
- **NAPs track** (every NAP capability domain — `relay`, `storage`, `identity`, …):
  [github.com/napplet/naps](https://github.com/napplet/naps)

The [NIP-5D explained](https://napplet.run/docs/guide/nip-5d.md) page on this site is a **non-normative**
orientation only; for every normative requirement, read the canonical NIP-5D and
the relevant NAP.

## Expect drift

> **ALPHA — expect drift**
>
> napplet is **alpha**. The specification is experimental and a moving target. There
> **will most certainly be drift** between the packages and the specification.
> Things **will most certainly change**. Always treat the living documents above as
> the source of truth, and pin to a specific package version when building.

## Related specs

The NAP domains build on adjacent Nostr specs:

- **NIP-5A** — source-tag semantics referenced by current NIP-5D.
- **NIP-65** — relay-list metadata, used by the `outbox` domain.
- **NIP-94 / NIP-96 + Blossom** — used by the `upload` domain.
- **NIP-19** — bech32 entity encoding, used by the `resource` domain's `nostr:`
  scheme.

See the [NAP domain reference](https://napplet.run/docs/naps/index.md) for how these map onto domains.
