# US 12,602,352 B2 · Universal data scaffold based data management platform

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,602,352 B2
- Document ID: US12602352B2
- Status: Granted
- Kind: B2
- Application number: 18/306,453
- Filed: 2023-04-25
- Published: 2023-08-17
- Granted: 2026-04-14
- Earliest claimed: 2017-06-02
- Assignees: Thinkspan, LLC
- Applicants: Thinkspan, LLC
- Inventors: Brian Samuel Taylor; Matthew Maxwell Murphy; James Michael Faris
- Web page: https://patentgrep.com/patent/US12602352B2

## CPC

- G06F 16/13: File access structures, e.g. distributed indices (arrangements of input from, or output to, record carriers G06F3/06)
- G06F 3/0482: Interaction with lists of selectable items, e.g. menus
- G06F 16/168: {Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs (query results presentation G06F16/156)}
- G06F 16/22: Indexing; Data structures therefor; Storage structures
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F 16/258: {Data format conversion from or to a database}
- G06F 16/288: {Entity relationship models}
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 21/10: Protecting distributed programs or content, e.g. vending or licensing of copyrighted material (protection in video systems or pay television H04N7/16) {; Digital rights management [DRM]}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 21/6245: {Protecting personal data, e.g. for financial or medical purposes}
- G06Q 30/0241: Advertisements
- H04L 9/3218: {using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs}
- H04L 9/3221: {interactive zero-knowledge proofs}
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- G06F 2221/2107: File encryption
- H04L 67/01: Protocols
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The disclosure is related to a data management platform (“platform”) for providing a secure storage environment for digital contents associated with a user. The platform may be accessible via an app installed on a user device, which allows the user to upload, modify, and view digital contents. Because a digital content is mapped to a universal scaffold in a structured format, the platform can organize and display the digital contents in meaningful ways. The digital contents can be hosted on a remote server. The platform provides zero-knowledge encryption so that the digital contents stored at the server are secure, as in one cannot know the contents of the encrypted information stored at the server. The platform also facilitates zero-knowledge offers in which offers are sent to multiple users but the server does not know to which users the offers are presented until an offer is accepted by the user.

## Claims

### Claim 1

A method comprising:
downloading, by a user device, a universal data scaffold defined on a server,
wherein the universal data scaffold defined on the server includes multiple content types configured to capture information about a user and configured to be shared among multiple user devices;
receiving, by the user device, a first digital content, wherein all content-type definitions within the universal data scaffold are downloaded by the user device prior to receiving the first digital content;
mapping the first digital content to a first content type among the multiple content types defined in the universal data scaffold;
enhancing security associated with the first digital content by:
refraining from requesting any content-type definition from the server in response to receiving the first digital content, and
avoiding indicating that the first content type is needed by the user device by eschewing requesting the first content type from the server;
storing, at the user device, a first data structure representing the first digital content in association with the first content type defining a first set of attributes and a first set of rules associated with the first content type; and
enhancing security associated with the first digital content by:
avoiding indicating to the server that the first content type is associated with the user by encrypting the first data structure prior to sending the first data structure to the server to store the first data structure, wherein the first data structure cannot be decrypted by the server.

### Claim 2 (depends on 1)

The method of claim 1, comprising:
determining whether the first content type is included in the downloaded multiple content types;
upon determining that the first content type is not included in the downloaded multiple content types, generating a request for a first content type and a second multiplicity of content types different from the first content type; and
preserving secrecy associated with the first digital content by hiding that the first digital content is associated with the first content type by sending the request to the server including the second multiplicity of content types.

### Claim 3 (depends on 1)

The method of claim 1, wherein downloading all content-type definitions within the universal data scaffold comprises:
downloading a data management platform to the user device,
wherein the data management platform includes all the multiple content types defined on the server.

### Claim 4 (depends on 1)

The method of claim 1, comprising:
obtaining a sharing rule associated with the first content type and defining a permission to share at least a portion of the first data structure between the user device and a second user device among the multiple user devices; and
based on the sharing rule, sharing at least the portion of the first data structure between the user device and the second user device.

### Claim 5 (depends on 1)

The method of claim 1, comprising:
determining a context associated with the user including a proximity to a second user,
wherein the context comprises at least one of a current time, most frequently viewed digital content, most recently viewed digital content, digital content marked as favorite, or a chronological order of adding multiple data structures to the universal data scaffold;
determining a second data structure among the multiple data structures related to the context; and
displaying the second data structure to the user.

### Claim 6 (depends on 1)

The method of claim 1, wherein mapping the first digital content to the first content type includes:
identifying the first content type based on an input field in a graphical user interface (GUI) used by the user to input the first digital content, wherein one or more input fields in the GUI is associated with the first content type.

### Claim 7 (depends on 1)

The method of claim 1, wherein mapping the first digital content to the first content type includes:
receiving an initial type of the first digital content from the user, and
determining the first content type based on the initial type by:
generating multiple content type options based on the initial type, and
prompting the user to select one of the multiple content type options as the first content type.

### Claim 8 (depends on 1)

The method of claim 1, wherein mapping the first digital content to the first content type includes:
analyzing one or more of the first set of attributes associated with the first digital content to determine that the first digital content is of the first content type by determining that the one or more of the first set of attributes matches with one or more attributes of the first content type.

### Claim 9 (depends on 1)

The method of claim 1, comprising:
generating a set of requests for the first digital content, each request prompting the user to input an attribute value of a corresponding attribute of the first set of attributes; and
receiving a first set of attribute values for the first digital content from the user.

### Claim 10 (depends on 1)

The method of claim 1, wherein the first set of attributes include any of a content type attribute, a field attribute, a field data type attribute, a formatter attribute, a translation attribute, or a relationship attribute.

### Claim 11 (depends on 1)

The method of claim 1, wherein the first set of rules include any of a sharing rule, a security rule, a notification rule, a location-based rule, a device-specific rule, or a relationship-specific rule.

### Claim 12 (depends on 1)

The method of claim 1, wherein storing the first data structure comprises:
determining whether the user has input a value for a rule in the first set of rules; and
responsive to a determination that the user has not input the value for the rule in the first set of rules, storing the first digital content with a default set of rules associated with the first content type.

### Claim 13

A method comprising:
receiving, by a user device, a first digital content including an audio from a user, wherein all content-type definitions within a universal data scaffold downloaded to the user device are downloaded by the user device prior to receiving the first digital content;
mapping, by the user device, the first digital content to a first content type of multiple content types defined by a universal data scaffold;
storing, by the user device, a first data structure representing the first digital content in association with a first universal data scaffold defining a first set of attributes and a first set of rules associated with the first content type; and
enhancing security of the first digital content by 1) refraining from requesting any content-type definition from the server in response to receiving the first digital content, and 2) encrypting the first data structure prior to sending the first data structure to a server to store the first data structure, wherein the first data structure cannot be decrypted by the server.

### Claim 14 (depends on 13)

The method of claim 13, comprising:
automatically determining the first content type associated with the first digital content, wherein a content type of the multiple content types is associated with the universal data scaffold;
determining whether the first content type is located at the user device; and
upon determining that the first content type is not located on the user device, downloading from the server the first content type.

### Claim 15 (depends on 13)

The method of claim 13, comprising:
obtaining a sharing rule associated with the first data structure and defining a permission to share at least a portion of the first data structure between the user device and a second user device; and
based on the sharing rule, sharing at least the portion of the first data structure between the user device and the second user device.

### Claim 16 (depends on 13)

The method of claim 13, comprising:
determining a context associated with the user including a proximity to a second user,
wherein the context comprises at least one of a current time, most frequently viewed digital content, most recently viewed digital content, digital content marked as favorite, or a chronological order of adding multiple data structures to the universal data scaffold;
determining a second data structure among the multiple data structures related to the context; and
displaying the second data structure to the user.

### Claim 17 (depends on 13)

The method of claim 13, wherein mapping the first digital content to the first content type includes:
identifying the first content type based on an input field in a graphical user interface (GUI) used by the user to input the first digital content, wherein one or more input fields in the GUI is associated with the first content type.

### Claim 18 (depends on 13)

The method of claim 13, wherein mapping the first digital content to the first content type includes:
receiving an initial type of the first digital content from the user, and
determining the first content type based on the initial type by:
generating multiple content type options based on the initial type, and
prompting the user to select one of the multiple content type options as the first content type.

### Claim 19 (depends on 13)

The method of claim 13, wherein mapping the first digital content to the first content type includes:
analyzing one or more of the first set of attributes associated with the first digital content to determine that the first digital content is of the first content type by determining that the one or more of the first set of attributes matches with one or more attributes of the first universal data scaffold.

### Claim 20 (depends on 13)

The method of claim 13, comprising:
generating, based on the first universal data scaffold, a set of requests for the first digital content, each request prompting the user to input an attribute value of a corresponding attribute of the first set of attributes, and
receiving a first set of attribute values for the first digital content from the user.

### Claim 21 (depends on 13)

The method of claim 13, wherein the first set of attributes include any of a content type attribute, a field attribute, a field data type attribute, a formatter attribute, a translation attribute, or a relationship attribute.

### Claim 22 (depends on 13)

The method of claim 13, wherein the first set of rules include any of a sharing rule, a security rule, a notification rule, a location-based rule, a device-specific rule, or a relationship-specific rule.

### Claim 23 (depends on 13)

The method of claim 13, wherein storing the first data structure includes:
determining whether the user has input a value for a rule in the first set of rules; and
responsive to a determination that the user has not input the value for the rule in the first set of rules, storing the first digital content with a default set of rules associated with the first content type.

### Claim 24

At least one non-transitory computer-readable storage medium storing instructions, which, when executed by at least one data processor of a system, cause the system to:
download, by a user device, a universal data scaffold defined on a server,
wherein the universal data scaffold defined on the server includes multiple content types configured to capture information about a user and configured to be shared among multiple user devices;
receive, by the user device, a first digital content, wherein all content-type definitions within the universal data scaffold are downloaded by the user device prior to receiving the first digital content;
map the first digital content to a first content type among the multiple content types defined in the universal data scaffold;
enhance security associated with the first digital content by:
refraining from requesting any content-type definition from the server in response to receiving the first digital content, and
avoiding indicating that the first content type is needed by the user device by eschewing requesting the first content type from the server;
store, at the user device, a first data structure representing the first digital content in association with the first content type defining a first set of attributes and a first set of rules associated with the first content type; and
enhance security associated with the first digital content by:
avoiding indicating to the server that the first content type is associated with the user by encrypting the first data structure prior to sending the first data structure to the server to store the first data structure, wherein the first data structure cannot be decrypted by the server.

### Claim 25 (depends on 24)

The at least one non-transitory computer-readable storage medium of claim 24, comprising instructions to:
determine whether the first content type is included in the downloaded multiple content types;
upon determining that the first content type is not included in the downloaded multiple content types, generate a request for a first content type and a second multiplicity of content types different from the first content type; and
preserve secrecy associated with the first digital content by hiding that the first digital content is associated with the first content type by sending the request to the server including the second multiplicity of content types.

### Claim 26 (depends on 24)

The at least one non-transitory computer-readable storage medium of claim 24, wherein downloading all content-type definitions within the universal data scaffold comprises:
wherein the data management platform includes all the multiple content types defined on the server.

### Claim 27 (depends on 24)

The at least one non-transitory computer-readable storage medium of claim 24, comprising instructions to:
obtain a sharing rule associated with the first data structure and defining a permission to share at least a portion of the first data structure between the user device and a second user device; and
based on the sharing rule, share at least the portion of the first data structure between the user device and the second user device.

### Claim 28 (depends on 24)

The at least one non-transitory computer-readable storage medium of claim 24, comprising instructions to:
determine a context associated with the user including a proximity to a second user,
wherein the context comprises at least one of a current time, most frequently viewed digital content, most recently viewed digital content, digital content marked as favorite, or a chronological order of adding multiple data structures to the universal data scaffold;
determine a second data structure among the multiple data structures related to the context; and
display the second data structure to the user.

### Claim 29 (depends on 24)

The at least one non-transitory computer-readable storage medium of claim 24, wherein the instructions to map the first digital content to the first content type comprise instructions to:
identify the first content type based on an input field in a graphical user interface (GUI) used by the user to input the first digital content, wherein one or more input fields in the GUI is associated with the first content type.

### Claim 30 (depends on 24)

The at least one non-transitory computer-readable storage medium of claim 24, wherein the instructions to map the first digital content to the first content type comprise instructions to:
receive an initial type of the first digital content from the user, and
determine the first content type based on the initial type by:
generating multiple content type options based on the initial type, and
prompting the user to select one of the multiple content type options as the first content type.

### Claim 31 (depends on 24)

The at least one non-transitory computer-readable storage medium of claim 24, wherein the instructions to map the first digital content to the first content type comprise instructions to:
analyze one or more of the first set of attributes associated with the first digital content to determine that the first digital content is of the first content type by determining that the one or more of the first set of attributes matches with one or more attributes of the first content type.

### Claim 32 (depends on 24)

The at least one non-transitory computer-readable storage medium of claim 24, comprising instructions to:
generate a set of requests for the first digital content, each request prompting the user to input an attribute value of a corresponding attribute of the first set of attributes; and
receive a first set of attribute values for the first digital content from the user.

### Claim 33 (depends on 24)

The at least one non-transitory computer-readable storage medium of claim 24, wherein the first set of attributes include any of a content type attribute, a field attribute, a field data type attribute, a formatter attribute, a translation attribute, or a relationship attribute.

### Claim 34 (depends on 24)

The at least one non-transitory computer-readable storage medium of claim 24, comprising instructions to wherein the first set of rules include any of a sharing rule, a security rule, a notification rule, a location-based rule, a device-specific rule, or a relationship-specific rule.

### Claim 35 (depends on 24)

The at least one non-transitory computer-readable storage medium of claim 24, wherein the instructions to store the first data structure comprise instructions to:
determine whether the user has input a value for a rule in the first set of rules; and
responsive to a determination that the user has not input the value for the rule in the first set of rules, store the first digital content with a default set of rules associated with the first content type.
