# US 2019/0377891 A1 · Row-level and column-level policy service

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

- Number: US 2019/0377891 A1
- Document ID: US20190377891A1
- Status: Published application
- Kind: A1
- Application number: 16/005,264
- Filed: 2018-06-11
- Published: 2019-12-12
- Earliest claimed: 2018-06-11
- Assignees: Palantir Technologies Inc.
- Applicants: Palantir Technologies Inc.
- Inventors: Brandon Krieger; Mark Elliot; Matthew Lynch
- Web page: https://patentgrep.com/patent/US20190377891A1

## CPC

- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G06F 21/31: User authentication
- G06F 21/604: {Tools and structures for managing or administering access control systems}
- G06F 2221/2111: Location-sensitive, e.g. geographical location, GPS
- G06F 2221/2137: Time limited access, e.g. to a computer or data
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Example embodiments relate to a policy service employed to perform operations to: generate and maintain a data-set that comprises at least a column and a row that intersect at a cell; assign an access policy to a row or column of the data-set, wherein the access policy is defined by one or more access credentials required to receive access the cell that intersect with the row or column; receive a request to read the data-set from a user account, wherein the user account has an associated credential; filter the cell that intersects with the row or column of the data-set based on the access policy and the credential of the user account, in response to receiving the request from the user account; and provide the user account with access to the filtered data-set.

## Claims

### Claim 1

A method comprising:
assigning an access policy to the row of the data-set, the access policy defining one or more credentials required to receive access to at least the content of one or more cells that correspond with the row;
receiving a request to read the data-set from a user account, the request including a credential of the user account;
filtering the data-set based on the access policy of the row and the credential of the user account; and
providing the user account with access to the filtered data-set.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
maintaining the credential of the user account at a memory location;
associating the memory location with an identifier of the user account; and
wherein the filtering the data-set based on the access policy of the row and the credential associated with the user account includes:
retrieving the credential from the memory location associated with the identifier of the user account in response to the receiving the request to read the data-set from the user account; and
filtering the data-set based on the credential of the user account and the access policy assigned to the row.

### Claim 3 (depends on 2)

The method of claim 2, wherein the credential of the user account is a first credential, and the method further comprises:
assigning a second credential to the user account; and
adding the second credential to the memory location associated with the identifier of the user account in response to the assigning the second credential to the user account.

### Claim 4 (depends on 1)

The method of claim 1, wherein the assigning the access policy to the row of the data-set includes assigning an identifier that identifies the access policy to the row of the data-set, and wherein the method further comprises:
retrieving the one or more credentials associated with the access policy from a memory repository based on the identifier assigned to the row of the data-set in response to the receiving the request to read the data-set from the user account.

### Claim 5 (depends on 1)

The method of claim 1, wherein the assigning the access policy to the row of the data-set includes:
receiving a first user input that defines the one or more credentials of the access policy;
receiving a second user input that identifies the row of the data-set; and
assigning the access policy to the cell that intersects with the row of the data-set.

### Claim 6 (depends on 5)

The method of claim 5, wherein the receiving the second user input that identifies the row of the data-set includes:
receiving a selection of the cell that corresponds to the row.

### Claim 7 (depends on 1)

The method of claim 1, wherein the request is a first request, the row is a first row, the access policy is a first access policy, and the method further comprises:
receiving a second request to add a second row to the data-set from the user account;
generating a second access policy based on the credential associated with the user account; and
assigning the second access policy to the second row.

### Claim 8 (depends on 1)

The method of claim 1, wherein the request is a first request, the row is a first row, the access policy is a first access policy, and the method further comprises:
receiving a second request to add a second row to the data-set from the user account;
requesting a second access policy from an administrator associated with the data-set in response to the receiving the second request to add the second row to the data-set from the user account;
receiving the second access policy from the administrator associated with the data-set, the second access policy defined by a set of credentials assigned to the second access policy; and
assigning the second access policy to the second row in response to the receiving the second access policy from the administrator associated with the data-set.

### Claim 9 (depends on 1)

The method of claim 1, wherein the providing the user account with access to read the filtered data-set includes:
generating a presentation of the filtered data-set; and
causing display of the presentation of the filtered data-set at a client device associated with the user account.

### Claim 10 (depends on 1)

The method of claim 1, wherein the method further comprises:
assigning the access policy to the column of the data-set.

### Claim 11 (depends on 1)

The method of claim 1, wherein the one or more credentials of the access policy include one or more of a list comprising: user attributes, device attributes, location criteria, or temporal criteria.

### Claim 12 (depends on 1)

The method of claim 1, wherein the filtering the data-set includes:
redacting the content from the one or more cells that correspond to the row.

### Claim 13

A system comprising:
a memory; and
at least one hardware processor coupled to the memory and comprising instructions that causes the system to perform operations comprising:
generating a data-set that comprises at least a column and a row that intersect at a cell, the cell comprising content;
assigning an access policy to the row of the data-set, the access policy defining one or more credentials required to receive access to at least the content of the cell that corresponds with the row;
receiving a request to read the data-set from a user account, the request including a credential of the user account;
filtering the data-set based on the access policy of the row and the credential of the user account; and
providing the user account with access to the filtered data-set.

### Claim 14 (depends on 13)

The system of claim 13, wherein the operations further comprise:
maintaining the credential of the user account at a memory location;
associating the memory location with an identifier of the user account; and
wherein the filtering the data-set based on the access policy of the row and the credential associated with the user account includes:
retrieving the credential from the memory location associated with the identifier of the user account in response to the receiving the request to read the data-set from the user account; and
filtering the data-set based on the credential of the user account and the access policy assigned to the row.

### Claim 15 (depends on 14)

The method of claim 14, wherein the credential of the user account is a first credential, and the operations further comprise:
assigning a second credential to the user account; and
adding the second credential to the memory location associated with the identifier of the user account in response to the assigning the second credential to the user account.

### Claim 16 (depends on 13)

The system of claim 13, wherein the assigning the access policy to the row of the data-set includes assigning an identifier that identifies the access policy to the row of the data-set, and wherein the instructions cause the system to perform operations further comprising:
retrieving the one or more credentials associated with the access policy from a memory repository based on the identifier assigned to the row of the data-set, in response to the receiving the request to read the data-set from the user account.

### Claim 17 (depends on 13)

The system of claim 13, wherein the assigning the access policy to the row of the data-set includes:
receiving a first user input that defines the one or more credentials of the access policy;
receiving a second user input that identifies the row of the data-set; and
assigning the access policy to the cell that intersects with the row of the data-set.

### Claim 18 (depends on 17)

The system of claim 17, wherein the receiving the second user input that identifies the row of the data-set includes:
receiving a selection of the cell that corresponds to the row.

### Claim 19

A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising:
generating a data-set that comprises at least a column and a row that intersect at a cell, the cell comprising content;
assigning an access policy to the row of the data-set, the access policy defining one or more credentials required to receive access to at least the content of the cell that corresponds with the row;
receiving a request to read the data-set from a user account, the request including a credential of the user account;
filtering the data-set based on the access policy of the row and the credential of the user account; and
providing the user account with access to the filtered data-set.

### Claim 20 (depends on 19)

The non-transitory machine-readable storage medium of claim 19, wherein the instructions cause the machine to perform operations further comprising:
maintaining the credential of the user account at a memory location;
associating the memory location with an identifier of the user account; and
wherein the filtering the data-set based on the access policy of the row and the credential associated with the user account includes:
retrieving the credential from the memory location associated with the identifier of the user account in response to the receiving the request to read the data-set from the user account; and
filtering the data-set based on the credential of the user account and the access policy assigned to the row.
