IP Library Granted Patent US 12675606
Granted Patent B2
US 12675606 · App. 18/203,339 · Granted Jul 7, 2026

Integration between messaging systems and collaborative applications

Inventors: Stephen M. Lottermoser (San Jose, CA); Alejandro A. Rodriguez (Saratoga, CA); Alexandre S. Lacour (San Francisco, CA); Charles Circlaeys (San Francisco, CA); Craig M. Federighi (Los Altos Hills, CA); Delfina Jovanovska (San Francisco, CA); Devin O. Clary (Scotts Valley, CA); Elana L Stettin (San Francisco, CA); Elliot A. Barer (Santa Clara, CA); Jae Woo Chang (Cupertino, CA); Johannes B. Fortmann (Oakland, CA); Miranda J. Zhou (San Jose, CA); Nihar Sharma (Detroit, MI); Pierre J. De Filippis (Los Gatos, CA); Richard B. Blair (San Jose, CA); Ryan A. Williams (Morgan Hill, CA); Vasilios E. Anton (San Francisco, CA)
Assignee: Apple Inc.
G06F21/6254G06F21/602
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12675606
App. No.
18/203,339
Granted
Jul 7, 2026
Kind
B2
Abstract

Aspects of the subject technology provide for integration between a messaging system and a collaborative application. A messaging system may receive, via user input, an instruction to create a message thread with a plurality of user accounts. The message thread may include a document link associated with a collaborative application. The messaging system may generate, for each of the user accounts, an obfuscated identifier associated with that user account and a document link. The messaging system may provide the obfuscated identifiers to the collaborative application. An initial message exchanged between the plurality of user accounts with the document link in the message thread may establish, for the collaborative application, the obfuscated identifiers that will be associated with the document link.

Claims (64)

1 . A method, comprising:

receiving, via a user input to a messaging system, a plurality of identifiers, respectively, for a plurality of user accounts with the messaging system along with an instruction to create a message thread with the plurality of user accounts, the message thread including a document identifier associated with a document that is viewable using a collaborative application separate from the messaging system;

generating, for each of the plurality of user accounts, an obfuscated identifier that is based on a corresponding one of the plurality of identifiers for that user account and the document identifier; and

wherein an instruction, received by the messaging system, to transmit an initial message via the messaging system between the plurality of user accounts with a document link for the document in the message thread results in:

transmitting the initial message via the messaging system between the plurality of user accounts, and

sending, by the messaging system to the collaborative application, the obfuscated identifiers that will be associated with the document link for the document.

2 . The method of claim 1 , wherein the messaging system is configured to communicate with the collaborative application via one or more APIs (Application Program Interfaces).

3 . The method of claim 1 , wherein the messaging system includes at least one of an application executing code instantiated on a user device and/or a server remote to the user device.

4 . The method of claim 1 , wherein the collaborative application is associated with a first entity and the messaging system is associated with a second entity.

5 . The method of claim 1 , wherein, responsive to the instruction to create the message thread, a user corresponding to one of the plurality of user accounts is presented with one or more collaboration sharing options that govern information shared between the messaging system and the collaborative application.

6 . The method of claim 1 , further comprising, before receiving the instruction to create the message thread with the plurality of user accounts:

sending, by the messaging system to the collaborative application, a request to share access to the document.

7 . The method of claim 1 , further comprising, before receiving the instruction to create the message thread with the plurality of user accounts:

populating, in response to receiving a request to share access to the document and by the messaging system, the initial message including an object associated with the document link.

8 . The method of claim 7 , wherein the object comprises one or more selectable preferences for the document link.

9 . The method of claim 1 , wherein, for each of the plurality of user accounts, the obfuscated identifier that is based on the corresponding one of the plurality of identifiers and the document link is based on a Merkle tree associated with at least one device associated with that user account and the document identifier.

10 . The method of claim 9 , wherein the at least one device comprises multiple devices and wherein generating the obfuscated identifier that is based on the corresponding one of the plurality of identifiers for each user account and the document link comprises:

generating the Merkle tree by combining a respective public key associated with each of the multiple devices; and

generating a hash of the Merkle tree.

11 . The method of claim 1 , wherein the plurality of identifiers for the plurality of user accounts with the messaging system each comprise contact information that is accessible by the messaging system and inaccessible by the collaborative application, and wherein the obfuscated identifiers obfuscate the contact information from the collaborative application.

12 . The method of claim 1 , further comprising providing, by the collaborative application, the obfuscated identifier for each of the plurality of user accounts to a server associated with the collaborative application.

13 . The method of claim 1 , wherein the document link, when selected at a device associated with a particular user account of the plurality of user accounts, is configured to cause the device to determine that the particular user account is authorized to access the document link based on the obfuscated identifier for the particular user account and a private key of the device.

14 . A messaging system configured to:

receive, via a user input to the messaging system, a plurality of identifiers, respectively, for a plurality of user accounts with the messaging system along with an instruction to create a message thread with the plurality of user accounts, the message thread including a document identifier associated with a document that is viewable using a collaborative application separate from the messaging system;

generate, for each of the plurality of user accounts, an obfuscated identifier that is based on a corresponding one of the plurality of identifiers for that user account and the document identifier; and

wherein an instruction, received by the messaging system, to transmit an initial message via the messaging system between the plurality of user accounts with a document link for the document in the message thread results in:

transmitting the initial message via the messaging system between the plurality of user accounts, and

sending, by the messaging system to the collaborative application, the obfuscated identifiers that will be associated with the document link for the document.

15 . The messaging system of claim 14 , wherein the messaging system is further configured to communicate with the collaborative application via one or more APIs (Application Program Interfaces).

16 . The messaging system of claim 14 , wherein the messaging system includes at least one of an application executing code instantiated on a user device and/or a server remote to the user device.

17 . The messaging system of claim 14 , wherein the collaborative application is associated with a first entity and the messaging system is associated with a second entity.

18 . The messaging system of claim 14 , wherein, responsive to the instruction to create the message thread, a user corresponding to one of the plurality of user accounts is presented with one or more collaboration sharing options that govern information shared between the messaging system and the collaborative application.

19 . The messaging system of claim 14 , wherein the messaging system is further configured to, before receiving the instruction to create the message thread with the plurality of user accounts:

send, by the messaging system to the collaborative application, a request to share access to the document.

20 . The messaging system of claim 14 , wherein the messaging system is further configured to, before receiving the instruction to create the message thread with the plurality of user accounts:

populate, in response to receiving a request to share access to the document and by the messaging system, the initial message including an object associated with the document link.

21 . The messaging system of claim 20 , wherein the object comprises one or more selectable preferences for the document link.

22 . The messaging system of claim 14 , wherein the obfuscated identifier that is based on the corresponding one of the plurality of identifiers for each user account and the document link is based on a Merkle tree associated with at least one device associated with that user account and the document identifier.

23 . The messaging system of claim 22 , wherein the at least one device comprises multiple devices and wherein generating the obfuscated identifier that is based on the corresponding one of the plurality of identifiers for each user account and the document link comprises:

generating the Merkle tree by combining a respective public key associated with each of the multiple devices; and

generating a hash of the Merkle tree.

24 . The messaging system of claim 14 , wherein the plurality of identifiers for the plurality of user accounts with the messaging system each comprise contact information accessible by the messaging system and inaccessible by the collaborative application, and wherein the obfuscated identifiers obfuscate the contact information from the collaborative application.

25 . The messaging system of claim 14 , wherein the document link, when selected at a device associated with a particular user account of the plurality of user accounts, is configured to cause the device to determine that the particular user account is authorized to access the document link based on the obfuscated identifier for the particular user account and a private key of the device.

26 . A non-transitory computer-readable medium storing instructions which, when executed by one or more processors, cause the one or more processors to perform operations comprising:

receiving, via a user input to a messaging system, a plurality of identifiers, respectively, for a plurality of user accounts with the messaging system along with an instruction to create a message thread with the plurality of user accounts, the message thread including a document identifier associated with a document that is viewable using a collaborative application separate from the messaging system;

generating, for each of the plurality of user accounts, an obfuscated identifier that is based on a corresponding one of the plurality of identifiers for that user account and the document identifier; and

wherein an instruction, received by the messaging system, to transmit an initial message via the messaging system between the plurality of user accounts with a document link for the document in the message thread results in:

transmitting the initial message via the messaging system between the plurality of user accounts, and

sending, by the messaging system to the collaborative application, the obfuscated identifiers that will be associated with the document link for the document.

27 . The non-transitory computer-readable medium of claim 26 , wherein the messaging system is configured to communicate with the collaborative application via one or more APIs (Application Program Interfaces).

28 . The non-transitory computer-readable medium of claim 26 , wherein the messaging system includes at least one of an application executing code instantiated on a user device and/or a server remote to the user device.

29 . The non-transitory computer-readable medium of claim 26 , wherein the collaborative application is associated with a first entity and the messaging system is associated with a second entity.

30 . The non-transitory computer-readable medium of claim 26 , wherein, responsive to the instruction to create the message thread, a user corresponding to one of the plurality of user accounts is presented with one or more collaboration sharing options that govern information shared between the messaging system and the collaborative application.

31 . The non-transitory computer-readable medium of claim 26 , the operations further comprising, before receiving the instruction to create the message thread with the plurality of user accounts:

sending, by the messaging system to the collaborative application, a request to share access to the document.

32 . The non-transitory computer-readable medium of claim 26 , the operations further comprising, before receiving the instruction to create the message thread with the plurality of user accounts:

populating, in response to receiving a request to share access to the document and by the messaging system, the initial message including an object associated with the document link.

33 . The non-transitory computer-readable medium of claim 32 , wherein the object comprises one or more selectable preferences for the document link.

34 . The non-transitory computer-readable medium of claim 26 , wherein the obfuscated identifier that is based on the corresponding one of the plurality of identifiers for each user account and the document link is based on a Merkle tree associated with at least one device associated with that user account and a document identifier.

35 . The non-transitory computer-readable medium of claim 34 , wherein the at least one device comprises multiple devices and wherein generating the obfuscated identifier that is based on the corresponding one of the plurality of identifiers for each user account and the document link comprises:

generating the Merkle tree by combining a respective public key associated with each of the multiple devices; and

generating a hash of the Merkle tree.

36 . The non-transitory computer-readable medium of claim 26 , wherein the plurality of identifiers for the plurality of user accounts with the messaging system each comprise contact information that is accessible by the messaging system and inaccessible by the collaborative application, and wherein the obfuscated identifiers obfuscate the contact information from the collaborative application.

37 . The non-transitory computer-readable medium of claim 26 , wherein the document link, when selected at a device associated with a particular user account of the plurality of user accounts, is configured to cause the device to determine that the particular user account is authorized to access the document link based on the obfuscated identifier for the particular user account and a private key of the device.