Comparison refreshed · August 19, 2026

# Enterprise Security

Source: <https://goodmem.ai/enterprise-security>

Title: Enterprise Security | Goodmem

> GoodMem combines signed image verification, security scanning, hardened images, and enterprise security features.

Every GoodMem release ships with signed image verification, automated supply-chain scanning, and a hardened nonroot server image. The evidence is on this page, pinned to exact releases.

See how GoodMem compares with popular alternatives on the security features that matter most to enterprise teams.

Built for secure deployment

## Security built into every release

GoodMem combines signed image verification, a hardened runtime, built-in TLS, and automated supply-chain analysis.

### Signed image verification

The CLI verifies the server image’s signed SLSA attestation and digest before launch by default. The bootstrap still relies on HTTPS delivery for the CLI and Cosign verifier.

[GoodMem install verification](https://docs.goodmem.ai/docs/how-to/install/) [SLSA generator v1.0.12](https://github.com/PAIR-Systems-Inc/slsa/tree/v1.0.12) Private server-v1.0.307 CLI bootstrap reviewed Private server-v1.0.307 Cosign bootstrap reviewed

Reviewed 2026-08-19

### Hardened server image

The server runs as nonroot UID 65532 on a distroless Java 21 image with no shell or package manager, reducing its runtime attack surface.

Private server-v1.0.307 Dockerfile reviewed [GoodMem public image configuration](https://github.com/orgs/PAIR-Systems-Inc/packages/container/package/goodmem%2Fserver) [GoodMem public server image](https://github.com/orgs/PAIR-Systems-Inc/packages/container/package/goodmem%2Fserver)

Reviewed 2026-08-19

### TLS lifecycle built in

REST and gRPC use TLS by default, with custom, self-signed, or ACME-issued certificates, automatic renewal, and hot reload.

[GoodMem TLS configuration](https://docs.goodmem.ai/docs/reference/security/tls-configuration/) [GoodMem ACME setup](https://docs.goodmem.ai/docs/reference/security/acme-setup/) Private server-v1.0.307 TLS implementation reviewed

Reviewed 2026-08-19

### Release gates and supply-chain visibility

At server-v1.0.316, release dependencies include blocking OSV vulnerability and FOSSA license-policy checks. Server and CLI security pipelines generate SBOMs; Grype is a separate reporting scan. Vulnerability exclusions apply.

Private server-v1.0.316 release and scan workflows reviewed [SLSA release workflow v1.0.15](https://github.com/PAIR-Systems-Inc/slsa/blob/v1.0.15/.github/workflows/slsa-release.yml) [September 2026 enterprise whitepaper](https://goodmem.ai/resources/enterprise-infrastructure)

Reviewed 2026-09-04

Release-pinned comparison

## Security comparison

Exact self-hosted release pins. GoodMem and every authorization finding were refreshed August 19, 2026; other cells retain the evidence dates shown. Hosted offerings may add controls beyond the releases compared here.

Directly evidenced Scoped or conditional Not located Not applicable

Swipe horizontally to inspect every pinned release.

**Security findings for GoodMem, Mem0, Supermemory, Cognee, OpenViking, and Graphiti; GoodMem and authorization findings refreshed August 19, 2026**

| Security feature                                                                                                       | [GoodMem](https://github.com/orgs/PAIR-Systems-Inc/packages/container/package/goodmem%2Fserver)Serverserver-v1.0.307 · 54bb861Released 2026-08-19                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | [Mem0](https://github.com/mem0ai/mem0/releases/tag/v2.0.11)Memory serverv2.0.11 · f2532f0Released 2026-07-01                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | [Supermemory](https://github.com/supermemoryai/supermemory/releases/tag/server-v0.0.3)Memory serverserver-v0.0.3 · 39ef7e1Released 2026-06-13                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | [Cognee](https://github.com/topoteretes/cognee/releases/tag/v1.2.2)Memory platformv1.2.2 · ce4a935Released 2026-06-26                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | [OpenViking](https://github.com/volcengine/OpenViking/releases/tag/v0.4.8)Context databasev0.4.8 · 07113f8Released 2026-07-08                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | [Graphiti](https://github.com/getzep/graphiti/releases/tag/v0.29.2)Context graph enginev0.29.2 · ff7e29cReleased 2026-06-08                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Secure installation Does the supported install path verify released artifacts?                                         | Scoped or conditionalThe CLI verifies the server image’s signed SLSA attestation and digest by default. The bootstrap script and auto-installed Cosign binary are not independently verified; --skip-verify disables image verification.[GoodMem install verification](https://docs.goodmem.ai/docs/how-to/install/) [SLSA generator v1.0.12](https://github.com/PAIR-Systems-Inc/slsa/tree/v1.0.12) Private server-v1.0.307 CLI bootstrap reviewed Private server-v1.0.307 Cosign bootstrap reviewedReviewed 2026-08-19                                                                                                                                                                                                                                                                                                         | Not locatedThe supported Compose path builds locally, then force-reinstalls unpinned mem0ai from PyPI at startup. It performs no signature or provenance check and is not reproducibly tied to v2.0.11.[Mem0 v2.0.11 server guide](https://github.com/mem0ai/mem0/blob/v2.0.11/server/README.md) [Mem0 v2.0.11 server Compose file](https://github.com/mem0ai/mem0/blob/v2.0.11/server/docker-compose.yaml)Reviewed 2026-07-09                                                                                                                                                                                          | Scoped or conditionalThe installer checks SHA-256 against an unsigned co-hosted manifest. On macOS it replaces a failed vendor signature with a local ad-hoc signature, which does not authenticate the publisher.[Supermemory server-v0.0.3 installer](https://github.com/supermemoryai/supermemory/releases/download/server-v0.0.3/install.sh) [Supermemory server-v0.0.3 release](https://github.com/supermemoryai/supermemory/releases/tag/server-v0.0.3)Reviewed 2026-07-09                                                                                                                                                                                                                                       | Not locatedSource, package, and container installation are documented; no signature or provenance verification is performed by the supported install paths.[Cognee v1.2.2 README](https://github.com/topoteretes/cognee/blob/v1.2.2/README.md) [Cognee v1.2.2 Compose file](https://github.com/topoteretes/cognee/blob/v1.2.2/docker-compose.yml)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                                      | Not locatedPip, uv, and container installation are documented; no built-in consumer verification step was located.[OpenViking v0.4.8 server quickstart](https://github.com/volcengine/OpenViking/blob/v0.4.8/docs/en/getting-started/03-quickstart-server.md) [OpenViking v0.4.8 deployment guide](https://github.com/volcengine/OpenViking/blob/v0.4.8/docs/en/guides/03-deployment.md)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | Not locatedThe server guide pulls stale latest (currently 0.22.0), while Compose builds locally and installs unpinned graphiti-core unless a version argument is supplied. Neither path verifies artifact identity.[Graphiti v0.29.2 server guide](https://github.com/getzep/graphiti/blob/v0.29.2/server/README.md) [Graphiti v0.29.2 Compose file](https://github.com/getzep/graphiti/blob/v0.29.2/docker-compose.yml) [Graphiti v0.29.2 server Dockerfile](https://github.com/getzep/graphiti/blob/v0.29.2/Dockerfile) [Graphiti server image tags](https://hub.docker.com/r/zepai/graphiti/tags)Reviewed 2026-07-09                                                                                                                                                                                                     |
| Verifiable provenance Can a consumer verify who built the released artifact?                                           | Directly evidencedThe CLI verifies signed SLSA Build L3 provenance and the digest for the server image by default.[GoodMem install verification](https://docs.goodmem.ai/docs/how-to/install/) [SLSA generator v1.0.12](https://github.com/PAIR-Systems-Inc/slsa/tree/v1.0.12)Reviewed 2026-08-19                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | Scoped or conditionalThe 2.0.11 Python files have signed PyPI Trusted Publisher attestations. The supported server has no signed image, and its Compose path installs an unpinned package.[Mem0 v2.0.11 package release workflow](https://github.com/mem0ai/mem0/blob/v2.0.11/.github/workflows/cd.yml) [mem0ai 2.0.11 PyPI attestation](https://pypi.org/integrity/mem0ai/2.0.11/mem0ai-2.0.11-py3-none-any.whl/provenance) [Mem0 v2.0.11 server guide](https://github.com/mem0ai/mem0/blob/v2.0.11/server/README.md)Reviewed 2026-07-09                                                                               | Not locatedThe release provides checksums, but no publisher signature, attestation, or public server build workflow was located for the native binaries.[Supermemory server-v0.0.3 release](https://github.com/supermemoryai/supermemory/releases/tag/server-v0.0.3) [Supermemory server-v0.0.3 source tree](https://github.com/supermemoryai/supermemory/tree/server-v0.0.3)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                       | Scoped or conditionalThe 1.2.2 image carries unsigned BuildKit provenance but no publisher signature or consumer verification policy. Its provenance references post-tag commit 1913271 rather than tagged ce4a935; runtime files were unchanged.[Cognee v1.2.2 release workflow](https://github.com/topoteretes/cognee/blob/v1.2.2/.github/workflows/release.yml) [Cognee 1.2.2 image](https://hub.docker.com/r/cognee/cognee/tags) [Docker BuildKit provenance behavior](https://docs.docker.com/reference/cli/docker/buildx/build/#create-provenance-attestations---provenance) [Cognee image source commit 1913271](https://github.com/topoteretes/cognee/commit/1913271821c84cec1630dd5b15ceb17dee8ace55)Reviewed 2026-07-09                                                         | Scoped or conditionalPyPI files have signed Trusted Publisher attestations. The container is published by digest with unsigned BuildKit provenance, but no publisher signature or consumer verification policy.[OpenViking v0.4.8 release workflow](https://github.com/volcengine/OpenViking/blob/v0.4.8/.github/workflows/release.yml) [OpenViking 0.4.8 PyPI attestation](https://pypi.org/integrity/openviking/0.4.8/openviking-0.4.8-cp310-abi3-manylinux_2_31_x86_64.whl/provenance) [Docker BuildKit provenance behavior](https://docs.docker.com/reference/cli/docker/buildx/build/#create-provenance-attestations---provenance)Reviewed 2026-07-09                                                                                                                                                                                                                                                   | Scoped or conditionalgraphiti-core 0.29.2 has a signed PyPI Trusted Publisher attestation. No matching 0.29.2 server image exists; Docker Hub latest remains 0.22.0.[Graphiti v0.29.2 package release workflow](https://github.com/getzep/graphiti/blob/v0.29.2/.github/workflows/release-graphiti-core.yml) [graphiti-core 0.29.2 PyPI attestation](https://pypi.org/integrity/graphiti-core/0.29.2/graphiti_core-0.29.2-py3-none-any.whl/provenance) [Graphiti v0.29.2 container release workflow](https://github.com/getzep/graphiti/blob/v0.29.2/.github/workflows/release-server-container.yml) [Graphiti server image tags](https://hub.docker.com/r/zepai/graphiti/tags)Reviewed 2026-07-09                                                                                                                          |
| Hardened server image What attack-surface and privilege baseline does the released image use?                          | Directly evidencedDistroless Java 21 runtime with no shell or package manager; runs as nonroot UID 65532.Private server-v1.0.307 Dockerfile reviewed [GoodMem public image configuration](https://github.com/orgs/PAIR-Systems-Inc/packages/container/package/goodmem%2Fserver) [GoodMem public server image](https://github.com/orgs/PAIR-Systems-Inc/packages/container/package/goodmem%2Fserver)Reviewed 2026-08-19                                                                                                                                                                                                                                                                                                                                                                                                           | Scoped or conditionalThe source-built API development image uses a general Python base, runs as root, and enables Uvicorn reload; only the dashboard image switches to nonroot.[Mem0 v2.0.11 API Dockerfile](https://github.com/mem0ai/mem0/blob/v2.0.11/server/dev.Dockerfile) [Mem0 v2.0.11 dashboard Dockerfile](https://github.com/mem0ai/mem0/blob/v2.0.11/server/dashboard/Dockerfile) [Mem0 v2.0.11 server Compose file](https://github.com/mem0ai/mem0/blob/v2.0.11/server/docker-compose.yaml)Reviewed 2026-07-09                                                                                              | Not applicableThe self-hosted server is distributed as a native binary rather than a container image and runs with the invoking user’s privileges.[Supermemory server-v0.0.3 self-hosting overview](https://github.com/supermemoryai/supermemory/blob/server-v0.0.3/apps/docs/self-hosting/overview.mdx) [Supermemory server-v0.0.3 installer](https://github.com/supermemoryai/supermemory/releases/download/server-v0.0.3/install.sh)Reviewed 2026-07-09                                                                                                                                                                                                                                                             | Scoped or conditionalThe runtime uses a general Python slim image and does not set USER, leaving the server at the image’s root default.[Cognee v1.2.2 Dockerfile](https://github.com/topoteretes/cognee/blob/v1.2.2/Dockerfile)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | Scoped or conditionalThe runtime uses a general Python slim image with development utilities and does not switch away from the root default.[OpenViking v0.4.8 Dockerfile](https://github.com/volcengine/OpenViking/blob/v0.4.8/Dockerfile)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | Scoped or conditionalThe v0.29.2 source Dockerfile creates a nonroot app user on Python slim, but no matching 0.29.2 image is published; Docker Hub latest is the older 0.22.0 build.[Graphiti v0.29.2 server Dockerfile](https://github.com/getzep/graphiti/blob/v0.29.2/Dockerfile) [Graphiti server image tags](https://hub.docker.com/r/zepai/graphiti/tags)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| Security automation What automated scanning or update control is visible?                                              | Scoped or conditionalSBOM, Grype, OSV-Scanner, and FOSSA jobs are present, with monthly patch-only Dependabot updates and checked auto-merge. Vulnerability findings are not a universal release gate.Private server-v1.0.307 scan workflow reviewed Private server-v1.0.307 Dependabot policy reviewed [PAIR Systems Trust Center](https://trust.pairsys.ai/)Reviewed 2026-08-19                                                                                                                                                                                                                                                                                                                                                                                                                                                | Not locatedThe pinned workflows run tests and packaging; no dedicated code, dependency, or container vulnerability scanner was located.[Mem0 v2.0.11 workflows](https://github.com/mem0ai/mem0/tree/v2.0.11/.github/workflows)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                       | Not locatedThe pinned CI runs formatting, lint, and type checks; no dedicated vulnerability scanner or public server build workflow was located.[Supermemory server-v0.0.3 CI workflow](https://github.com/supermemoryai/supermemory/blob/server-v0.0.3/.github/workflows/ci.yml) [Supermemory server-v0.0.3 source tree](https://github.com/supermemoryai/supermemory/tree/server-v0.0.3)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                          | Scoped or conditionalAn OpenSSF Scorecard workflow uploads repository security analysis; no dedicated dependency or container CVE scan was located.[Cognee v1.2.2 OpenSSF Scorecard workflow](https://github.com/topoteretes/cognee/blob/v1.2.2/.github/workflows/scorecard.yml) [Cognee v1.2.2 release workflow](https://github.com/topoteretes/cognee/blob/v1.2.2/.github/workflows/release.yml)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                     | Directly evidencedCodeQL scans Python and C++ with security-and-quality queries in CI and on schedule; Dependabot updates Python and GitHub Actions dependencies weekly.[OpenViking v0.4.8 CodeQL workflow](https://github.com/volcengine/OpenViking/blob/v0.4.8/.github/workflows/_codeql.yml) [OpenViking v0.4.8 Dependabot policy](https://github.com/volcengine/OpenViking/blob/v0.4.8/.github/dependabot.yml)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | Directly evidencedCodeQL scans Python and GitHub Actions on pushes, pull requests, and weekly; Dependabot updates root, server, and MCP Python dependencies weekly.[Graphiti v0.29.2 CodeQL workflow](https://github.com/getzep/graphiti/blob/v0.29.2/.github/workflows/codeql.yml) [Graphiti v0.29.2 Dependabot policy](https://github.com/getzep/graphiti/blob/v0.29.2/.github/dependabot.yml)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                         |
| TLS boundary Does the project terminate TLS, or does the operator/host?                                                | Directly evidencedREST and gRPC use TLS by default; custom, self-signed, and ACME-issued certificates are supported. No mTLS.[GoodMem TLS configuration](https://docs.goodmem.ai/docs/reference/security/tls-configuration/) [GoodMem ACME setup](https://docs.goodmem.ai/docs/reference/security/acme-setup/) Private server-v1.0.307 TLS implementation reviewedReviewed 2026-08-19                                                                                                                                                                                                                                                                                                                                                                                                                                            | Not locatedThe supported server and dashboard are documented over HTTP; no native TLS configuration was located.[Mem0 v2.0.11 server guide](https://github.com/mem0ai/mem0/blob/v2.0.11/server/README.md) [Mem0 v2.0.11 server Compose file](https://github.com/mem0ai/mem0/blob/v2.0.11/server/docker-compose.yaml)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                 | Scoped or conditionalVendor documentation exposes an HTTP listener and no TLS setting. The server implementation is absent from the public tag, so this cannot be independently verified in source.[Supermemory server-v0.0.3 quickstart](https://github.com/supermemoryai/supermemory/blob/server-v0.0.3/apps/docs/self-hosting/quickstart.mdx) [Supermemory server-v0.0.3 configuration](https://github.com/supermemoryai/supermemory/blob/server-v0.0.3/apps/docs/self-hosting/configuration.mdx) [Supermemory server-v0.0.3 source tree](https://github.com/supermemoryai/supermemory/tree/server-v0.0.3)Reviewed 2026-07-09                                                                                       | Not locatedThe supported Uvicorn and Compose paths expose HTTP; no native TLS termination configuration was located.[Cognee v1.2.2 README](https://github.com/topoteretes/cognee/blob/v1.2.2/README.md) [Cognee v1.2.2 Compose file](https://github.com/topoteretes/cognee/blob/v1.2.2/docker-compose.yml)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Scoped or conditionalOpenViking listens over HTTP. Its supported Compose stack includes Caddy for HTTPS termination and automatic ACME issuance and renewal after the operator enables a domain and ports 80/443.[OpenViking v0.4.8 server quickstart](https://github.com/volcengine/OpenViking/blob/v0.4.8/docs/en/getting-started/03-quickstart-server.md) [OpenViking v0.4.8 public-access guide](https://github.com/volcengine/OpenViking/blob/v0.4.8/docs/en/guides/12-public-access.md) [OpenViking v0.4.8 Caddy configuration](https://github.com/volcengine/OpenViking/blob/v0.4.8/Caddyfile) [OpenViking v0.4.8 Compose file](https://github.com/volcengine/OpenViking/blob/v0.4.8/docker-compose.yml)Reviewed 2026-07-09                                                                                                                                                                           | Not locatedThe FastAPI server is documented over HTTP on port 8000; no native TLS termination configuration was located.[Graphiti v0.29.2 server guide](https://github.com/getzep/graphiti/blob/v0.29.2/server/README.md) [Graphiti v0.29.2 Compose file](https://github.com/getzep/graphiti/blob/v0.29.2/docker-compose.yml)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| Authorization model After authentication, what roles, scopes, and resource policy does the self-hosted server enforce? | Directly evidencedHUMAN and SERVICE principals are authorized for an operation on a typed target through fixed roles, ownership, direct grants, and all-authenticated grants; scoped-key ceilings independently cap live authority. Policy is additive, roles are code-defined, groups and deny rules are absent, and hard tenant isolation requires a separate instance.[GoodMem access-control reference](https://docs.goodmem.ai/docs/reference/security/access-control/) [GoodMem security model](https://docs.goodmem.ai/docs/concepts/security-model/) [GoodMem built-in roles](https://docs.goodmem.ai/docs/reference/security/built-in-roles/) [GoodMem API-key ceilings](https://docs.goodmem.ai/docs/concepts/api-keys-and-ceilings/) Private server-v1.0.307 authorization implementation reviewedReviewed 2026-08-19 | Scoped or conditionalJWTs and user-owned revocable API keys add coarse admin-only gates. Ordinary authenticated callers can still create, search, read, update, and delete memories under arbitrary entity identifiers or memory IDs; there are no resource grants or key ceilings.[Mem0 v2.0.11 server authentication](https://github.com/mem0ai/mem0/blob/v2.0.11/server/auth.py) [Mem0 authorization recheck at v2.0.18](https://github.com/mem0ai/mem0/blob/v2.0.18/server/auth.py#L116-L220) [Mem0 v2.0.18 memory routes](https://github.com/mem0ai/mem0/blob/v2.0.18/server/main.py#L367-L524)Reviewed 2026-08-19 | Scoped or conditionalSelf-hosted Supermemory is one local organization owner with one unrestricted key. Multi-member roles and scoped keys are Enterprise controls, so container tags do not isolate callers sharing that key. Local auto-login trusts the request hostname rather than the peer address.[Supermemory local and enterprise scope](https://github.com/supermemoryai/supermemory/blob/server-v0.0.3/apps/docs/self-hosting/local-vs-enterprise.mdx) [Supermemory authorization recheck at server-v0.0.8](https://github.com/supermemoryai/supermemory/blob/server-v0.0.8/apps/docs/self-hosting/local-vs-enterprise.mdx#L8-L31) Official server-v0.0.8 Linux binary behavior reviewedReviewed 2026-08-19 | Scoped or conditionalTenant-scoped custom roles and positive per-dataset ACLs grant read, write, delete, and share to users, roles, or tenants. There is no policy below the dataset, explicit deny, or scoped and expiring credential authority; enforcement is distributed across application paths.[Cognee v1.2.2 permission routes](https://github.com/topoteretes/cognee/blob/v1.2.2/cognee/api/v1/permissions/routers/get_permissions_router.py) [Cognee authorization recheck at v1.5.0](https://github.com/topoteretes/cognee/blob/v1.5.0/cognee/modules/users/permissions/methods/get_all_user_permission_datasets.py#L10-L48) [Cognee v1.5.0 dataset ACL model](https://github.com/topoteretes/cognee/blob/v1.5.0/cognee/modules/users/models/ACL.py#L8-L22)Reviewed 2026-08-19 | Scoped or conditionalROOT/ADMIN/USER gates combine with account and per-user namespace isolation. There are no assignable per-resource permissions; account-shared resources are readable and writable by every account user. HTTP context is the boundary, while an omitted in-process context defaults to root.[OpenViking v0.4.8 authentication and authorization](https://github.com/volcengine/OpenViking/blob/v0.4.8/docs/en/guides/04-authentication.md) [OpenViking v0.4.8 identity implementation](https://github.com/volcengine/OpenViking/blob/v0.4.8/openviking/server/identity.py) [OpenViking authorization recheck at v0.4.15](https://github.com/volcengine/OpenViking/blob/v0.4.15/openviking/storage/viking_fs/_access.py#L790-L823) [OpenViking v0.4.15 namespace rules](https://github.com/volcengine/OpenViking/blob/v0.4.15/openviking/core/namespace.py#L263-L285)Reviewed 2026-08-19 | Not locatedNo built-in inbound authentication was located on the self-hosted FastAPI or MCP HTTP surfaces, and there are no principals, roles, tenant binding, or resource policy checks. group\_id is a caller-controlled namespace/filter rather than an authorization boundary. Use network isolation or an authenticating proxy.[Graphiti v0.29.2 FastAPI application](https://github.com/getzep/graphiti/blob/v0.29.2/server/graph_service/main.py) [Graphiti authorization recheck at v0.29.3](https://github.com/getzep/graphiti/blob/021d3a57d511f21b10adaf7fa923bd5c1fce5e9d/server/graph_service/main.py#L20-L29) [Graphiti v0.29.3 unguarded ingest routes](https://github.com/getzep/graphiti/blob/021d3a57d511f21b10adaf7fa923bd5c1fce5e9d/server/graph_service/routers/ingest.py#L48-L111)Reviewed 2026-08-19 |
| Persistence dependencies Which stateful services are required or optional?                                             | Directly evidencedThe supported local stack includes PostgreSQL; a remote PostgreSQL database can be configured.[GoodMem remote database install options](https://docs.goodmem.ai/docs/reference/cli/system/goodmem_system_install/)Reviewed 2026-08-19                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Directly evidencedThe supported self-hosted stack requires PostgreSQL with pgvector.[Mem0 v2.0.11 server guide](https://github.com/mem0ai/mem0/blob/v2.0.11/server/README.md) [Mem0 v2.0.11 server Compose file](https://github.com/mem0ai/mem0/blob/v2.0.11/server/docker-compose.yaml)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                             | Scoped or conditionalVendor documentation says the graph engine is embedded and persists to local disk with no external database. The server implementation is absent from the public tag.[Supermemory server-v0.0.3 self-hosting overview](https://github.com/supermemoryai/supermemory/blob/server-v0.0.3/apps/docs/self-hosting/overview.mdx) [Supermemory server-v0.0.3 configuration](https://github.com/supermemoryai/supermemory/blob/server-v0.0.3/apps/docs/self-hosting/configuration.mdx) [Supermemory server-v0.0.3 source tree](https://github.com/supermemoryai/supermemory/tree/server-v0.0.3)Reviewed 2026-07-09                                                                                       | Directly evidencedEmbedded SQLite, graph, and vector stores are the defaults; PostgreSQL, Neo4j, and Redis are optional profiles.[Cognee v1.2.2 security configuration](https://github.com/topoteretes/cognee/blob/v1.2.2/.env.template) [Cognee v1.2.2 Compose file](https://github.com/topoteretes/cognee/blob/v1.2.2/docker-compose.yml)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                                            | Directly evidencedLocal embedded storage is the default; remote vector, object, and metadata stores are optional deployment choices.[OpenViking v0.4.8 deployment guide](https://github.com/volcengine/OpenViking/blob/v0.4.8/docs/en/guides/03-deployment.md)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Directly evidencedThe server requires a graph database, with Neo4j and FalkorDB as the documented Compose options.[Graphiti v0.29.2 server guide](https://github.com/getzep/graphiti/blob/v0.29.2/server/README.md) [Graphiti v0.29.2 Compose file](https://github.com/getzep/graphiti/blob/v0.29.2/docker-compose.yml)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| FIPS posture Is there a documented, scoped FIPS cryptographic boundary?                                                | Scoped or conditionalServer JCE/TLS runs through BCFIPS and BCJSSE in approved-only mode, but the deployed BC-FJA 2.1.2 patch is still under submission; database and CLI paths remain outside the boundary.[GoodMem FIPS boundary](https://docs.goodmem.ai/docs/reference/security/fips-compliance/) Private server-v1.0.307 FIPS bootstrap reviewed [Bouncy Castle Java FIPS releases](https://www.bouncycastle.org/download/bouncy-castle-java-fips/) [NIST CMVP certificate 4943](https://csrc.nist.gov/projects/cryptographic-module-validation-program/certificate/4943)Reviewed 2026-08-19                                                                                                                                                                                                                                | Not locatedNo documented FIPS mode or scoped cryptographic boundary was located in the pinned public source tree.[Mem0 v2.0.11 source tree](https://github.com/mem0ai/mem0/tree/v2.0.11)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                             | Not locatedNo documented FIPS mode or scoped cryptographic boundary was located in the pinned release or self-hosting documentation.[Supermemory server-v0.0.3 release](https://github.com/supermemoryai/supermemory/releases/tag/server-v0.0.3) [Supermemory server-v0.0.3 self-hosting overview](https://github.com/supermemoryai/supermemory/blob/server-v0.0.3/apps/docs/self-hosting/overview.mdx)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                             | Not locatedNo documented FIPS mode or scoped cryptographic boundary was located in the pinned public source tree.[Cognee v1.2.2 source tree](https://github.com/topoteretes/cognee/tree/v1.2.2)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | Not locatedEncryption and KMS options are documented, but no FIPS mode or scoped validated cryptographic boundary was located.[OpenViking v0.4.8 encryption guide](https://github.com/volcengine/OpenViking/blob/v0.4.8/docs/en/guides/08-encryption.md) [OpenViking v0.4.8 source tree](https://github.com/volcengine/OpenViking/tree/v0.4.8)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | Not locatedNo documented FIPS mode or scoped cryptographic boundary was located in the pinned public source tree.[Graphiti v0.29.2 source tree](https://github.com/getzep/graphiti/tree/v0.29.2)Reviewed 2026-07-09                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |

Methodology and limits

## How to read this review

### Exact release pins

We inspect exact stable tags rather than moving default branches. The comparison table uses the releases and review dates shown, not a continuously updated latest-release claim. Authorization findings have their own refreshed review dates. Current GoodMem release-gate details are summarized above; the table retains its original pinned snapshots.

### Evidence, not inference

“Not located” means the audited public release did not expose an explicit artifact or workflow. When server source is absent, vendor-documented runtime claims are marked scoped or conditional instead of directly evidenced. Neither status rules out a private or commercial feature.

### Like-for-like scope

We selected active, self-hostable memory and context systems. Hosted-only controls are excluded; image hardening is marked not applicable when a project distributes a native server binary instead of a container.

### A dated snapshot

Projects change. Treat this as a reproducible snapshot, re-check the linked source before procurement, and report a stale finding so we can correct it.

## Need the evidence behind a security review?

Review our security documentation and Trust Center, or contact us with the controls your team needs to validate.

[Open Trust Center](https://trust.pairsys.ai/) [Contact security sales](https://goodmem.ai/contact-sales?interest=security)
