package signal.backup

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

message AccountData

Backup.proto:46

Used in: Frame

message AccountData.AccountSettings

Backup.proto:70

Used in: AccountData

message AccountData.IAPSubscriberData

Backup.proto:98

Used in: AccountData

enum AccountData.PhoneNumberSharingMode

Backup.proto:47

Used in: AccountSettings

message AccountData.SubscriberData

Backup.proto:92

Used in: AccountData

Backup.proto:52

Used in: AccountData

enum AccountData.UsernameLink.Color

Backup.proto:53

Used in: UsernameLink

message AdHocCall

Backup.proto:345

Used in: Frame

enum AdHocCall.State

Backup.proto:346

Used in: AdHocCall

enum AvatarColor

Backup.proto:145

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: Contact, Group, Self

message BackupInfo

Backup.proto:8

message BodyRange

Backup.proto:765

Used in: Text

enum BodyRange.Style

Backup.proto:766

Used in: BodyRange

Backup.proto:331

* Call Links have some associated data including a call, but unlike other recipients are not tied to threads because they do not have messages associated with them. note: - room id can be derived from the root key - the presence of an admin key means this user is a call admin

Used in: Recipient

enum CallLink.Restrictions

Backup.proto:332

Used in: CallLink

message Chat

Backup.proto:310

Used in: Frame

message ChatFolder

Backup.proto:1296

Used in: Frame

enum ChatFolder.FolderType

Backup.proto:1298

Represents the default "All chats" folder record vs all other custom folders

Used in: ChatFolder

message ChatItem

Backup.proto:384

Used in: Frame

message ChatItem.DirectionlessMessageDetails

Backup.proto:396

Used in: ChatItem

(message has no fields)

message ChatItem.IncomingMessageDetails

Backup.proto:385

Used in: ChatItem

message ChatItem.OutgoingMessageDetails

Backup.proto:392

Used in: ChatItem

message ChatStyle

Backup.proto:1178

Used in: AccountData.AccountSettings, Chat

message ChatStyle.AutomaticBubbleColor

Backup.proto:1195

Used in: ChatStyle

(message has no fields)

enum ChatStyle.BubbleColorPreset

Backup.proto:1223

Used in: ChatStyle

message ChatStyle.CustomChatColor

Backup.proto:1185

Used in: AccountData.AccountSettings

message ChatStyle.Gradient

Backup.proto:1179

Used in: CustomChatColor

enum ChatStyle.WallpaperPreset

Backup.proto:1198

Used in: ChatStyle

message ChatUpdateMessage

Backup.proto:796

Used in: ChatItem

message Contact

Backup.proto:160

Used in: Recipient

enum Contact.IdentityState

Backup.proto:161

Used in: Contact

message Contact.Name

Backup.proto:178

Used in: Contact

message Contact.NotRegistered

Backup.proto:168

Used in: Contact

message Contact.Registered

Backup.proto:167

Used in: Contact

(message has no fields)

enum Contact.Visibility

Backup.proto:172

Used in: Contact

message ContactAttachment

Backup.proto:576

Used in: ContactMessage

message ContactAttachment.Email

Backup.proto:600

Used in: ContactAttachment

enum ContactAttachment.Email.Type

Backup.proto:601

Used in: Email

message ContactAttachment.Name

Backup.proto:577

Used in: ContactAttachment

message ContactAttachment.Phone

Backup.proto:586

Used in: ContactAttachment

enum ContactAttachment.Phone.Type

Backup.proto:587

Used in: Phone

message ContactAttachment.PostalAddress

Backup.proto:614

Used in: ContactAttachment

enum ContactAttachment.PostalAddress.Type

Backup.proto:615

Used in: PostalAddress

message ContactMessage

Backup.proto:489

Used in: ChatItem

message DirectStoryReplyMessage

Backup.proto:494

Used in: ChatItem

message DirectStoryReplyMessage.TextReply

Backup.proto:495

Used in: DirectStoryReplyMessage

message DistributionList

Backup.proto:370

Used in: DistributionListItem

enum DistributionList.PrivacyMode

Backup.proto:371

Used in: DistributionList

message DistributionListItem

Backup.proto:358

Used in: Recipient

message ExpirationTimerChatUpdate

Backup.proto:901

For 1:1 chat updates only. For group thread updates use GroupExpirationTimerUpdate.

Used in: ChatUpdateMessage

message FilePointer

Backup.proto:690

Used in: ChatStyle, ContactAttachment, DirectStoryReplyMessage.TextReply, LinkPreview, MessageAttachment, StandardMessage, Sticker

message FilePointer.AttachmentLocator

Backup.proto:710

References attachments in the transit storage tier. May be downloaded or not when the backup is generated; primarily for free-tier users who cannot copy the attachments to the backup (media) storage tier.

Used in: FilePointer

message FilePointer.BackupLocator

Backup.proto:692

References attachments in the backup (media) storage tier.

Used in: FilePointer

message FilePointer.InvalidAttachmentLocator

Backup.proto:724

References attachments that are invalid in such a way where download cannot be attempted. Could range from missing digests to missing CDN keys or anything else that makes download attempts impossible. This serves as a 'tombstone' so that the UX can show that an attachment did exist, but for whatever reason it's not retrievable.

Used in: FilePointer

(message has no fields)

message Frame

Backup.proto:32

Frames must follow in the following ordering rules: 1. There is exactly one AccountData and it is the first frame. 2. A frame referenced by ID must come before the referencing frame. e.g. a Recipient must come before any Chat referencing it. 3. All ChatItems must appear in global Chat rendering order. (The order in which they were received by the client.) 4. ChatFolders must appear in render order (e.g., left to right for LTR locales), but can appear anywhere relative to other frames respecting rule 2 (after Recipients and Chats). Recipients, Chats, StickerPacks, AdHocCalls, and NotificationProfiles can be in any order. (But must respect rule 2.) For example, Chats may all be together at the beginning, or may each immediately precede its first ChatItem.

message GenericGroupUpdate

Backup.proto:972

Used in: GroupChangeChatUpdate.Update

message GiftBadge

Backup.proto:558

Used in: ChatItem

enum GiftBadge.State

Backup.proto:559

Used in: GiftBadge

message Group

Backup.proto:211

Used in: Recipient

message Group.AccessControl

Backup.proto:289

Used in: GroupSnapshot

enum Group.AccessControl.AccessRequired

Backup.proto:290

Used in: AccessControl

message Group.GroupAttributeBlob

Backup.proto:247

Used in: GroupSnapshot

message Group.GroupSnapshot

Backup.proto:231

These are simply plaintext copies of the groups proto from Groups.proto. They should be kept completely in-sync with Groups.proto. These exist to allow us to have the latest snapshot of a group during restoration without having to hit the network. We would use Groups.proto if we could, but we want a plaintext version to improve export readability. For documentation, defer to Groups.proto. The only name change is Group -> GroupSnapshot to avoid the naming conflict.

Used in: Group

message Group.Member

Backup.proto:257

Used in: GroupSnapshot, MemberPendingProfileKey

enum Group.Member.Role

Backup.proto:258

Used in: Member

message Group.MemberBanned

Backup.proto:284

Used in: GroupSnapshot

message Group.MemberPendingAdminApproval

Backup.proto:277

Used in: GroupSnapshot

message Group.MemberPendingProfileKey

Backup.proto:271

Used in: GroupSnapshot

enum Group.StorySendMode

Backup.proto:212

Used in: Group

message GroupAdminStatusUpdate

Backup.proto:1020

Used in: GroupChangeChatUpdate.Update

message GroupAnnouncementOnlyChangeUpdate

Backup.proto:1015

Used in: GroupChangeChatUpdate.Update

message GroupAttributesAccessLevelChangeUpdate

Backup.proto:1010

Used in: GroupChangeChatUpdate.Update

message GroupAvatarUpdate

Backup.proto:986

Used in: GroupChangeChatUpdate.Update

message GroupCall

Backup.proto:844

Used in: ChatUpdateMessage

enum GroupCall.State

Backup.proto:845

Used in: GroupCall

message GroupChangeChatUpdate

Backup.proto:926

Used in: ChatUpdateMessage

message GroupChangeChatUpdate.Update

Backup.proto:927

Used in: GroupChangeChatUpdate

message GroupCreationUpdate

Backup.proto:976

Used in: GroupChangeChatUpdate.Update

message GroupDescriptionUpdate

Backup.proto:991

Used in: GroupChangeChatUpdate.Update

message GroupExpirationTimerUpdate

Backup.proto:1168

For 1:1 timer updates, use ExpirationTimerChatUpdate.

Used in: GroupChangeChatUpdate.Update

message GroupInvitationAcceptedUpdate

Backup.proto:1051

Used in: GroupChangeChatUpdate.Update

message GroupInvitationDeclinedUpdate

Backup.proto:1056

Used in: GroupChangeChatUpdate.Update

message GroupInvitationRevokedUpdate

Backup.proto:1082

These invitees should never be the local user. Use GroupSelfInvitationRevokedUpdate in those cases. The inviter or updater can be the local user.

Used in: GroupChangeChatUpdate.Update

message GroupInvitationRevokedUpdate.Invitee

Backup.proto:1083

Used in: GroupInvitationRevokedUpdate

message GroupInviteLinkAdminApprovalUpdate

Backup.proto:1133

Used in: GroupChangeChatUpdate.Update

message GroupInviteLinkDisabledUpdate

Backup.proto:1138

Used in: GroupChangeChatUpdate.Update

message GroupInviteLinkEnabledUpdate

Backup.proto:1128

Used in: GroupChangeChatUpdate.Update

message GroupInviteLinkResetUpdate

Backup.proto:1124

Used in: GroupChangeChatUpdate.Update

message GroupJoinRequestApprovalUpdate

Backup.proto:1102

Used in: GroupChangeChatUpdate.Update

message GroupJoinRequestCanceledUpdate

Backup.proto:1109

Used in: GroupChangeChatUpdate.Update

message GroupJoinRequestUpdate

Backup.proto:1098

Used in: GroupChangeChatUpdate.Update

message GroupMemberAddedUpdate

Backup.proto:1066

Used in: GroupChangeChatUpdate.Update

message GroupMemberJoinedByLinkUpdate

Backup.proto:1142

Used in: GroupChangeChatUpdate.Update

message GroupMemberJoinedUpdate

Backup.proto:1062

Used in: GroupChangeChatUpdate.Update

message GroupMemberLeftUpdate

Backup.proto:1027

Used in: GroupChangeChatUpdate.Update

message GroupMemberRemovedUpdate

Backup.proto:1031

Used in: GroupChangeChatUpdate.Update

message GroupMembershipAccessLevelChangeUpdate

Backup.proto:1005

Used in: GroupChangeChatUpdate.Update

message GroupNameUpdate

Backup.proto:980

Used in: GroupChangeChatUpdate.Update

message GroupSelfInvitationRevokedUpdate

Backup.proto:1075

An invitation to self was revoked.

Used in: GroupChangeChatUpdate.Update

message GroupSequenceOfRequestsAndCancelsUpdate

Backup.proto:1119

A single requestor has requested to join and cancelled their request repeatedly with no other updates in between. The last action encompassed by this update is always a cancellation; if there was another open request immediately after, it will be a separate GroupJoinRequestUpdate, either in the same frame or in a subsequent frame.

Used in: GroupChangeChatUpdate.Update

message GroupUnknownInviteeUpdate

Backup.proto:1045

Used in: GroupChangeChatUpdate.Update

enum GroupV2AccessLevel

Backup.proto:997

Used in: GroupAttributesAccessLevelChangeUpdate, GroupMembershipAccessLevelChangeUpdate

message GroupV2MigrationDroppedMembersUpdate

Backup.proto:1163

The local user migrated gv1->gv2 but was unable to add or invite some members and dropped them instead. (Happens for e164 members where we don't have an aci).

Used in: GroupChangeChatUpdate.Update

message GroupV2MigrationInvitedMembersUpdate

Backup.proto:1156

The local user migrated gv1->gv2 but was unable to add some members and invited them instead. (Happens if we don't have the invitee's profile key)

Used in: GroupChangeChatUpdate.Update

message GroupV2MigrationSelfInvitedUpdate

Backup.proto:1151

Another user migrated gv1->gv2 but was unable to add the local user and invited them instead.

Used in: GroupChangeChatUpdate.Update

(message has no fields)

message GroupV2MigrationUpdate

Backup.proto:1147

A gv1->gv2 migration occurred.

Used in: GroupChangeChatUpdate.Update

(message has no fields)

message IndividualCall

Backup.proto:811

Used in: ChatUpdateMessage

enum IndividualCall.Direction

Backup.proto:818

Used in: IndividualCall

enum IndividualCall.State

Backup.proto:824

Used in: IndividualCall

enum IndividualCall.Type

Backup.proto:812

Used in: IndividualCall

message LearnedProfileChatUpdate

Backup.proto:910

Used in: ChatUpdateMessage

message LinkPreview

Backup.proto:661

Used in: StandardMessage

message MessageAttachment

Backup.proto:671

A FilePointer on a message that has additional metadata that applies only to message attachments.

Used in: Quote.QuotedAttachment, StandardMessage, ViewOnceMessage

enum MessageAttachment.Flag

Backup.proto:675

Similar to SignalService.AttachmentPointer.Flags, but explicitly mutually exclusive. Note the different raw values (non-zero starting values are not supported in proto3.)

Used in: MessageAttachment

message NotificationProfile

Backup.proto:1271

Used in: Frame

enum NotificationProfile.DayOfWeek

Backup.proto:1272

Used in: NotificationProfile

message PaymentNotification

Backup.proto:510

Used in: ChatItem

message PaymentNotification.TransactionDetails

Backup.proto:511

Used in: PaymentNotification

message PaymentNotification.TransactionDetails.FailedTransaction

Backup.proto:517

Failed payments can't be synced from the ledger

Used in: TransactionDetails

enum PaymentNotification.TransactionDetails.FailedTransaction.FailureReason

Backup.proto:518

Used in: FailedTransaction

message PaymentNotification.TransactionDetails.MobileCoinTxoIdentification

Backup.proto:512

Used to map to payments on the ledger

Used in: Transaction

message PaymentNotification.TransactionDetails.Transaction

Backup.proto:526

Used in: TransactionDetails

enum PaymentNotification.TransactionDetails.Transaction.Status

Backup.proto:527

Used in: Transaction

message ProfileChangeChatUpdate

Backup.proto:905

Used in: ChatUpdateMessage

message Quote

Backup.proto:744

Used in: StandardMessage

message Quote.QuotedAttachment

Backup.proto:752

Used in: Quote

enum Quote.Type

Backup.proto:745

Used in: Quote

message Reaction

Backup.proto:787

Used in: ContactMessage, DirectStoryReplyMessage, StandardMessage, StickerMessage, ViewOnceMessage

message Recipient

Backup.proto:123

Used in: Frame

message ReleaseNotes

Backup.proto:308

Used in: Recipient

(message has no fields)

message RemoteDeletedMessage

Backup.proto:647

Tombstone for remote delete

Used in: ChatItem

(message has no fields)

message Self

Backup.proto:304

Used in: Recipient

message SelfInvitedOtherUserToGroupUpdate

Backup.proto:1040

Used in: GroupChangeChatUpdate.Update

message SelfInvitedToGroupUpdate

Backup.proto:1036

Used in: GroupChangeChatUpdate.Update

message SendStatus

Backup.proto:428

Used in: ChatItem.OutgoingMessageDetails

message SendStatus.Delivered

Backup.proto:435

Used in: SendStatus

message SendStatus.Failed

Backup.proto:450

Used in: SendStatus

enum SendStatus.Failed.FailureReason

Backup.proto:451

Used in: Failed

message SendStatus.Pending

Backup.proto:429

Used in: SendStatus

(message has no fields)

message SendStatus.Read

Backup.proto:439

Used in: SendStatus

message SendStatus.Sent

Backup.proto:431

Used in: SendStatus

message SendStatus.Skipped

Backup.proto:448

e.g. user in group was blocked, so we skipped sending to them

Used in: SendStatus

(message has no fields)

message SendStatus.Viewed

Backup.proto:443

Used in: SendStatus

message SessionSwitchoverChatUpdate

Backup.proto:922

Used in: ChatUpdateMessage

message SimpleChatUpdate

Backup.proto:875

Used in: ChatUpdateMessage

enum SimpleChatUpdate.Type

Backup.proto:876

Used in: SimpleChatUpdate

message StandardMessage

Backup.proto:480

Used in: ChatItem

message Sticker

Backup.proto:649

Used in: StickerMessage

message StickerMessage

Backup.proto:641

Used in: ChatItem

message StickerPack

Backup.proto:1173

Used in: Frame

message Text

Backup.proto:475

Used in: DirectStoryReplyMessage.TextReply, Quote, StandardMessage

message ThreadMergeChatUpdate

Backup.proto:918

Used in: ChatUpdateMessage

message ViewOnceMessage

Backup.proto:570

Used in: ChatItem