---
title: "@playstack/auth-contracts"
description: "Client-safe session contracts for adopting Playstack React and Next.js bindings against any authentication backend."
tags: ["package","identity","authentication","sessions","migration","free"]
---

{/* package-access:start */}

> **Free.** MIT licensed. Check preview availability before installing. See [package access](/docs/packages#access-policy).

{/* package-access:end */}

`@playstack/auth-contracts` contains only the safe session projection, parser, and transport-facing types shared by Playstack clients. It has no persistence, crypto, framework, or server-auth dependency.

{/* package-install:start */}

## Install

After confirming [preview access](/docs/packages#access-policy), install the package at your application's shared Playstack version:

```sh
npm install --save-exact @playstack/auth-contracts@0.1.0-beta.1
```

Check the peer requirements below before choosing a runtime or provider.

{/* package-install:end */}

## Adopt the client independently

```ts
import { createAuthSessionViewParser } from '@playstack/auth-contracts'

export const parseSession = createAuthSessionViewParser((value) => sessionExtensionsSchema.parse(value))
```

The default parser rejects unknown fields and credentials. An application can expose additional JSON-safe session data only through an explicit extension parser.

Use this package when an existing backend continues to own authentication while `@playstack/auth-react` or `@playstack/auth-next` adopts Playstack's client state and transport conventions.

{/* package-reference:start */}

## API entry points and requirements

Reference snapshot: `@playstack/auth-contracts@0.1.0-beta.1`. Import only the entry point your runtime needs. Paths below are relative to the installed package; use **Go to Definition** in your editor to inspect exact parameters, return types and overloads. Do not import the declaration-file paths directly.

| Public entry point | Declaration file |
| --- | --- |
| `@playstack/auth-contracts` | `./dist/index.d.ts` |
| `@playstack/auth-contracts/package.json` | No TypeScript declaration (asset or metadata export). |

Node.js engine requirement: `>=20`. This is not a claim that every entry point works in browsers or Workers.

### Peer dependencies

This package declares no peer dependencies. Its ordinary dependencies are resolved by the package manager.

For a complete first program, start with [Getting started](/docs/getting-started). For API lookup and partial-example conventions, see [Reading the reference](/docs/packages#reading-the-reference). Provider failures, lifecycle requirements and application responsibilities remain described in the guide above; types alone do not establish production safety.

{/* package-reference:end */}
