IP Library Granted Patent US 12,547,522
Granted Patent B2
US 12,547,522 · App. 18/796,781 · Granted Feb 10, 2026

Audit logging database system and user interface

Inventors: Natalie Meurer (Washington, DC); Andrew Lampert (Melbourne, AU); Dyon Balding (Melbourne, AU); Yeong Wei Wee (London, GB)
Assignee: Palantir Technologies Inc.
G06F11/3438G06F3/0486G06F11/3476G06F17/18
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,547,522
App. No.
18/796,781
Granted
Feb 10, 2026
Kind
B2
Abstract

Systems and methods are provided for improved auditing of user actions associated with a software application. The system includes functionality to log user actions in a structured, standardized way. The system includes interactive user interfaces for analyzing the logs. The logging is based on a well-defined categorization of available actions. The log information includes (and distinguishes among) user details, context details, user inputs, and/or system outputs (including identification of data objects). The interactive user interfaces enable a user to view structured log data in an efficient manner, such as by presenting logs in a tabular format, executing queries on the log data, and/or presenting visualizations that summarize the log data. The interactive user interfaces provide functionality that allows a user to investigate and/or audit user interactions with a data object. The interactive interfaces present log entries associated with the object(s) for further review by the reviewer.

Claims (98)

1 . A method for audit logging, the method comprising:

receiving, via an application user interface, one or more user interactions comprising an interactive analysis within an application context;

in response to receiving the one or more user interactions:

performing the interactive analysis within the application context; and

determining, via a logging library, one or more logging entries associated with the one or more user interactions, the one or more logging entries comprising:

the application context associated with the one or more user interactions;

one or more user inputs associated with the one or more user interactions;

one or more decisions associated with the one or more user interactions;

indications of one or more resources accessed associated with the one or more user interactions; and

one or more outputs provided via the application user interface and associated with the one or more user interactions;

storing the one or more logging entries in a structured format, including the application context, the one or more user inputs, the one or more decisions, the indications of the one or more resources accessed, and the one or more outputs, to a non-transitory computer-readable storage medium; and

causing presentation, in an audit logging user interface, of at least one of the one or more logging entries including at least one of: the application context, the one or more user inputs, the one or more decisions, the indications of the one or more resources accessed, or the one or more outputs.

2 . The method of claim 1 further comprising:

further in response to the one or more user interactions:

causing output, in the application user interface, of the one or more outputs to a user computing device.

3 . The method of claim 1 , wherein the one or more resources accessed include a data object.

4 . The method of claim 1 , wherein the one or more user interactions include a search query, and wherein the method further comprises:

further in response to the one or more user interactions:

searching a set of data objects based on the search query to identify a plurality of data objects to output in the application user interface; and

causing output, in the application user interface, of the plurality of data objects to a user computing device.

5 . The method of claim 4 , wherein the one or more logging entries further comprise:

indications of each of the plurality of data objects outputted in the application user interface.

6 . The method of claim 1 further comprising:

determining a plurality of logging entries comprising the one or more logging entries;

calculating, from the plurality of logging entries, a plurality of counts of logging entries over time; and

causing presentation, in the audit logging user interface, of a graph representing the plurality of counts of logging entries over time.

7 . The method of claim 1 further comprising:

receiving, via the audit logging user interface, a selection of a first logging entry or the one or more logging entries; and

in response to receiving the selection of the first logging entry,

causing presentation, in the audit logging user interface, of the first logging entry in a hierarchical format.

8 . The method of claim 1 further comprising:

receiving a first logging configuration for the application user interface;

determining, from the first logging configuration, to log additional data associated with the one or more user interactions; and

in response to determining to log the additional data,

retrieving the additional data associated with the one or more user interactions, and

adding the additional data to the one or more logging entries.

9 . The method of claim 1 further comprising:

receiving a first logging configuration for the application user interface;

receiving, via the application user interface, a user interaction to update a first resource;

determining, from the first logging configuration, to log a before state of the first resource;

generating an updated first resource based on the user interaction;

determining, via the logging library, a second one or more logging entries comprising:

the before state of the first resource; and

the updated first resource; and

storing the second one or more logging entries in the structured format to the non-transitory computer-readable storage medium.

10 . The method of claim 1 , wherein the audit logging user interface is presented to a reviewer computing device, and wherein the method further comprises:

causing presentation, in the application user interface, of a plurality of data objects, associated with the one or more user interactions, to the reviewer computing device; and

receiving, from the reviewer computing device, a selection of the plurality of data objects from the application user interface to the audit logging user interface.

11 . A system comprising:

a non-transitory computer-readable storage medium; and

one or more computer hardware processors in communication with the non-transitory computer-readable storage medium, the one or more computer hardware processors configured to execute computer-executable instructions to at least:

receive, via an application user interface, one or more user interactions comprising an interactive analysis within an application context;

in response to receiving the one or more user interactions:

perform the interactive analysis within the application context; and

determine, via a logging library, one or more logging entries associated with the one or more user interactions, the one or more logging entries comprising:

the application context associated with the one or more user interactions;

one or more user inputs associated with the one or more user interactions;

one or more decisions associated with the one or more user interactions;

indications of one or more resources accessed associated with the one or more user interactions; and

one or more outputs provided via the application user interface and associated with the one or more user interactions;

store the one or more logging entries in a structured format, including the application context, the one or more user inputs, the one or more decisions, the indications of the one or more resources accessed, and the one or more outputs, to the non-transitory computer-readable storage medium; and

cause presentation, in an audit logging user interface, of at least one of the one or more logging entries including at least one of: the application context, the one or more user inputs, the one or more decisions, the indications of the one or more resources accessed, or the one or more outputs.

12 . The system of claim 11 , wherein the one or more computer hardware processors are further configured to execute further computer-executable instructions to at least:

further in response to the one or more user interactions:

cause output, in the application user interface, of the one or more outputs to a user computing device.

13 . The system of claim 11 , wherein the one or more resources accessed include a data object.

14 . The system of claim 11 , wherein the one or more user interactions include a search query, and wherein the one or more computer hardware processors are further configured to execute further computer-executable instructions to at least:

further in response to the one or more user interactions:

search a set of data objects based on the search query to identify a plurality of data objects to output in the application user interface; and

cause output, in the application user interface, of the plurality of data objects to a user computing device.

15 . The system of claim 14 , wherein the one or more logging entries further comprise:

indications of each of the plurality of data objects outputted in the application user interface.

16 . The system of claim 11 , wherein the one or more computer hardware processors are further configured to execute further computer-executable instructions to at least:

determine a plurality of logging entries comprising the one or more logging entries;

calculate, from the plurality of logging entries, a plurality of counts of logging entries over time; and

cause presentation, in the audit logging user interface, of a graph representing the plurality of counts of logging entries over time.

17 . The system of claim 11 , wherein the one or more computer hardware processors are further configured to execute further computer-executable instructions to at least:

receive, via the audit logging user interface, a selection of a first logging entry or the one or more logging entries; and

in response to receiving the selection of the first logging entry,

cause presentation, in the audit logging user interface, of the first logging entry in a hierarchical format.

18 . The system of claim 11 , wherein the one or more computer hardware processors are further configured to execute further computer-executable instructions to at least:

receive a first logging configuration for the application user interface;

determine, from the first logging configuration, to log additional data associated with the one or more user interactions; and

in response to determining to log the additional data,

retrieve the additional data associated with the one or more user interactions, and

add the additional data to the one or more logging entries.

19 . The system of claim 11 , wherein the one or more computer hardware processors are further configured to execute further computer-executable instructions to at least:

receive a first logging configuration for the application user interface;

receive, via the application user interface, a user interaction to update a first resource;

determine, from the first logging configuration, to log a before state of the first resource;

generate an updated first resource based on the user interaction;

determine, via the logging library, a second one or more logging entries comprising:

the before state of the first resource; and

the updated first resource; and

store the second one or more logging entries in the structured format to the non-transitory computer-readable storage medium.

20 . The system of claim 11 , wherein the audit logging user interface is presented to a reviewer computing device, and wherein the one or more computer hardware processors are further configured to execute further computer-executable instructions to at least:

cause presentation, in the application user interface, of a plurality of data objects, associated with the one or more user interactions, to the reviewer computing device; and

receive, from the reviewer computing device, a selection of the plurality of data objects from the application user interface to the audit logging user interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2024
From: MEURER, NATALIE; LAMPERT, ANDREW; BALDING, DYON; WEE, YEONG WEI
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 068439/0288 →
Continuity (5)
Continuation 18058067 · Nov 22, 2022
Continuation 17379789 · Jul 19, 2021
Continuation 16450623 · Jun 24, 2019
Provisional Application 62805811 · Feb 14, 2019
Related Publication 20240394169A1 · Nov 28, 2024
References Cited (14)
US 9766769B1 · Webber · 2017 [cited by examiner]
US 11068373B1 · Meurer et al. · 2021 [cited by applicant]
US 11537496B2 · Meurer et al. · 2022 [cited by applicant]
US 20110035242A1 · Sondhi · 2011 [cited by examiner]
US 20140082513A1 · Mills et al. · 2014 [cited by applicant]
US 20140157288A1 · Wong · 2014 [cited by examiner]
US 20160344828A1 · Häusler et al. · 2016 [cited by applicant]
US 20180173617A1 · Tian · 2018 [cited by applicant]
US 20190171689A1 · Kachkach et al. · 2019 [cited by applicant]
US 20200019418A1 · P K · 2020 [cited by examiner]
US 20230090961A1 · Meurer et al. · 2023 [cited by applicant]
U.S. Pat. No. 11,068,373, Audit Logging Database System and User Interface, Jul. 20, 2021. [cited by applicant]
U.S. Pat. No. 11,537,496, Audit Logging Database System and User Interface, Dec. 27, 2022. [cited by applicant]
U.S. Pat. No. 12,093,159, Audit Logging Database System and User Interface, Sep. 17, 2024. [cited by applicant]