Approve fields
The existing ITS contract says Client A may access HIFZ and certification, but not address.
Replace repeated SOAP and REST polling with permission-aware Kafka streams carrying the latest authoritative ITS changes.
ITS owns the source, broker, schemas, and permissions. Clients own only their consumer and their local update logic.
“Subscribe” is not an open signup. ITS approves access first, then Kafka enforces exactly those topic permissions.
The existing ITS contract says Client A may access HIFZ and certification, but not address.
ITS creates unique credentials, an allowed consumer-group identity, and READ ACLs for approved topics.
The client subscribes with those credentials. Kafka rejects every topic that its ACL does not allow.
The database remains authoritative. Messaging can lag or retry, but it must never block an ITS write.
Events contain the latest authorized value, not every intermediate value and never the previous value.
Clients deduplicate by eventId and reject stale domainVersion values.
Kafka keys by ITS ID. Order is preserved within a topic, not across domains.
Photograph events carry metadata only. Approved clients fetch image bytes through the API.
person.deleted is a separate event. A cleared field is explicit null, not an omitted field.
Kafka retains seven days. Longer-disconnected clients reconcile through existing APIs.
The HLD is stable without these answers. The low-level design is not. Expand each area during technical discovery with ITS.
ITS publishes each latest change once to a permission-aligned Kafka topic; every approved client reads it independently through its own secured consumer group.