Memorylayer

Hosted memory runtime for agents

Security posture

Small surface, clear boundaries.

Memorylayer keeps the service model narrow: GitHub identity, workspace-scoped keys, hashed secrets, hardened browser boundaries, audit trails, and Postgres-backed isolation.

identity keys headers audit
01 / Identity
GitHub only

Users authenticate through GitHub OAuth, so Memorylayer does not store passwords.

02 / Keys
Scoped tokens

Workspace API keys are shown once, hashed at rest, and revocable independently.

03 / Browser
Locked down

CSP, frame blocking, host checks, and origin checks reduce browser-side attack paths.

04 / Audit
Visible activity

Memory writes, bridge calls, invites, keys, and usage events are recorded.

No passwordsGitHub OAuth handles user authentication.
Request guardsBrowser writes check origin, host, request size, and session policy.
AuditabilityMemory writes, bridge calls, invites, keys, and usage are recorded.

Controls

The current controls are designed to be understandable and inspectable.

AreaCurrent behaviorOperator action
IdentityGitHub OAuth only; no service-side passwords.Use GitHub account controls and organization policy.
API keysTokens are shown once, stored as hashes, and scoped to one workspace.Use separate keys per agent or integration.
RevocationKeys can be revoked from the workspace dashboard.Rotate keys when an integration changes hands.
IsolationEach workspace uses its own Engram schema.Create separate workspaces for separate projects or teams.
Browser hardeningCSP, frame blocking, nosniff, referrer policy, permissions policy, and HSTS on HTTPS.Keep custom embeds and third-party scripts out of the service surface.
Request guardsHost allow-list, browser origin checks, body-size limits, and basic auth/API throttles.Set allowed hosts and rate limits in deployment environment variables.
HTTP probesTraversal markers, encoded path escapes, dotfiles, PHP probes, and unsafe methods are blocked before routing.Treat repeated blocked probes as scanner traffic and rotate exposed keys if needed.
JSON handlingWorkspace API JSON bodies must be valid objects; malformed calls with valid keys are recorded as failed usage events.Monitor 400-series usage spikes as integration or abuse signals.
Session cookiesSigned, HTTP-only Starlette sessions with SameSite=Lax and HTTPS-only cookies in production.Use a long random secret and rotate after suspected compromise.
UsageAuthenticated calls are recorded with route, key, status, and timestamp.Review usage before rotating or deleting keys.
AuditWorkspace actions and bridge calls write audit entries.Use the audit feed to explain state changes.

Responsible use

Hosted memory is durable infrastructure. Store useful context, not secrets.

Do not store secrets

Use secret managers for API keys, credentials, and tokens. Memorylayer is for context.

Keep entries specific

Prefer decisions, outcomes, file paths, and verified state over vague transcripts.

Use one key per integration

Separate keys make usage trails readable and revocation safe.