package signal.backup

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

message AccountData

Backup.proto:51

Used in: Frame

message AccountData.AccountSettings

Backup.proto:75

Used in: AccountData

message AccountData.IAPSubscriberData

Backup.proto:103

Used in: AccountData

enum AccountData.PhoneNumberSharingMode

Backup.proto:52

Used in: AccountSettings

message AccountData.SubscriberData

Backup.proto:97

Used in: AccountData

Backup.proto:57

Used in: AccountData

enum AccountData.UsernameLink.Color

Backup.proto:58

Used in: UsernameLink

message AdHocCall

Backup.proto:350

Used in: Frame

enum AdHocCall.State

Backup.proto:351

Used in: AdHocCall

enum AvatarColor

Backup.proto:150

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:13

message BodyRange

Backup.proto:770

Used in: Text

enum BodyRange.Style

Backup.proto:771

Used in: BodyRange

Backup.proto:336

* 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:337

Used in: CallLink

message Chat

Backup.proto:315

Used in: Frame

message ChatFolder

Backup.proto:1301

Used in: Frame

enum ChatFolder.FolderType

Backup.proto:1303

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

Used in: ChatFolder

message ChatItem

Backup.proto:389

Used in: Frame

message ChatItem.DirectionlessMessageDetails

Backup.proto:401

Used in: ChatItem

(message has no fields)

message ChatItem.IncomingMessageDetails

Backup.proto:390

Used in: ChatItem

message ChatItem.OutgoingMessageDetails

Backup.proto:397

Used in: ChatItem

message ChatStyle

Backup.proto:1183

Used in: AccountData.AccountSettings, Chat

message ChatStyle.AutomaticBubbleColor

Backup.proto:1200

Used in: ChatStyle

(message has no fields)

enum ChatStyle.BubbleColorPreset

Backup.proto:1228

Used in: ChatStyle

message ChatStyle.CustomChatColor

Backup.proto:1190

Used in: AccountData.AccountSettings

message ChatStyle.Gradient

Backup.proto:1184

Used in: CustomChatColor

enum ChatStyle.WallpaperPreset

Backup.proto:1203

Used in: ChatStyle

message ChatUpdateMessage

Backup.proto:801

Used in: ChatItem

message Contact

Backup.proto:165

Used in: Recipient

enum Contact.IdentityState

Backup.proto:166

Used in: Contact

message Contact.Name

Backup.proto:183

Used in: Contact

message Contact.NotRegistered

Backup.proto:173

Used in: Contact

message Contact.Registered

Backup.proto:172

Used in: Contact

(message has no fields)

enum Contact.Visibility

Backup.proto:177

Used in: Contact

message ContactAttachment

Backup.proto:581

Used in: ContactMessage

message ContactAttachment.Email

Backup.proto:605

Used in: ContactAttachment

enum ContactAttachment.Email.Type

Backup.proto:606

Used in: Email

message ContactAttachment.Name

Backup.proto:582

Used in: ContactAttachment

message ContactAttachment.Phone

Backup.proto:591

Used in: ContactAttachment

enum ContactAttachment.Phone.Type

Backup.proto:592

Used in: Phone

message ContactAttachment.PostalAddress

Backup.proto:619

Used in: ContactAttachment

enum ContactAttachment.PostalAddress.Type

Backup.proto:620

Used in: PostalAddress

message ContactMessage

Backup.proto:494

Used in: ChatItem

message DirectStoryReplyMessage

Backup.proto:499

Used in: ChatItem

message DirectStoryReplyMessage.TextReply

Backup.proto:500

Used in: DirectStoryReplyMessage

message DistributionList

Backup.proto:375

Used in: DistributionListItem

enum DistributionList.PrivacyMode

Backup.proto:376

Used in: DistributionList

message DistributionListItem

Backup.proto:363

Used in: Recipient

message ExpirationTimerChatUpdate

Backup.proto:906

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

Used in: ChatUpdateMessage

message FilePointer

Backup.proto:695

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

message FilePointer.AttachmentLocator

Backup.proto:715

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:697

References attachments in the backup (media) storage tier.

Used in: FilePointer

message FilePointer.InvalidAttachmentLocator

Backup.proto:729

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:37

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:977

Used in: GroupChangeChatUpdate.Update

message GiftBadge

Backup.proto:563

Used in: ChatItem

enum GiftBadge.State

Backup.proto:564

Used in: GiftBadge

message Group

Backup.proto:216

Used in: Recipient

message Group.AccessControl

Backup.proto:294

Used in: GroupSnapshot

enum Group.AccessControl.AccessRequired

Backup.proto:295

Used in: AccessControl

message Group.GroupAttributeBlob

Backup.proto:252

Used in: GroupSnapshot

message Group.GroupSnapshot

Backup.proto:236

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:262

Used in: GroupSnapshot, MemberPendingProfileKey

enum Group.Member.Role

Backup.proto:263

Used in: Member

message Group.MemberBanned

Backup.proto:289

Used in: GroupSnapshot

message Group.MemberPendingAdminApproval

Backup.proto:282

Used in: GroupSnapshot

message Group.MemberPendingProfileKey

Backup.proto:276

Used in: GroupSnapshot

enum Group.StorySendMode

Backup.proto:217

Used in: Group

message GroupAdminStatusUpdate

Backup.proto:1025

Used in: GroupChangeChatUpdate.Update

message GroupAnnouncementOnlyChangeUpdate

Backup.proto:1020

Used in: GroupChangeChatUpdate.Update

message GroupAttributesAccessLevelChangeUpdate

Backup.proto:1015

Used in: GroupChangeChatUpdate.Update

message GroupAvatarUpdate

Backup.proto:991

Used in: GroupChangeChatUpdate.Update

message GroupCall

Backup.proto:849

Used in: ChatUpdateMessage

enum GroupCall.State

Backup.proto:850

Used in: GroupCall

message GroupChangeChatUpdate

Backup.proto:931

Used in: ChatUpdateMessage

message GroupChangeChatUpdate.Update

Backup.proto:932

Used in: GroupChangeChatUpdate

message GroupCreationUpdate

Backup.proto:981

Used in: GroupChangeChatUpdate.Update

message GroupDescriptionUpdate

Backup.proto:996

Used in: GroupChangeChatUpdate.Update

message GroupExpirationTimerUpdate

Backup.proto:1173

For 1:1 timer updates, use ExpirationTimerChatUpdate.

Used in: GroupChangeChatUpdate.Update

message GroupInvitationAcceptedUpdate

Backup.proto:1056

Used in: GroupChangeChatUpdate.Update

message GroupInvitationDeclinedUpdate

Backup.proto:1061

Used in: GroupChangeChatUpdate.Update

message GroupInvitationRevokedUpdate

Backup.proto:1087

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:1088

Used in: GroupInvitationRevokedUpdate

message GroupInviteLinkAdminApprovalUpdate

Backup.proto:1138

Used in: GroupChangeChatUpdate.Update

message GroupInviteLinkDisabledUpdate

Backup.proto:1143

Used in: GroupChangeChatUpdate.Update

message GroupInviteLinkEnabledUpdate

Backup.proto:1133

Used in: GroupChangeChatUpdate.Update

message GroupInviteLinkResetUpdate

Backup.proto:1129

Used in: GroupChangeChatUpdate.Update

message GroupJoinRequestApprovalUpdate

Backup.proto:1107

Used in: GroupChangeChatUpdate.Update

message GroupJoinRequestCanceledUpdate

Backup.proto:1114

Used in: GroupChangeChatUpdate.Update

message GroupJoinRequestUpdate

Backup.proto:1103

Used in: GroupChangeChatUpdate.Update

message GroupMemberAddedUpdate

Backup.proto:1071

Used in: GroupChangeChatUpdate.Update

message GroupMemberJoinedByLinkUpdate

Backup.proto:1147

Used in: GroupChangeChatUpdate.Update

message GroupMemberJoinedUpdate

Backup.proto:1067

Used in: GroupChangeChatUpdate.Update

message GroupMemberLeftUpdate

Backup.proto:1032

Used in: GroupChangeChatUpdate.Update

message GroupMemberRemovedUpdate

Backup.proto:1036

Used in: GroupChangeChatUpdate.Update

message GroupMembershipAccessLevelChangeUpdate

Backup.proto:1010

Used in: GroupChangeChatUpdate.Update

message GroupNameUpdate

Backup.proto:985

Used in: GroupChangeChatUpdate.Update

message GroupSelfInvitationRevokedUpdate

Backup.proto:1080

An invitation to self was revoked.

Used in: GroupChangeChatUpdate.Update

message GroupSequenceOfRequestsAndCancelsUpdate

Backup.proto:1124

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:1050

Used in: GroupChangeChatUpdate.Update

enum GroupV2AccessLevel

Backup.proto:1002

Used in: GroupAttributesAccessLevelChangeUpdate, GroupMembershipAccessLevelChangeUpdate

message GroupV2MigrationDroppedMembersUpdate

Backup.proto:1168

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:1161

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:1156

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:1152

A gv1->gv2 migration occurred.

Used in: GroupChangeChatUpdate.Update

(message has no fields)

message IndividualCall

Backup.proto:816

Used in: ChatUpdateMessage

enum IndividualCall.Direction

Backup.proto:823

Used in: IndividualCall

enum IndividualCall.State

Backup.proto:829

Used in: IndividualCall

enum IndividualCall.Type

Backup.proto:817

Used in: IndividualCall

message LearnedProfileChatUpdate

Backup.proto:915

Used in: ChatUpdateMessage

message LinkPreview

Backup.proto:666

Used in: StandardMessage

message MessageAttachment

Backup.proto:676

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:680

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:1276

Used in: Frame

enum NotificationProfile.DayOfWeek

Backup.proto:1277

Used in: NotificationProfile

message PaymentNotification

Backup.proto:515

Used in: ChatItem

message PaymentNotification.TransactionDetails

Backup.proto:516

Used in: PaymentNotification

message PaymentNotification.TransactionDetails.FailedTransaction

Backup.proto:522

Failed payments can't be synced from the ledger

Used in: TransactionDetails

enum PaymentNotification.TransactionDetails.FailedTransaction.FailureReason

Backup.proto:523

Used in: FailedTransaction

message PaymentNotification.TransactionDetails.MobileCoinTxoIdentification

Backup.proto:517

Used to map to payments on the ledger

Used in: Transaction

message PaymentNotification.TransactionDetails.Transaction

Backup.proto:531

Used in: TransactionDetails

enum PaymentNotification.TransactionDetails.Transaction.Status

Backup.proto:532

Used in: Transaction

message ProfileChangeChatUpdate

Backup.proto:910

Used in: ChatUpdateMessage

message Quote

Backup.proto:749

Used in: StandardMessage

message Quote.QuotedAttachment

Backup.proto:757

Used in: Quote

enum Quote.Type

Backup.proto:750

Used in: Quote

message Reaction

Backup.proto:792

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

message Recipient

Backup.proto:128

Used in: Frame

message ReleaseNotes

Backup.proto:313

Used in: Recipient

(message has no fields)

message RemoteDeletedMessage

Backup.proto:652

Tombstone for remote delete

Used in: ChatItem

(message has no fields)

message Self

Backup.proto:309

Used in: Recipient

message SelfInvitedOtherUserToGroupUpdate

Backup.proto:1045

Used in: GroupChangeChatUpdate.Update

message SelfInvitedToGroupUpdate

Backup.proto:1041

Used in: GroupChangeChatUpdate.Update

message SendStatus

Backup.proto:433

Used in: ChatItem.OutgoingMessageDetails

message SendStatus.Delivered

Backup.proto:440

Used in: SendStatus

message SendStatus.Failed

Backup.proto:455

Used in: SendStatus

enum SendStatus.Failed.FailureReason

Backup.proto:456

Used in: Failed

message SendStatus.Pending

Backup.proto:434

Used in: SendStatus

(message has no fields)

message SendStatus.Read

Backup.proto:444

Used in: SendStatus

message SendStatus.Sent

Backup.proto:436

Used in: SendStatus

message SendStatus.Skipped

Backup.proto:453

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:448

Used in: SendStatus

message SessionSwitchoverChatUpdate

Backup.proto:927

Used in: ChatUpdateMessage

message SimpleChatUpdate

Backup.proto:880

Used in: ChatUpdateMessage

enum SimpleChatUpdate.Type

Backup.proto:881

Used in: SimpleChatUpdate

message StandardMessage

Backup.proto:485

Used in: ChatItem

message Sticker

Backup.proto:654

Used in: StickerMessage

message StickerMessage

Backup.proto:646

Used in: ChatItem

message StickerPack

Backup.proto:1178

Used in: Frame

message Text

Backup.proto:480

Used in: DirectStoryReplyMessage.TextReply, Quote, StandardMessage

message ThreadMergeChatUpdate

Backup.proto:923

Used in: ChatUpdateMessage

message ViewOnceMessage

Backup.proto:575

Used in: ChatItem