Get desktop application:
View/edit binary Protocol Buffers messages
Used in:
See zkgroup for integer particular values. Unset if backups are not enabled.
only set if known (>0)
Only used in desktop/ios
Only used in desktop/ios. If unset, consider this off. Only used in desktop/ios
If unset, consider this on
If unset, consider this off
If unset, consider this on
If unset, consider this on
If unset, consider this on
If unset, consider this off
Used in:
Identifies an Android Play Store IAP subscription.
Identifies an iOS App Store IAP subscription.
Used in:
Used in:
This will be unset if no timespan was chosen in the UI.
Used in:
Used in:
Used in:
service ID binary (i.e. 16 byte UUID for ACI, 1 byte prefix + 16 byte UUID for PNI)
Used in:
(message has no fields)
Used in:
Interpret as "Unread messages"
Used in:
32 bytes of entropy used for encryption
16 bytes of encoded UUID provided by the server
Used in:
Used in: , , , ,
service ID binary (i.e. 16 byte UUID for ACI, 1 byte prefix + 16 byte UUID for PNI)
Used in: , , , , , , ,
Cross-client identifier for this attachment among all attachments on the owning message.
Next ID: 21
If unset - computed as the value of the first byte of SHA-256(msg=CONTACT_ID) modulo the count of colors. Once set the avatar color for a recipient is never recomputed or changed. `CONTACT_ID` is the first available identifier from the list: - ServiceIdToBinary(ACI) - E164 - ServiceIdToBinary(PNI) - Group Id
Used in: , ,
Used in: , ,
Starting index in UTF-16 code units/raw string representation
Length of range in UTF-16 code units/raw string representation
16-byte UUID
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
If missing, treat as DROPPABLE.
Used in:
Used in:
Folder includes all 1:1 chats, unless excluded
Folder includes all group chats, unless excluded
When non-zero, `position` should be set to -1 and includedRecipients should be empty
Represents the default "All chats" folder record vs all other custom folders
Used in:
16-byte UUID
Used in:
Used in:
16-byte UUID
16-byte UUID
0 means the blocked time is unknown
If unset, use the default settings
If unset, use the default settings
Used in:
Used in:
Used in: , , , , ,
service ID binary (i.e. 16 byte UUID for ACI, 1 byte prefix + 16 byte UUID for PNI)
Used in: , ,
NEXT ID: 30
Used in:
16-byte UUID
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
1,000,000,000,000 picoMob per Mob
Used in:
Optional, Refers to the PaymentRequest message, if any.
Used in:
Used in:
16-byte UUID
Used in:
Used in:
Used in:
Used in:
16-byte UUID
Used in:
Used in:
Used in:
16-byte UUID
Used in:
Used in:
16-byte UUID
Used in:
16-byte UUID
set to the public ratchet key from the SignalMessage if a 1-1 payload fails to decrypt
Used in: ,
Used in:
Contains an encrypted Content
indicates that the message should not be persisted if the recipient is offline
indicates that the content is considered timely by the sender; defaults to true so senders have to opt-out to say something isn't time critical
for number-change synchronization messages, provides the new server-assigned phone number identifier associated with the changed number
indicates that the content is a story.
token sent when reporting spam
service ID binary (i.e. 16 byte UUID for ACI, 1 byte prefix + 16 byte UUID for PNI)
service ID binary (i.e. 16 byte UUID for ACI, 1 byte prefix + 16 byte UUID for PNI)
16-byte UUID
16-byte UUID
Used in:
* A double-ratchet message represents a "normal," "unsealed-sender" message encrypted using the Double Ratchet within an established Signal session. Double-ratchet messages include sender information in the plaintext portion of the `Envelope`.
content => (version byte | SignalMessage{Content})
* A prekey message begins a new Signal session. The `content` of a prekey message is a superset of a double-ratchet message's `content` and contains the sender's identity public key and information identifying the pre-keys used in the message's ciphertext. Like double-ratchet messages, prekey messages contain sender information in the plaintext portion of the `Envelope`.
content => (version byte | PreKeySignalMessage{Content})
* Server delivery receipts are generated by the server when "unsealed-sender" messages are delivered to and acknowledged by the destination device. Server delivery receipts identify the sender in the plaintext portion of the `Envelope` and have no `content`. Note that receipts for sealed-sender messages are generated by clients as `UNIDENTIFIED_SENDER` messages. Note that, with server delivery receipts, the "client timestamp" on the envelope refers to the timestamp of the original message (i.e. the message the server just delivered) and not to the time of delivery. The "server timestamp" refers to the time of delivery.
content => []
* An unidentified sender message represents a message with no sender information in the plaintext portion of the `Envelope`. Unidentified sender messages always contain an additional `subtype` in their `content`. They may or may not be part of an existing Signal session (i.e. an unidentified sender message may have a "prekey message" subtype or may indicate an encryption error).
content => ((version byte | UnidentifiedSenderMessage) OR (version byte | Multi-Recipient Sealed Sender Format))
* A plaintext message is used solely to convey encryption error receipts and never contains encrypted message content. Encryption error receipts must be delivered in plaintext because, encryption/decryption of a prior message failed and there is no reason to believe that encryption/decryption of subsequent messages with the same key material would succeed. Critically, plaintext messages never have "real" message content generated by users. Plaintext messages include sender information.
content => (marker byte | Content)
Used in: ,
Used in:
Used in:
will be deprecated in favor of [notifyForMentionsIfMuted]
SHA-256 of UTF-8 encoded decrypted group title that was last verified
0 means the blocked time is unknown
If unset, use the default settings
If unset, use the default settings. If [dontNotifyForMentionsIfMuted] is true, this should be initialized to false.
If unset, use the default settings
If unset, use the default settings
Used in:
Next ID: 5
Used in:
Used in:
Used in:
0xAARRGGBB
24-hour clock int, 0000-2359 (e.g., 15, 900, 1130, 2345)
24-hour clock int, 0000-2359 (e.g., 15, 900, 1130, 2345)
Used in:
Interpret as "Monday"
Used in:
Used in: , ,
Used in:
Used in:
Used in:
Used in:
Signature *by* the PNI identity key *of* the ACI identity key
Used in: ,
Encrypted ProvisionMessage
32 bytes
32-bytes
16-byte UUID
16-byte UUID
16-bytes
An opaque address sent by the server when clients first open a provisioning WebSocket
The opaque provisioning address for the active provisioning WebSocket session; clients should not attempt to interpret or modify the contents of the address string
Used in:
Used in:
Used in: ,
Used in:
service ID binary (i.e. 16 byte UUID for ACI, 1 byte prefix + 16 byte UUID for PNI)
Used in:
16 bytes
32 bytes, used to derive the AES-256 key
aesKey = HKDF( input = packKey, salt = 32 zero bytes, info = "Sticker Pack" )
When displayed sticker packs should be first sorted
in ascending order by zero-based `position` and then by ascending `packId` (lexicographically, packId can be treated as a hex string). When installing a sticker pack the client should find the maximum `position` among currently known stickers and use `max_position + 1` as the value for the new `position`.
Timestamp in milliseconds. When present and
Used in: ,
Used in:
Used in:
service ID binary (i.e. 16 byte UUID for ACI, 1 byte prefix + 16 byte UUID for PNI)
Used in: ,
Used in:
Protobufs don't allow `repeated` fields to be inside of `oneof` so while the fields below are mutually exclusive with the rest of the values above we have to place them outside of `oneof`.
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
deprecated: this field will be removed in a future release.
deprecated: this field will be removed in a future release.
deprecated: this field will be removed in a future release.
Used in:
16-byte UUID
Used in:
Used in:
Used in:
Data identifying a conversation. The service ID for 1:1, the group ID for group, or the room ID for an ad-hoc call. See also `CallLogEvent/conversationId`.
An identifier for a call. Generated directly for 1:1, or derived from the era ID for group and ad-hoc calls. See also `CallLogEvent/callId`.
Used in:
Used in:
Used in:
Used in:
defaults to UPDATE
Used in:
Used in:
Data identifying a conversation. The service ID for 1:1, the group ID for group, or the room ID for an ad-hoc call. See also `CallEvent/conversationId`.
An identifier for a call. Generated directly for 1:1, or derived from the era ID for group and ad-hoc calls. See also `CallEvent/callId`.
Used in:
Used in:
Used in:
Used in:
Used in:
The `clientUuid` from `AttachmentPointer`.
SHA256 hash of the (encrypted, padded, etc.) attachment blob on the CDN.
SHA256 hash of the plaintext content of the attachment.
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
16-byte UUID
Used in:
Used in:
Used in:
Used in:
Serialized libsignal-client IdentityKeyPair
Serialized libsignal-client SignedPreKeyRecord
Serialized libsignal-client KyberPreKeyRecord
The e164 we have changed our number to
Used in:
16-byte UUID
Used in:
Used in:
Used in:
service ID binary (i.e. 16 byte UUID for ACI, 1 byte prefix + 16 byte UUID for PNI)
Used in:
service ID binary (i.e. 16 byte UUID for ACI, 1 byte prefix + 16 byte UUID for PNI)
Used in:
Only set for PNI destinations
service ID binary (i.e. 16 byte UUID for ACI, 1 byte prefix + 16 byte UUID for PNI)
Used in:
Used in:
Used in:
(message has no fields)
Used in:
16-byte UUID
Used in:
16-byte UUID
Used in:
integer representation of hex color
Color ordering: 0 degrees: bottom-to-top 90 degrees: left-to-right 180 degrees: top-to-bottom 270 degrees: right-to-left
Used in:
deprecated: this field will be removed in a future release.
deprecated: this field will be removed in a future release.
degrees
percent from 0 to 1
Used in:
Used in:
Used in:
Used in:
16-byte UUID
Used in:
Used in:
Used in:
Used in: