## ADDED Requirements ### Requirement: Real-name behavior SHALL use the effective backend asset policy The H5/C client SHALL use `GET /api/c/v1/asset/info?identifier=...` as the source of truth for real-name behavior. It SHALL consume `effective_realname_policy`, `realname_required`, and `real_name_status` and SHALL NOT infer policy or final device real-name status from asset type, card type, device type, or frontend-only rules. #### Scenario: Asset does not require real name - **WHEN** asset information returns `effective_realname_policy = none` or `realname_required = false` - **THEN** the client SHALL show the asset as not requiring real-name completion - **AND** the client SHALL not block the normal order flow for real-name completion #### Scenario: Real name is required before ordering - **WHEN** asset information returns `effective_realname_policy = before_order`, `realname_required = true`, and `real_name_status` as not completed - **THEN** the client SHALL show the real-name requirement - **AND** the client SHALL prevent package order submission until the existing real-name flow completes #### Scenario: Real name is required after ordering - **WHEN** the effective real-name policy is `after_order` - **AND** `/api/c/v1/device/cards` returns no card with completed real-name authentication - **AND** package history contains neither a pending package (`status = 0`) nor an active package (`status = 1`) - **THEN** selecting a real-name entry on the homepage or operator-switch page SHALL block direct real-name authentication - **AND** the client SHALL show a confirmation prompt that can navigate to package ordering #### Scenario: Post-order real-name requirement is satisfied - **WHEN** the effective real-name policy is `after_order` - **AND** `/api/c/v1/device/cards` returns at least one authenticated card, or package history contains a pending or active package - **THEN** the homepage and operator-switch real-name entries SHALL retain the existing real-name authentication flow #### Scenario: Device status is resolved from server output - **WHEN** a device has cards with different local-looking real-name states but the asset info response returns the effective device `real_name_status` - **THEN** the client SHALL display and use that returned effective status - **AND** the client SHALL not replace it with a card/device inference