"""Domain entity: PersonalData (parent profile). A PersonalData represents a parent in the planning workspace. It intentionally exists without a User login so that solo planning for a partner who hasn't registered is possible (see ARCHITECTURE.md §3.0). personnummer storage is discouraged (see §11). If kept, personnummer_enc must be keyed HMAC / authenticated encryption — never a plain SHA-256. """ from dataclasses import dataclass, field from datetime import datetime from uuid import UUID @dataclass class PersonalData: uuid: UUID workspace_id: UUID name: str salary_type: str = "monthly" # 'monthly' | 'hourly' employment_status: str = "employed" # 'employed' | 'jobseeking' | 'none' personnummer_enc: str | None = None # encrypted/HMAC; prefer None created_at: datetime | None = field(default=None) deleted_at: datetime | None = field(default=None)