IP Library Granted Patent US 12,326,833
Granted Patent B2
US 12,326,833 · App. 18/439,691 · Granted Jun 10, 2025

Approaches for managing data retention lifecycle

Inventors: Yeong Wei Wee (New York, NY); Leslie Bennett (Palo Alto, CA); Kevin Meurer (New York, NY); Matthew Sills (San Francisco, CA)
Assignee: Palantir Technologies Inc.
G06F16/125G06F16/122G06F16/162
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 12,326,833
App. No.
18/439,691
Granted
Jun 10, 2025
Kind
B2
Abstract

Systems and methods are provided for determining a set of objects, the objects corresponding to a given case or application of a deletion/retention policy; determining at least one object in the set of objects to be scheduled for deletion, the at least one object being associated with a given state that specifies a deletion and/or retention type and schedule for the at least one object; and scheduling data corresponding to the at least one object for deletion from one or more data sources based at least in part on the deletion and/or retention type and schedule specified in the object state.

Claims (128)

1. A system comprising:

one or more processors; and

a memory storing instructions that, when executed by the one or more processors, cause the system to perform:

providing one or more application programming interface (API) endpoints to receive criteria for identifying data scheduled for deletion or retention, identify objects or corresponding data that meets the criteria, schedule actions to be performed on the objects or the corresponding data, and receive requests for actions to be performed on the objects or the corresponding data, wherein the objects comprise one or more containers for the corresponding data;

responsive to one or more changes regarding states associated with the objects or inputs regarding the states:

based on first logic that applies first actions to a subset of the objects that satisfy a first criteria related to the states, determining the first actions to be performed on a subset of the objects based on the states associated with the subset of the objects;

based on second logic that applies second actions to a subset of data corresponding to the subset of the objects, determining the second actions to be performed on the subset of the data, wherein the second actions are different from the first actions, the second actions specifying a deletion and a manner or a type of the deletion, or a retention and a manner or a type of the retention, wherein the first logic and the second logic granularly or separately manage retention or deletion of the objects and the corresponding data; and

performing the first actions and the second actions.

2. The system of claim 1 , wherein the instructions that, when executed by the one or more processors, cause the system to perform:

displaying, on an interface, the objects and organizing the objects according to attributes associated with the objects, wherein the attributes include at least two of:

data object names;

data object types;

a number of links between the set of data objects;

a number of properties associated with the set of data objects;

dates on which actions are scheduled to be performed;

scheduled actions;

review status of the set of data objects, and

conflict flags associated with the set of data objects.

3. The system of claim 1 , wherein the states are determined based on any two of:

a type of an object of the objects;

a number of links between the object and other objects of the objects;

metadata associated with the object; and

a conflict flag associated with the object; and the instructions further cause the system to perform:

identifying data, in an audit log, affected by the modification to the object.

4. The system of claim 1 , wherein the instructions further cause the system to perform:

modifying a state of an object of the objects based on any two of:

a type of the object;

a number of links between the object and other objects of the objects;

metadata associated with the object; and

a conflict flag associated with the object; and

identifying data, in an audit log, affected by the modification to the object.

5. The system of claim 4 , wherein the instructions further cause the system to perform:

determining to reclassify the object based on the modification to the state to enforce deletion of the object despite a restoration of the object; and

determining to delete the object and data associated with the object based on the reclassification of the object.

6. The system of claim 1 , wherein the instructions further cause the system to perform:

identifying an additional object to be scheduled for the same action as an object of the subset of the objects, based on an edge distance of a link between the additional object and the object; and

modifying the given state of the object based on any two of:

a type of the object;

a number of links between the object and the additional object;

metadata associated with the object; and

a conflict flag associated with the object; and

identifying data, in an audit log, affected by the modification to the given state of the object.

7. The system of claim 1 , wherein the instructions further cause the system to perform:

determining to reclassify an object of the subset of the objects based on a change to a state to enforce deletion of the object despite a restoration of the object; and

determining to delete the object and data associated with the object based on the reclassification of the object.

8. A computer-implemented method, the method comprising:

providing one or more application programming interface (API) endpoints to receive criteria for identifying data scheduled for deletion or retention, identify objects or corresponding data that meets the criteria, schedule actions to be performed on the objects or the corresponding data, and receive requests for actions to be performed on the objects or the corresponding data, wherein the objects comprise one or more containers for the corresponding data;

responsive to one or more changes regarding states associated with the objects or inputs regarding the states:

based on first logic that applies first actions to a subset of the objects that satisfy a first criteria related to the states, determining the first actions to be performed on a subset of the objects based on the states associated with the subset of the objects;

based on second logic that applies second actions to a subset of data corresponding to the subset of the objects, determining the second actions to be performed on the subset of the data, wherein the second actions are different from the first actions, the second actions specifying a deletion and a manner or a type of the deletion, or a retention and a manner or a type of the retention, wherein the first logic and the second logic granularly or separately manage retention or deletion of the objects and the corresponding data; and

performing the first actions and the second actions.

9. The computer-implemented method of claim 8 , further comprising:

displaying, on an interface, the objects and organizing the objects according to attributes associated with the objects, wherein the attributes include at least two of:

data object names;

data object types;

a number of links between the set of data objects;

a number of properties associated with the set of data objects;

dates on which actions are scheduled to be performed;

scheduled actions;

review status of the set of data objects, and

conflict flags associated with the set of data objects.

10. The computer-implemented method of claim 8 , wherein the states are determined based on any two of:

a type of an object of the objects;

a number of links between the object and other objects of the objects;

metadata associated with the object; and

a conflict flag associated with the object; and the instructions further cause the system to perform:

identifying data, in an audit log, affected by the modification to the object.

11. The computer-implemented method of claim 8 , further comprising:

modifying a state of an object of the objects based on any two of:

a type of the object;

a number of links between the object and other objects of the objects;

metadata associated with the object; and

a conflict flag associated with the object; and

identifying data, in an audit log, affected by the modification to the object.

12. The computer-implemented method of claim 11 , further comprising:

determining to reclassify the object based on the modification to the state to enforce deletion of the object despite a restoration of the object; and

determining to delete the object and data associated with the object based on the reclassification of the object.

13. The computer-implemented method of claim 8 , further comprising:

identifying an additional object to be scheduled for the same action as an object of the subset of the objects, based on an edge distance of a link between the additional object and the object; and

modifying the given state of the object based on any two of:

a type of the object;

a number of links between the object and the additional object;

metadata associated with the object; and

a conflict flag associated with the object; and

identifying data, in an audit log, affected by the modification to the given state of the object.

14. The computer-implemented method of claim 8 , further comprising:

determining to reclassify an object of the subset of the objects based on a change to a state to enforce deletion of the object despite a restoration of the object; and

determining to delete the object and data associated with the object based on the reclassification of the object.

15. A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform:

providing one or more application programming interface (API) endpoints to receive criteria for identifying data scheduled for deletion or retention, identify objects or corresponding data that meets the criteria, schedule actions to be performed on the objects or the corresponding data, and receive requests for actions to be performed on the objects or the corresponding data, wherein the objects comprise one or more containers for the corresponding data;

responsive to one or more changes regarding states associated with the objects or inputs regarding the states:

based on first logic that applies first actions to a subset of the objects that satisfy a first criteria related to the states, determining the first actions to be performed on a subset of the objects based on the states associated with the subset of the objects;

based on second logic that applies second actions to a subset of data corresponding to the subset of the objects, determining the second actions to be performed on the subset of the data, wherein the second actions are different from the first actions, the second actions specifying a deletion and a manner or a type of the deletion, or a retention and a manner or a type of the retention, wherein the first logic and the second logic granularly or separately manage retention or deletion of the objects and the correspondingdata; and

performing the first actions and the second actions.

16. The non-transitory computer readable medium of claim 15 , wherein the instructions that, when executed, cause the one or more processors to perform:

displaying, on an interface, the objects and organizing the objects according to attributes associated with the objects, wherein the attributes include at least two of:

data object names;

data object types;

a number of links between the set of data objects;

a number of properties associated with the set of data objects;

dates on which actions are scheduled to be performed;

scheduled actions;

review status of the set of data objects, and

conflict flags associated with the set of data objects.

17. The non-transitory computer readable medium of claim 15 , wherein the states are determined based on any two of:

a type of an object of the objects;

a number of links between the object and other objects of the objects;

metadata associated with the object; and

a conflict flag associated with the object; and the instructions further cause the system to perform:

identifying data, in an audit log, affected by the modification to the object.

18. The non-transitory computer readable medium of claim 15 , wherein the instructions further cause the one or more processors to perform:

modifying a state of an object of the objects based on any two of:

a type of the object;

a number of links between the object and other objects of the objects;

metadata associated with the object; and

a conflict flag associated with the object; and

identifying data, in an audit log, affected by the modification to the object.

19. The non-transitory computer readable medium of claim 18 , wherein the instructions further cause the one or more processors to perform:

determining to reclassify the object based on the modification to the state to enforce deletion of the object despite a restoration of the object; and

determining to delete the object and data associated with the object based on the reclassification of the object.

20. The non-transitory computer readable medium of claim 15 , wherein the instructions further cause the one or more processors to perform:

identifying an additional object to be scheduled for the same action as an object of the subset of the objects, based on an edge distance of a link between the additional object and the object; and

modifying the given state of the object based on any two of:

a type of the object;

a number of links between the object and the additional object;

metadata associated with the object; and

a conflict flag associated with the object; and

identifying data, in an audit log, affected by the modification to the given state of the object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2025
From: WEE, YEONG WEI; BENNETT, LESLIE; MEURER, KEVIN; SILLS, MATTHEW
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 071128/0980 →
Continuity (4)
Continuation 17235858 · Apr 20, 2021
Continuation 15921221 · Mar 14, 2018
Provisional Application 62584670 · Nov 10, 2017
Related Publication 20240264976A1 · Aug 8, 2024
References Cited (21)
US 6460055B1 · Midgley et al. · 2002 [cited by applicant]
US 7483915B2 · Thompson et al. · 2009 [cited by applicant]
US 7739316B2 · Thompson et al. · 2010 [cited by applicant]
US 7831563B2 · Brown et al. · 2010 [cited by applicant]
US 7996028B2 · Vargas et al. · 2011 [cited by applicant]
US 8131739B2 · Wu et al. · 2012 [cited by applicant]
US 8555247B2 · Keller · 2013 [cited by applicant]
US 8560794B2 · Resch et al. · 2013 [cited by applicant]
US 9052942B1 · Barber et al. · 2015 [cited by applicant]
US 9063946B1 · Barber et al. · 2015 [cited by applicant]
US 9417917B1 · Barber et al. · 2016 [cited by applicant]
US 20060053334A1 · Ingen et al. · 2006 [cited by applicant]
US 20100306176A1 · Johnson et al. · 2010 [cited by applicant]
US 20110225361A1 · Resch · 2011 [cited by examiner]
US 20110276539A1 · Thiam · 2011 [cited by applicant]
US 20150142748A1 · Gottemukkula · 2015 [cited by applicant]
Non-Final Office Action dated Jun. 8, 2023, issued in related U.S. Appl. No. 17/235,858 (27 pages). [cited by applicant]
Notice of Allowance mailed Oct. 11, 2023, issued in related U.S. Appl. No. 17/235,858 (11 pages). [cited by applicant]
Extended European Search Report dated Jan. 9, 2019, issued in related European Patent Application No. 18205539.2 (8 pages). [cited by applicant]
Examination Report dated Dec. 7, 2020, issued in related European Patent Application No. 18205539.2 (5 pages). [cited by applicant]
Examination Report dated Nov. 16, 2022, issued in related European Patent Application No. 18205539.2 (7 pages). [cited by applicant]