Global Entry Seamless Border Entry ICD V1.0.pdf
PDF 895 KB Posted
- Attached to
- Facial Biometrics Capture and Processing
- Solicitation number
- 20148487
About this file
This is an Interface Control Document (ICD) for the Global Entry Seamless Border Entry (GE-SBE) project by U.S. Customs and Border Protection, detailing technical specifications for facial recognition software and devices. The document outlines comprehensive requirements for vendors developing facial capture technology, including a detailed protobuf message schema for device-to-service communications, with specific protocols for image capture, device state management, health status reporting, and action events.
Key technical requirements include seamless biometric facial capture "on the move", self-contained software that communicates only through specified CBP network URLs, capability to emit device health status, and provision of meaningful error logging. The document mandates that vendor software must operate in minimized desktop states, provide 508-compliant public feedback, and adhere to DHS CBP data security policies. The interface uses websocket connections with multiple message types covering device registration, image capture, state changes, health queries, and action events, with strict data protection and confidentiality expectations for vendors collaborating with CBP.
View the file
Other files
| File | Type | Posted |
|---|---|---|
| Sources Sought Notice - Amendment 1.pdf | ||
| Sources Sought Questionnaire - Amendment 1.pdf | ||
| Sources Sought Notice.pdf | ||
| Sources Sought Questionnaire.pdf |
On GovTribe
Work with this file
- Download the original file
- Contacts named in this file
- Similar government files
- Ask GovTribe AI about this file
Text version
Document May Be Updated at the Discretion of CBP at Anytime
Global Entry Seamless Border Entry Interface Control Document
Specifications for Facial Recognition Software and device for Global Entry Seamless Border Entry.
June 2025
Passenger Systems Program Directorate U.S. Customs and Border Protection
Global Entry SBE Interface Control Document June 2025
OIT-PSPD-GE Document May Be Updated at the Discretion of CBP at Any Time 1
Change Control Log Revised by Date Description of Revisions
Global Entry – Seamless Border Entry Team
06/20/2025 1.0 – Initial Draft
OIT-PSPD-GE Document May Be Updated at the Discretion of CBP at Any Time 2
Table of Contents
PROBLEM STATEMENT
SOLUTION REQUIREMENTS
FACIAL IMAGE CAPTURE – GE-SBE ARCHITECTURE
PROPOSED DESIGN
1. INTERFACE MESSAGES STRUCTURE
1.1. Protobuf Schema Definition
1.2. Message Samples
COMPLIANCE EXPECTATIONS
List of Figures Figure 1: Traveler passes through the GE – SBE Figure 2: Officer starts/stops capture device Figure 3: Initiated by the Vendor Figure 4: initiated by the CBP software
OIT-PSPD-GE Document May Be Updated at the Discretion of CBP at Any Time 3
Purpose The purpose of this document is to provide the interface requirements for Global Entry (GE) Seamless Border Entry (SBE) processing which is being evaluated for use by Customs and Border Protection (CBP) applications.
Problem Statement
CBP Leadership has requested the Global Entry (GE) team to work with vendors to create/update the interface requirements for a GE-SBE solution. The GE-SBE solution encompasses a biometric facial capture function, feedback for a traveler and CBP officers on the capture device, and the ability to regulate (start/restart) the capture device remotely.
Solution Requirements
The solution is required to be:
1. Seamless biometric facial capture “on the move” - a traveler’s picture is required to be captured while the traveler is on the move.
2. The software solution needs to be self-contained on the CBP issued image. The software from the vendor shall not communicate with any other software component outside of the CBP network. The vendor software shall only communicate to the URL specified in this ICD.
3. The vendor software is required to emit or respond to the detailed status of health of the device software and its hardware components.
4. The vendor is required to have a meaningful error log accessible on the CBP issued device for troubleshooting purposes.
Any startup processes/windows of the vendor software need to be in minimized state on the desktop/screen to avoid it being visible by the users. Any public facing feedback needs to be 508 compliant.
Facial Image Capture – GE-SBE Architecture
Proposed Design
The following image suggests that while traveler is “on the move”, the device captures the picture. The vendor software, then, sends pictures and metadata to CBP software. The image is then processed, and the result/feedback is given to the vendor software, which in turn is communicated optionally to the capture device.
OIT-PSPD-GE Document May Be Updated at the Discretion of CBP at Any Time 4
Figure 1: Traveler passes through the GE – SBE
The following image suggests that the officer initiates the action through the CBP software to change the state of the capture device. Once the state is updated on the capture device, the vendor software echoes back the message communicating success or failure of the requested action.
Figure 2: Officer starts/stops capture device
OIT-PSPD-GE Document May Be Updated at the Discretion of CBP at Any Time 5
1. Interface messages structure
CBP has requested the following set of protobuf messages over websockets for the GE-SBE effort. The websocket connection will remain persistent until either vendor software or CBP software decide to disconnect.
The service endpoint will be in wss://<serviceEndpoint> format. The ICD will be updated further when the actual endpoint is available.
Each of the devices will have a CBP issued image on it. The vendor is required to use the default location of the truststore to retrieve the CBP issued certificate to establish the connection.
Figure 3: Initiated by the Vendor
OIT-PSPD-GE Document May Be Updated at the Discretion of CBP at Any Time 6
Figure 4: initiated by the CBP software
The proto messages in the next sections are for illustration only. The schema definition section describes message types, data types and enums.
1.1. Protobuf Schema Definition
syntax = "proto3";
// Enum for device states enum DeviceState { PAUSED = 0; // Device is paused LIVE = 1; // Device is live MAINTENANCE_MODE = 2; // Device is in maintenance mode ERROR = 3; // Device has encountered an error DISCONNECTED = 4; // Device is disconnected
OIT-PSPD-GE Document May Be Updated at the Discretion of CBP at Any Time 7
// Enum for device action enum DeviceAction { PAUSE = 0; // Pause the device LIVE = 1; // Go Live MAINTENANCE = 2; // Put device in maintenance mode
/// 1: DEVICE TO SERVICE ///
// Capture Event Message message ImageCaptureEvent { string device_id = 1; // Unique ID of the device string session_id = 2; // Unique session ID (UUID as string) int64 time = 3; // Unix timestamp in milliseconds bytes image = 4; // Binary image data
// Acknowledgment for Capture Event message AckImageCapture { string device_id = 1; // Device ID that acknowledged the capture string session_id = 2; // Session ID of the capture string message = 3; // "success" or "error: details"
// State Update Event message StateEvent { string device_id = 1; // Device ID for the state update DeviceState state = 2; // The current state of the device
// Acknowledgment for State Update message AckState { string device_id = 1; // Device ID that acknowledged the state change DeviceState state = 2; // Current state of the device
// Health Status Event message HealthStatus { string device_id = 1; // Device ID for health status update map<string, string> status = 2; // Key-value pairs for device health
// Acknowledgment for Health Status message AckHealth { string device_id = 1; // Device ID that acknowledged the health update
// Device client registration message RegisterDevice { string device_id = 1;
// Device client registration ack message AckRegisterDevice { string device_id = 1;
/// 2: SERVICE TO DEVICE ///
// State Query from Service to Device message StateQuery { string device_id = 1; // Device ID to query the state of
OIT-PSPD-GE Document May Be Updated at the Discretion of CBP at Any Time 8
// Response for State Query message StateResponse { string device_id = 1; // Device ID that responded DeviceState state = 2; // Current state of the device
// Health Query from Service to Device message HealthQuery { string device_id = 1; // Device ID to query health status for
// Response for Health Query message HealthResponse { string device_id = 1; // Device ID that responded map<string, string> status = 2; // Key-value pairs for device health status
// Action Event (pause/unpause) message DeviceActionEvent { string device_id = 1; // Device ID for the action DeviceAction action = 2; // Action to be performed (pause or unpause)
// Reponse for Device Action Event message DeviceActionResponse { string device_id = 1; // Device ID that acknowledged the action DeviceState state = 2; // New state of the device (live, paused, etc.)
// Dashboard client registration message RegisterDashboard { string site_id = 1;
// Dashboard client registration ack message AckRegisterDashboard { string site_id = 1;
// Wrapper message to include any of the known message types message Envelope { oneof payload { ImageCaptureEvent image_capture_event = 1;
AckImageCapture ack_image_capture = 2;
StateEvent state_event = 3;
AckState ack_state = 4;
HealthStatus health_status = 5;
AckHealth ack_health = 6;
StateQuery state_query = 7;
StateResponse state_response = 8;
HealthQuery health_query = 9;
HealthResponse health_response = 10;
DeviceActionEvent device_action = 11;
DeviceActionResponse device_action_response = 12;
RegisterDevice register_device = 13;
AckRegisterDevice ack_register_device = 14;
RegisterDashboard register_dashboard = 15;
AckRegisterDashboard ack_register_dashboard = 16;
OIT-PSPD-GE Document May Be Updated at the Discretion of CBP at Any Time 9
1.2. Message Samples
sampleFromDevice = [ ['registerDevice', { deviceId: "device123" ['imageCaptureEvent', { deviceId: "device123", sessionId: "sess1", time: Date.now(), image: new Uint8Array([1, 2, 3, 4]) ['stateEvent', { deviceId: "device123", state: 0 ['healthStatus', { deviceId: "device123", status: { cpu: "ok", disk: "low" } sampleToDevice= [ ['stateQuery', { deviceId: "device123" ['healthQuery', { deviceId: "device123" ['deviceAction', { deviceId: "device123", action: 0
Compliance Expectations
CBP requests vendors provide updated software implementing these requirements to the GE team on the agreed-upon date.
For all questions, please contact:
CAROL.CHARSKY@CBP.DHS.GOV
FRANCES.A.SWEARENGEN@cbp.dhs.gov mailto:CAROL.CHARSKY@CBP.DHS.GOV mailto:FRANCES.A.SWEARENGEN@cbp.dhs.gov
| Problem Statement |
| Solution Requirements |
| Facial Image Capture – GE-SBE Architecture |
| Proposed Design |
| 1. Interface messages structure |
| 1.1. Protobuf Schema Definition |
| 1.2. Message Samples |
Compliance Expectations
File details come from the government source that posted it. Updated .