Skip to content

Harden SQLite metadata file permissions #79

@jmcte

Description

@jmcte

Context

The security best-practices report identified that connect_sqlite(...) opens file-backed SQLite databases using default process permissions. Future real MailPlus metadata or selected-text-cache work should not rely on ambient umask behavior.

Evidence

  • src/mailplus_intelligence/sqlite.py:12-18 opens file-backed databases with sqlite3.connect(...) and enables WAL.
  • docs/privacy-redaction-boundaries.md:24-44 treats metadata as the structured recall layer.
  • docs/privacy-redaction-boundaries.md:111-116 forbids generated stores that may contain sensitive material in the repo.

Acceptance criteria

  • File-backed SQLite databases created by connect_sqlite(...) are owner-readable/writable only by default, e.g. 0600, for newly-created files.
  • Parent directory behavior is documented or made explicit if directories are created by the helper.
  • A focused regression test proves the permission behavior for a newly-created database file.
  • Existing in-memory behavior remains unchanged.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions