Skip to content

research: design a privacy-safe BYOK inference plugin boundary #353

Description

@Abhash-Chakraborty

Problem

Find intentionally fails closed for remote inference today. A future BYOK option must not turn into an implicit cloud upload path or leak captions, OCR, embeddings, faces, or originals to undeclared providers.

Scope

Design an opt-in provider/plugin boundary for user-supplied inference credentials. This is a design/security issue first; implementation must wait for the architecture to be approved.

Acceptance criteria

  • Define a provider manifest and capability contract (captioning, embeddings, OCR, detection) without provider-specific code in core jobs.
  • Define exactly which payloads may leave the instance and require per-provider, per-capability consent.
  • Store secrets encrypted or through a secret-file/keychain boundary; never return keys from APIs or logs.
  • Keep local inference as the default and fail closed when a remote provider is unavailable.
  • Add allowlist, timeout, rate-limit, redaction, audit-log, and key-rotation requirements.
  • Document how self-hosted endpoints differ from third-party BYOK providers.
  • Include a threat model and a test strategy before any adapter is merged.

Non-goals

No provider SDK, hosted API call, telemetry, or credential UI should land in this issue.

Metadata

Metadata

Labels

architectureHigh-level design decisions and technical directionassignedIssue or PR is already assigned to someone.backendFastAPI, database, storage, and API workenhancementNew feature, improvement, or enhancement request.gssoc26Related to GirlScript Summer of Code 2026.level:criticalGSSoC difficulty level: critical. Base contributor points: 80.local-firstPrivacy-preserving local runtime and offline behaviorprivacyData privacy, security boundaries, and user trustresearchNeeds investigation, comparison, or design proposal before implementationstatus: unavailableThis issue is now unavailable to pick up.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions