The client management system uses a layered architecture: Custom Post Type Layer (class-client-cpt.php): Registers the app_portal_client post type with metadata Service Layer (class-client-service.php): Provides CRUD operations (Create, Read, Update, Delete) and data hydration Admin Handler Layer (class-client-admin.php): Manages AJAX endpoints and data sanitization View Layer (client-form.php, client-detail.php): Renders form and detail pages When retrieving a client, the system "hydrates" the post with all related metadata: All client input is sanitized before storage: sanitize_text_field() - Generic text (name, phone, address, etc.) sanitize_email() - Email addresses esc_url() - Website URLs sanitize_textarea_field() - Description (rich text) intval() - User IDs (integers) Hook Type