Skip to content

Conversation

@cwlbraa
Copy link

@cwlbraa cwlbraa commented Dec 2, 2025

Overview

This PR documents new SDK annotations for injecting custom encryption at rest handlers in langsmith deployments.

Type of change

Type: New documentation page

Related issues/PRs

langchain-ai/langgraph#6482
https://github.com/langchain-ai/langgraph-api/pull/1773

  • Linear issue: LSD-172
  • Slack thread:

Checklist

  • I have read the contributing guidelines
  • I have tested my changes locally using docs dev
  • All code examples have been tested and work correctly
    • AWS example was tested against localstack
    • both were tested without a real langgraph-server but are similar enough to the custom_encryption.py test graph that we should be safe.
  • I have used root relative paths for internal links
  • I have updated navigation in src/docs.json if needed

(Internal team members only / optional): Create a preview deployment as necessary using the Create Preview Branch workflow

Additional notes

Signed-off-by: Connor Braa <cwlbraa@langchain.dev>
@github-actions github-actions bot added the langsmith For docs changes to LangSmith label Dec 2, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Dec 2, 2025

Mintlify preview ID generated: preview-cwlbra-1764716167-f54d181

@cwlbraa cwlbraa changed the title feat(langraph+lsd): custom encryption at rest feat(langgraph+lsd): custom encryption at rest Dec 2, 2025
Signed-off-by: Connor Braa <cwlbraa@langchain.dev>
@github-actions
Copy link
Contributor

github-actions bot commented Dec 3, 2025

Mintlify preview ID generated: preview-cwlbra-1764792719-f87b160

Signed-off-by: Connor Braa <cwlbraa@langchain.dev>
@github-actions
Copy link
Contributor

github-actions bot commented Dec 3, 2025

Mintlify preview ID generated: preview-cwlbra-1764794852-f512487

Signed-off-by: Connor Braa <cwlbraa@langchain.dev>
@github-actions
Copy link
Contributor

github-actions bot commented Dec 3, 2025

Mintlify preview ID generated: preview-cwlbra-1764797703-084c32f

Signed-off-by: Connor Braa <cwlbraa@langchain.dev>
@github-actions
Copy link
Contributor

github-actions bot commented Dec 3, 2025

Mintlify preview ID generated: preview-cwlbra-1764798277-4b07aa7

Signed-off-by: Connor Braa <cwlbraa@langchain.dev>
@cwlbraa cwlbraa force-pushed the cwlbraa/custom-encryption-LSD-172 branch from 3333def to c7ee0d8 Compare December 4, 2025 00:49
@github-actions
Copy link
Contributor

github-actions bot commented Dec 4, 2025

Mintlify preview ID generated: preview-cwlbra-1764809607-03baa36

Copy link
Contributor

@jdrogers940 jdrogers940 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! These docs look really good. Proposed some high level restructuring but content and examples themselves look awesome.

Signed-off-by: Connor Braa <cwlbraa@langchain.dev>
@github-actions
Copy link
Contributor

github-actions bot commented Dec 4, 2025

Mintlify preview ID generated: preview-cwlbra-1764876311-58b2b83

Signed-off-by: Connor Braa <cwlbraa@langchain.dev>
@github-actions
Copy link
Contributor

github-actions bot commented Dec 4, 2025

Mintlify preview ID generated: preview-cwlbra-1764876531-3e7042f

sidebarTitle: Encryption at-rest
---

LangGraph Platform supports encryption at-rest for checkpoint data and metadata. You can choose between basic encryption with a single key or custom encryption for advanced use cases.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
LangGraph Platform supports encryption at-rest for checkpoint data and metadata. You can choose between basic encryption with a single key or custom encryption for advanced use cases.
Agent Server supports encryption at-rest for checkpoint data and metadata. You can choose between basic encryption with a single key or custom encryption for advanced use cases.

LangGraph Platform supports encryption at-rest for checkpoint data and metadata. You can choose between basic encryption with a single key or custom encryption for advanced use cases.

<Note>
Encryption at-rest is available for LangGraph Platform deployments (Python graphs only).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: This is in the Deployments section so I would just call out the python piece. Also the API version needed similar to here: https://docs.langchain.com/langsmith/custom-lifespan#how-to-add-custom-lifespan-events

| Method | What's encrypted | Use case |
|--------|------------------|----------|
| **Basic encryption** | Checkpoint blobs only | Single static key, automatic AES encryption |
| **Custom encryption** | Checkpoints + JSON fields | Per-tenant keys, KMS integration, selective field encryption |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| **Custom encryption** | Checkpoints + JSON fields | Per-tenant keys, KMS integration, selective field encryption |
| **Custom encryption** | Checkpoints, threads, runs, assistants and crons | Per-tenant keys, KMS integration, selective field encryption |

Or something else to show these resources. JSON fields feels too vague.

Copy link
Author

@cwlbraa cwlbraa Dec 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the "metadata" ambiguity is brutal. i think naming the models, as you've suggested, instead of naming the fields is probably best here, but it's also annoyingly vague.

Signed-off-by: Connor Braa <cwlbraa@langchain.dev>
@github-actions
Copy link
Contributor

github-actions bot commented Dec 4, 2025

Mintlify preview ID generated: preview-cwlbra-1764890947-a18454a

cwlbraa added a commit to langchain-ai/langgraph that referenced this pull request Dec 6, 2025
**Description:** 
This PR adds the Python SDK types necessary for langgraph platform users
to inject their own custom encryption-at-rest functions. See [docs
PR](langchain-ai/docs#1715) for more details.

note: this PR adds a starlette dev dependency so that custom encryption
can access BaseUser information.

**Issue:**
required for LSD-172 

**Dependencies:**
- [depended upon by associated langgraph-api
changes](langchain-ai/langgraph-api#1773
PR must merge before that one)
- [docs PR](langchain-ai/docs#1715)

**TODO:**
- [x] move docs to docs repo
- [x] bump package versions before merge

---------

Signed-off-by: Connor Braa <cwlbraa@langchain.dev>
Co-authored-by: Claude <noreply@anthropic.com>
Copy link
Contributor

@katmayb katmayb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm from a docs pov, just need to make sure to update the references to LGP.

LangGraph Platform supports encryption at-rest for checkpoint data and metadata. You can choose between basic encryption with a single key or custom encryption for advanced use cases.

<Note>
Encryption at-rest is available for LangGraph Platform deployments (Python graphs only).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Encryption at-rest is available for LangGraph Platform deployments (Python graphs only).
Encryption at-rest is available for Agent Server deployments (Python graphs only).

Or LangSmith deployments?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

willfix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

langsmith For docs changes to LangSmith

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants