# @expo/entity

> A privacy-first data model

Latest version **0.67.0** (published 2026-09-18) · MIT license · 0 weekly downloads

## Install

```sh
npm install @expo/entity
pnpm add @expo/entity
yarn add @expo/entity
bun add @expo/entity
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.67.0 |
| Published | 2026-09-18 |
| First published | 2020-04-29 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=18 |
| Dependencies | 3 |
| Unpacked size | 1.5 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Expo |
| Maintainers | ide, brentvatne, expoadmin, exponent, bycedric, kudochien, alanhughes, tsapeta, expo-bot, philpl, ccheever, wschurman |
| Keywords | entity |

## Links

- npm: https://www.npmjs.com/package/@expo/entity
- npm.io page: https://npm.io/package/@expo/entity

## Dependencies (3)

- [invariant](https://npm.io/package/invariant.md) ^2.2.4
- [dataloader](https://npm.io/package/dataloader.md) ^2.2.3
- [@expo/results](https://npm.io/package/@expo/results.md) ^1.0.0

## Recent versions

- 0.67.0 (latest) — 2026-09-18
- 0.66.0 — 2026-08-03
- 0.65.0 — 2026-07-10
- 0.64.0 — 2026-05-22
- 0.63.0 — 2026-04-03
- 0.62.0 — 2026-03-16
- 0.61.0 — 2026-03-12
- 0.60.0 — 2026-03-06
- 0.59.0 — 2026-03-03
- 0.58.0 — 2026-03-02
- 0.57.0 — 2026-02-28
- 0.55.0 — 2026-01-27
- 0.54.0 — 2026-01-21
- 0.53.0 — 2025-12-19
- 0.51.0 — 2025-11-21
- … 61 more at https://npm.io/package/@expo/entity/versions

## README

# `@expo/entity`

[Documentation](https://expo.github.io/entity/modules/_expo_entity.html)

## Core Overview

A instance of an entity represents a single "row" (object) of persisted data in a database that a viewer, represented by a ViewerContext, has permission to read.

Authorization of create, read, update, and delete operations for an entity are declaratively defined using an EntityPrivacyPolicy.

Entites are loaded through an EntityLoader, which is responsible for orchestrating fetching, caching, and authorization of entity loads.

Entities are mutated and deleted through an EntityMutator, which is responsible for orchestrating database writes, cache invalidation, and authorization of entity mutations.

---
_Source: https://npm.io/package/@expo/entity · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
