Security and Privacy (Internals)¶
Local-first data model¶
InferencePort AI stores chat/session/runtime data primarily in local files under Electron’s user-data directory.
Examples:
chat-sessions/sessions.jsonassets/*.bloblogs/InferencePort-Server.logsupabase-session.json
Renderer isolation¶
Security posture relies on Electron preload boundaries:
Renderer code cannot directly call Node APIs.
Approved operations are mediated via
contextBridgeinsrc/preload.cts.Main process validates and executes privileged file/network operations.
Content sanitization¶
src/node-apis/utils.ts sanitizes markdown/HTML output before rendering
using:
markdown-itfor markdown parsingsanitize-htmlfor output sanitization
This reduces risk of unsafe markup from model output or imported content.
Local proxy host protections¶
The optional hosting proxy in src/node-apis/helper/server.ts includes:
Bearer token requirement
Remote token verification via Supabase edge function
Role-aware restrictions for non-admin users
Rate-limiting on health and forwarded requests
Header sanitization and request size limits
Log rotation for local log files
Auth/session handling¶
src/node-apis/auth.ts persists auth session payloads locally for relaunch
continuity and clears session files on sign-out.
Operational recommendations¶
Keep machine and OS account secure since local files may include chat data.
Restrict allowed user emails when using hosted proxy mode.
Avoid sharing imported files containing sensitive metadata.
Rotate credentials and review Supabase policies for production deployments.