IP Library Granted Patent US 11,689,530
Granted Patent B2
US 11,689,530 · App. 16/700,153 · Granted Jun 27, 2023

Systems and methods for managing custom code in a data computing platform

Inventor: James Ding (New York, NY)
Assignee: Palantir Technologies Inc.
H04L63/101H04L63/0281H04L63/20
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 11,689,530
App. No.
16/700,153
Granted
Jun 27, 2023
Kind
B2
Abstract

A system for managing custom code within a data computing platform determines that a request for one or more uniform resource identifiers external to the platform is being made by custom code executing in the platform. In response to the determination, the system checks a whitelist of allowable external URIs against the requested one or more URIs and allows access to the requested one or more URIs if a match is detected with the whitelist, otherwise access by the custom code to the requested one or more URIs is denied. In addition, or alternatively, the system checks a blacklist of disallowed external URIs against the requested one or more URIs and denies access to the requested one or more URIs if a match is detected with the blacklist, otherwise access by the custom code to the requested one or more URIs is allowed. The blacklist can override the whitelist.

Claims (36)

1. A method for managing custom code within a data computing platform comprising:

determining that a request for one or more uniform resource identifiers external to the data computing platform is being made by the custom code executing in the data computing platform;

in response to the determination, checking a whitelist of allowable external uniform resource identifiers against the requested one or more uniform resource identifiers;

linking a manifest file to a project identifier related to the custom code, the manifest file including the whitelist;

allowing access by the custom code to the requested one or more uniform resource identifiers if a match is detected with the whitelist, otherwise denying access by the custom code to the requested one or more uniform resource identifiers;

checking a blacklist of uniform resource identifiers external to the data computing platform per registered organization level; and

denying access by the custom code to a whitelisted uniform resource identifier if the whitelisted uniform resource identifier is on the blacklist;

wherein the method is performed using one or more processors.

2. The method of claim 1 wherein the determining that the request for the one or more uniform resource identifiers external to the data computing platform is being made by custom code comprises employing a proxy server to intercept the request for the one or more uniform resource identifiers external to the data computing platform.

3. The method of claim 1 wherein the allowable uniform resource identifiers are approved to be accessed by the custom code during execution of the custom code.

4. The method of claim 1 wherein the whitelist comprises data representing that a data set can be accessed by the requested one or more external uniform resource identifiers.

5. The method of claim 1 comprising providing through the data computing platform, a user interface configured to allow generation of a default whitelist on a per custom code basis and configured to allow changes to the default whitelist.

6. A system for managing custom code within a data computing platform, the system comprising:

one or more processors; and

non-transitory storage medium that stores executable instructions that when executed causes the one or more processors to:

determine that a request for one or more uniform resource identifiers external to the data computing platform is being made by the custom code executing in the data computing platform;

in response to the determination, check a whitelist of allowable external uniform resource identifiers against the requested one or more uniform resource identifiers;

link a manifest file to a project identifier related to the custom code, the manifest file including the whitelist;

allow access by the custom code to the requested one or more uniform resource identifiers if a match is detected with the whitelist, otherwise deny access by the custom code to the requested one or more uniform resource identifiers;

check a blacklist of uniform resource identifiers external to the data computing platform per registered organization level; and

deny access to a whitelisted uniform resource identifier if the whitelisted uniform resource identifier is on the blacklist.

7. The system of claim 6 wherein the non-transitory storage medium that stores executable instructions that when executed causes the one or more processors to employ a proxy server to intercept the request for the one or more uniform resource identifiers external to the data computing platform.

8. The system of claim 6 wherein the allowable uniform resource identifiers are approved to be accessed by the custom code during execution of the custom code.

9. The system of claim 6 wherein the non-transitory storage medium that stores executable instructions that when executed causes the one or more processors to store the whitelist that comprises data representing that a data set can be accessed by the requested one or more external uniform resource identifiers.

10. The system of claim 6 wherein the non-transitory storage medium that stores executable instructions that when executed causes the one or more processors to provide a user interface configured to allow generation of a default whitelist on a per custom code basis and configured to allow changes to the default whitelist.

11. A non-transitory storage medium that comprises executable instructions that when executed by one or more processors, causes the one or more processors to:

determine that a request for one or more uniform resource identifiers external to the data computing platform is being made by custom code executing in a data computing platform;

in response to the determination, check a whitelist of allowable external uniform resource identifiers against the requested one or more uniform resource identifiers;

link a manifest file to a project identifier related to the custom code, the manifest file including the whitelist;

allow access by the custom code to the requested one or more uniform resource identifiers if a match is detected with the whitelist, otherwise deny access by the custom code to the requested one or more uniform resource identifiers;

check a blacklist of uniform resource identifiers external to the data computing platform per registered organization level; and

deny access by the custom code to a whitelisted uniform resource identifier if the whitelisted uniform resource identifier is on the blacklist.

12. The non-transitory storage medium of claim 11 comprising executable instructions that when executed by one or more processors, causes the one or more processors to: wherein the non-transitory storage medium that stores executable instructions that when executed causes the one or more processors to employ a proxy server to intercept the request for the one or more uniform resource identifiers external to the data computing platform.

13. The non-transitory storage medium of claim 11 wherein the allowable uniform resource identifiers are approved to be accessed by the custom code during execution of the custom code.

14. The non-transitory storage medium of claim 11 comprising executable instructions that when executed causes the one or more processors to store the whitelist that comprises data representing that a data set can be accessed by the requested one or more external uniform resource identifiers.

15. The non-transitory storage medium of claim 11 comprising executable instructions that when executed causes the one or more processors to provide a user interface configured to allow generation of a default whitelist on a per custom code basis and configured to allow changes to the default whitelist.

Assignments (2)
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2019
From: DING, JAMES
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 051278/0008 →
Continuity (2)
Provisional Application 62934737 · Nov 13, 2019
Related Publication 20210144145A1 · May 13, 2021