Make the trust boundary visible.
Choose local, self-hosted, or managed deployment with explicit data authority. FishMem separates project credentials, user sessions, source assets, durable tasks, and provider access instead of collapsing them into one opaque memory service.
- 01AuthenticateSeparate human sessions from project-scoped API keys.
- 02AuthorizeResolve workspace ownership before memory or source access.
- 03AuditRetain request IDs, operation state, history, and usage records.
- 01keys stored as hashes
- 02scoped workspaces
- 03private Desktop socket
- 04portable exports
Security copy should describe controls that exist today—and name the certifications, residency options, and guarantees that are not yet claimed.
Different actors get different credentials.
Dashboard sessions authenticate people. Project API keys authenticate server workloads. Scheduled workers and webhooks use separate secrets, so one leaked credential does not automatically grant every capability.
- Public API traffic is rate-limited by a hashed request identity.
- Mutation retries require idempotency and reject conflicting payloads.
- Production responses include CSP, HSTS, clickjacking, MIME, referrer, and permission headers.
Keep authority portable and deletions explicit.
Namespace snapshots contain the authoritative graph state while indexes are marked for rebuild. Project, entity, document, and account deletion paths target the owning boundary rather than leaving orphaned projections.
- Desktop backup and restore operates entirely on the local library.
- Source checksums and immutable object keys fence accidental replacement.
- Cloud organizations and workspaces keep project membership explicit.
Release only what can be reproduced.
Cloud builds pin the exact open-core revision and deployment metadata carries the Cloud source commit. Desktop release scripts record source provenance and checksums, then verify signing, notarization, stapling, and the packaged lifecycle before producing release metadata.
- Required deployment secrets are declared in Wrangler configuration.
- Release and deploy scripts reject dirty worktrees.
- Security advisories are handled through the repository’s private reporting policy.
What this surface includes
- Authentication, workspace authorization, hashed API keys, rate limiting, security headers, durable audit records, and release provenance.
- Local-only Desktop storage and self-hosted deployment options for teams that must own infrastructure.
- Public vulnerability reporting instructions and automated dependency auditing in release review.
Explicit boundary
- FishMem does not currently claim SOC 2, HIPAA, ISO 27001, or a formal regional residency program.
- Cloud model requests are processed by the provider configured for the project; provider terms still apply.
- Self-hosting transfers backups, patching, observability, provider secrets, and incident response to the operator.
