mirror of
https://github.com/we-promise/sure.git
synced 2026-07-12 21:05:20 +00:00
* feat(security): warn when ActiveRecord encryption is not configured Self-hosted instances without explicit ACTIVE_RECORD_ENCRYPTION_* keys (or Rails credentials) store sensitive columns - API keys, provider/bank tokens, the MFA (TOTP) secret, and PII - unencrypted at rest. The app boots and works normally so this plaintext at rest state is easy to miss. Change: Make it visible: - log a clear startup warning (config/initializers/encryption_warning.rb) - show a warning banner on /settings/security when encryption is unconfigured * refactor(security): apply review feedback on encryption warning - list the three ACTIVE_RECORD_ENCRYPTION_* keys in the banner, rendered via the DS::Alert content block to match the log - drop the redundant respond_to?(:self_hosted?) guard in the initializer so it matches the controller check - add a managed-mode test asserting the banner is hidden
15 lines
510 B
Ruby
15 lines
510 B
Ruby
class Settings::SecuritiesController < ApplicationController
|
|
layout "settings"
|
|
|
|
def show
|
|
@breadcrumbs = [
|
|
[ t("breadcrumbs.home"), root_path ],
|
|
[ t("breadcrumbs.security"), nil ]
|
|
]
|
|
@oidc_identities = Current.user.oidc_identities.order(:provider)
|
|
@webauthn_credentials = Current.user.webauthn_credentials.order(created_at: :asc)
|
|
@encryption_unconfigured = Rails.application.config.app_mode.self_hosted? &&
|
|
!ActiveRecordEncryptionConfig.explicitly_configured?
|
|
end
|
|
end
|