syntax = "proto3"; package gatewayprotocol.v1; import "gatewayprotocol/v1/allowed_pii.proto"; import "gatewayprotocol/v1/session_counters.proto"; option swift_prefix = "Gateway"; message MutableData { // This current state will be sent on every response from the gateway and will // be expected to be returned on every request (other than the initial request) optional bytes current_state = 1; // The session token will only be returned if it has been modified by the // server - the majority of requests are expected to not contain the session // token At least 1 session token will be returned for every session optional bytes session_token = 10; // The privacy object will only be returned if the one stored on the device // should be updated. It contains information about the current consent and privacy context optional bytes privacy = 11; // The session counters will only be returned if they need to be updated based // on gateway logic optional SessionCounters session_counters = 12; // Represents the PII types that can be sent to the gateway inside the // following requests optional AllowedPii allowed_pii = 13; // Allows for the gateway to update the cache at any point (most commonly on // initialization and first add request for identity caching) optional bytes cache = 14; // Passes the fsm to the sdk to be provided adViewer/privacyViewer. This can // be the entire FSM or just an ID/URL to fetch it from a CDN. This should be // passed to every show request to the adViewer optional bytes privacy_fsm = 15; }