Secure by Design
Jean Memory handles sensitive personal data, and we take that responsibility seriously. We’ve built our authentication system on the industry-standard OAuth 2.1 protocol. This ensures that user credentials are never shared with third-party applications and that users have full control over who can access their memory.Two-Layer Security
Jean Memory uses a dual authentication system for maximum security:- Application Authentication: Your unique API key (
jean_sk_...) identifies your app and handles billing/rate limits. - User Authentication: A JWT token identifies the specific user and their private memory scope.
Browser-Based Apps (PKCE)
This flow is designed for frontend applications (e.g., React, Vue, Svelte) running in a user’s browser. It uses the Proof Key for Code Exchange (PKCE) grant type, which is the current best practice for securing public clients.Universal Identity System
Jean Memory now features a universal identity system that ensures users maintain the same identity across all applications and sessions.- Consistent Identity: Users keep the same memories across different apps using Jean Memory
- Provider Flexibility: Users can sign in with any supported provider (Google, GitHub, etc.)
- Cross-Platform: The same user account works on web, mobile, and desktop applications
The Easy Way
For React developers, we’ve made this incredibly simple. Our SDK handles the entire OAuth 2.1 PKCE flow automatically.- OAuth 2.1 PKCE Flow: Secure authentication with Google (no client secrets needed)
- Session Persistence: Users stay logged in across browser refreshes
- Automatic API Requests: All memory queries include user context automatically
Backend Services
This flow is for trusted backend services that need to access a user’s memory on their behalf, even when the user is not actively present (e.g., for a background data sync).Getting Credentials: The server-to-server flow is intended for trusted partners and high-volume applications. Please contact our team to discuss your use case and receive a
client_id and client_secret.User Authorization
Your application redirects the user to the Jean Memory authorization URL with your
client_id and a redirect_uri.Grant Authorization Code
The user logs in and approves the request. Jean Memory redirects back to your
redirect_uri with a temporary code.Exchange Code for Token
Your backend service makes a secure, server-to-server request to the Jean Memory token endpoint, exchanging the
code for an access_token.Live Demo
Want to see the OAuth 2.1 PKCE flow in action?View Live Demo Repository
A complete React application demonstrating the 5-line integration, session persistence, and real-time chat.

