User Interface medium complexity mobile
0
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

A blocking modal or full-screen overlay that appears within the expense registration flow when a qualifying driver or sensitive-role expense type is detected. It presents the declaration terms and requires explicit acceptance before submission can proceed. The screen is dismissed only upon confirmed acceptance, which is then forwarded to the service layer.

Feature: Confidentiality Declarations

confidentiality-declaration-screen

Sources & reasoning

Line 71 explicitly lists driver honoraria and confidentiality declarations as a Blindeforbundet requirement within the expense registration flow. The parent area is Fase 2 in the priority matrix at line 148, mapping to v1.0. The feature is compliance-driven, not optional UX.

Responsibilities

  • Detect qualifying expense types and trigger declaration gate in the registration flow
  • Render full declaration text with accept/decline controls
  • Block form submission until acceptance is confirmed
  • Dispatch acceptance event with user context to ConfidentialityService
  • Display error or re-prompt if service call fails

Interfaces

show(expenseType: ExpenseType, userId: string): Promise<DeclarationResult>
onAccepted(callback: (result: DeclarationAcceptance) => void): void
onDeclined(callback: () => void): void