Skip to main content

Grafomem (Fair Source) adapter for LangGraph Checkpointers

Project description

langgraph-checkpoint-grafomem

Signed checkpoints and provable thread erasure for LangGraph.

A drop-in LangGraph checkpointer that wraps the saver you already use and adds two things standard checkpointers can't give you:

  • Signed checkpoints — every persisted checkpoint is Ed25519-signed and tamper-evident.
  • Verifiable erasuredelete_thread() produces a signed state-transition receipt: cryptographic proof that a user's thread was erased, bound to a key and a timestamp. The receipt for right-to-be-forgotten you can hand an auditor.

Install

pip install langgraph-checkpoint-grafomem

Quickstart

import sqlite3
from langgraph.checkpoint.sqlite import SqliteSaver
from grafomem_checkpoint import GrafomemSerializer, GrafomemCheckpointSaver

# your own signing identity — self-hosted keys, no cloud
conn = sqlite3.connect("memory.db", check_same_thread=False)
inner = SqliteSaver(conn, serde=GrafomemSerializer(private_key, key_id=key_id, trusted_keys=trusted_keys))
saver = GrafomemCheckpointSaver(inner)

graph = builder.compile(checkpointer=saver)   # persist as usual

# right to be forgotten, with proof:
saver.delete_thread("user-123")
receipt = saver.last_receipt("user-123")
assert receipt.verify(public_key)              # signed proof the erasure transition occurred
print(receipt.to_json())

The receipt cryptographically binds the hash of the entire thread's checkpoint history before deletion to the empty state after it — so it commits to the specific data that was erased, not a placeholder.

What the receipt proves (and what it doesn't)

A signed state-transition receipt attests that the erasure operation occurred — the thread's state was overwritten and the transition is bound to a key and a timestamp. It is not a claim of media sanitization or information-theoretic unrecoverability. That precision is the point: an honest, independently verifiable record of deletion, not an unprovable guarantee.

Full example

A runnable reference agent (persist memory, /recall, /forget → verified receipt) lives at grafomem-langgraph-example.

Licensing

This adapter is Apache-2.0. It depends on the GRAFOMEM runtime, which is Fair Source (FSL-1.1-Apache-2.0) — self-host and modify freely; not "open source." See grafomem.com.


A project of Ulissy s.r.l. · the standard is stewarded by the GNS Foundation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langgraph_checkpoint_grafomem-1.0.1.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file langgraph_checkpoint_grafomem-1.0.1.tar.gz.

File metadata

File hashes

Hashes for langgraph_checkpoint_grafomem-1.0.1.tar.gz
Algorithm Hash digest
SHA256 c3a6f9427e197bf830f9d777d0338960b71515097f3e6bc973de402869d5bfac
MD5 e618fd1b3dba557a39e2e47c2643e6a9
BLAKE2b-256 69fc3ea07254bd07526663554430c63fb0ee3c40e4dc819efa03efd192cb303f

See more details on using hashes here.

File details

Details for the file langgraph_checkpoint_grafomem-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for langgraph_checkpoint_grafomem-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cbce8204619ce480681f24b8e8886dc31772f92963f54ad4070f011639514353
MD5 13e8e65d05794deaa7e65ddaa0f48243
BLAKE2b-256 91f9de1bbd51e74e6e6e354e8b5b074fb1beb800e0f65b9e96861619d2d25872

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page