using Clarity.Server.Data;
using System.ComponentModel.DataAnnotations.Schema;
namespace Clarity.Server.Entity
{
public class Profile : IPIIEntity
{
public Guid Id { get; set; }
/// Keycloak subject ID (the "sub" claim). Unique per user.
public string KeycloakSubject { get; set; } = string.Empty;
// Actual Application data
[PiiData]
public string FirstName { get; set; }
[PiiData]
public string MiddleName { get; set; }
[PiiData]
public string LastName { get; set; }
[PiiData]
public string Ssn { get; set; }
// Audit
// Onboarding Flow
public bool OnboardingComplete { get; set; } = false;
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
public byte[] EncryptedDek { get; set; } = Array.Empty();
public string Tenant { get; set; } = string.Empty;
}
}