Skip to content

[Docs] Password hashing configuration docs are incomplete and out of date #5261

Description

@rajithacharith

Document issue type

Type/Bug (Report inaccuracies, outdated information, or missing details in the existing content)

Description

The "Password Hashing" section in docs/content/deployment/configuration.mdx (around lines 766-773) does not reflect what the backend actually supports.

Missing algorithms: The backend (backend/internal/system/cryptolib/hash.go) supports three selectable password hashing algorithms via crypto.password_hashing.algorithm: SHA256, PBKDF2, and ARGON2ID. The docs only describe PBKDF2, with no mention that SHA256 or ARGON2ID are valid, configurable alternatives.

Wrong / stale field paths: The docs list generic parameters under crypto.password_hashing.parameters.* (iterations, key_size, salt_size). The actual shipped config (backend/cmd/server/config/default.json) nests parameters per algorithm instead:

  • crypto.password_hashing.sha256.salt_size
  • crypto.password_hashing.pbkdf2.{iterations,key_size,salt_size}
  • crypto.password_hashing.argon2id.{iterations,memory,parallelism,key_size,salt_size}

Argon2id's memory and parallelism parameters aren't documented at all.

No explanatory content: There's no prose explaining what each algorithm is, its security tradeoffs, or guidance on when/why to choose one over another (e.g. why PBKDF2 is the shipped default, when Argon2id may be preferable, and any caveats around SHA256).

Suggested fix

  • Update the "Password Hashing" table in docs/content/deployment/configuration.mdx to list all three algorithms and their correct, per-algorithm parameter paths and defaults.
  • Add a short explanation of each algorithm (SHA256, PBKDF2, Argon2id) and guidance on choosing between them.

Version

v1.0.0

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions