IP Library Granted Patent US 12,487,987
Granted Patent B2
US 12,487,987 · App. 18/498,881 · Granted Dec 2, 2025

Automated data authenticity validation

Inventors: Ariel Berkman (Herzliya, IL); Eoghan Casey (Baltimore, MD)
Assignee: Salesforce, Inc.
G06F16/2365G06F21/602G06F21/64
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,487,987
App. No.
18/498,881
Granted
Dec 2, 2025
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for validating data authenticity. One of the methods includes retrieving data that includes (i) an archived version of a data source, (ii) a first hash value, and (iii) a set of provenance data for the archived version of the data source; hashing the archived version of the data source to generate a second hash value; determining that the second hash value and the first hash value satisfy a similarity criterion; detecting one or more differences between archived data in the archived version of the data source and current data in a current version of the data source; determining, using the set of provenance data, whether the archived version of the data source is likely authentic; and in response, restoring one or more portions of the data source corresponding to some of the one or more differences.

Claims (51)

1 . A method comprising:

retrieving, from an archival database, data that includes (i) an archived version of a data source, (ii) a first hash value, and (iii) a set of provenance data for the archived version of the data source;

hashing the archived version of the data source to generate a second hash value;

determining that the second hash value and the first hash value satisfy a similarity criterion;

detecting one or more differences between archived data in the archived version of the data source and current data in a current version of the data source;

determining, using the set of provenance data for the archived version of the data source, whether the archived version of the data source is likely authentic; and

in response to determining that the second hash value and the first hash value satisfy the similarity criterion and that the archived version of the data source is likely authentic using the set of provenance data, restoring, from the archived version of the data source, one or more portions of the data source corresponding to some of the one or more differences.

2 . The method of claim 1 , wherein the provenance data represents one or more of (i) a source of the archived version of the data source, (ii) an operation performed on the archived version of the data source, (iii) a tool used to perform the operation on the archived version of the data source, or (iv) an indication of a result of the operation.

3 . The method of claim 2 , wherein determining, using the set of provenance data, whether the archived version of the data source is likely authentic comprises:

comparing an expected number of operations and results with a number of operations and results represented in the provenance data.

4 . The method of claim 2 , wherein determining, using the set of provenance data, whether the archived version of the data source is likely authentic comprises:

comparing an expected result of one or more operations with one or more results represented in the provenance data.

5 . The method of claim 4 , wherein the expected result of one or more operations is a result indicating operation success of the one or more operations, wherein the one or more operations are performed on the archived version of the data source.

6 . The method of claim 1 , wherein restoring the one or more portions of the data source comprises:

restoring one or more data objects used to detect the one or more differences between archived data in the archived version of the data source and current data in the current version of the data source.

7 . The method of claim 1 , comprising:

determining that a portion of the current version of the data source is likely corrupted or has been lost, wherein:

retrieving the archived version and detecting the one or more differences between the archived data in the archived version of the data source and the current data in the current version of the data source are responsive to determining that the portion of the current version of the data source is likely corrupted or has been lost.

8 . A system comprising one or more computers and one or more storage devices on which are stored instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:

retrieving, from an archival database, data that includes (i) an archived version of a data source, (ii) a first hash value, and (iii) a set of provenance data for the archived version of the data source;

hashing the archived version of the data source to generate a second hash value;

determining that the second hash value and the first hash value satisfy a similarity criterion;

detecting one or more differences between archived data in the archived version of the data source and current data in a current version of the data source;

determining, using the set of provenance data for the archived version of the data source, whether the archived version of the data source is likely authentic; and

in response to determining that the second hash value and the first hash value satisfy the similarity criterion and that the archived version of the data source is likely authentic using the set of provenance data, restoring, from the archived version of the data source, one or more portions of the data source corresponding to some of the one or more differences.

9 . The system of claim 8 , wherein the provenance data represents one or more of (i) a source of the archived version of the data source, (ii) an operation performed on the archived version of the data source, (iii) a tool used to perform the operation on the archived version of the data source, or (iv) an indication of a result of the operation.

10 . The system of claim 9 , wherein determining, using the set of provenance data, whether the archived version of the data source is likely authentic comprises:

comparing an expected number of operations and results with a number of operations and results represented in the provenance data.

11 . The system of claim 9 , wherein determining, using the set of provenance data, whether the archived version of the data source is likely authentic comprises:

comparing an expected result of one or more operations with one or more results represented in the provenance data.

12 . The system of claim 11 , wherein the expected result of one or more operations is a result indicating operation success of the one or more operations, wherein the one or more operations are performed on the archived version of the data source.

13 . The system of claim 8 , wherein restoring the one or more portions of the data source comprises:

restoring one or more data objects used to detect the one or more differences between archived data in the archived version of the data source and current data in the current version of the data source.

14 . The system of claim 8 , wherein the operations comprise:

determining that a portion of the current version of the data source is likely corrupted or has been lost, wherein:

retrieving the archived version and detecting the one or more differences between the archived data in the archived version of the data source and the current data in the current version of the data source are responsive to determining that the portion of the current version of the data source is likely corrupted or has been lost.

15 . One or more computer storage media encoded with instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:

retrieving, from an archival database, data that includes (i) an archived version of a data source, (ii) a first hash value, and (iii) a set of provenance data for the archived version of the data source;

hashing the archived version of the data source to generate a second hash value;

determining that the second hash value and the first hash value satisfy a similarity criterion;

detecting one or more differences between archived data in the archived version of the data source and current data in a current version of the data source;

determining, using the set of provenance data for the archived version of the data source, whether the archived version of the data source is likely authentic; and

in response to determining that the second hash value and the first hash value satisfy the similarity criterion and that the archived version of the data source is likely authentic using the set of provenance data, restoring, from the archived version of the data source, one or more portions of the data source corresponding to some of the one or more differences.

16 . The storage media of claim 15 , wherein the provenance data represents one or more of (i) a source of the archived version of the data source, (ii) an operation performed on the archived version of the data source, (iii) a tool used to perform the operation on the archived version of the data source, or (iv) an indication of a result of the operation.

17 . The storage media of claim 16 , wherein determining, using the set of provenance data, whether the archived version of the data source is likely authentic comprises:

comparing an expected number of operations and results with a number of operations and results represented in the provenance data.

18 . The storage media of claim 16 , wherein determining, using the set of provenance data, whether the archived version of the data source is likely authentic comprises:

comparing an expected result of one or more operations with one or more results represented in the provenance data.

19 . The storage media of claim 18 , wherein the expected result of one or more operations is a result indicating operation success of the one or more operations, wherein the one or more operations are performed on the archived version of the data source.

20 . The storage media of claim 15 , wherein restoring the one or more portions of the data source comprises:

restoring one or more data objects used to detect the one or more differences between archived data in the archived version of the data source and current data in the current version of the data source.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2025
From: SALESFORCE.COM ISRAEL LTD.
To: SALESFORCE, INC.
Reel/Frame 071024/0288 →
MERGER Recorded May 5, 2025
From: OWN DATA COMPANY LTD
To: SALESFORCE.COM ISRAEL LTD.
Reel/Frame 071177/0415 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2023
From: BERKMAN, ARIEL; CASEY, EOGHAN
To: OWNBACKUP LTD.
Reel/Frame 065591/0776 →
CHANGE OF NAME Recorded Nov 16, 2023
From: OWNBACKUP LTD
To: OWN DATA COMPANY LTD
Reel/Frame 065611/0346 →
Continuity (1)
Related Publication 20250139078A1 · May 1, 2025
References Cited (18)
US 7296180B1 · Waterhouse · 2007 [cited by examiner]
US 8566680B1 · Cousins · 2013 [cited by examiner]
US 9998150B1 · Lazier · 2018 [cited by examiner]
US 10558581B1 · Lazier · 2020 [cited by examiner]
US 12130836B1 · Restivo · 2024 [cited by examiner]
US 20030035548A1 · Kwan · 2003 [cited by examiner]
US 20100017615A1 · Boesgaard · 2010 [cited by examiner]
US 20120310890A1 · Dodd · 2012 [cited by examiner]
US 20160378772A1 · Hostetter · 2016 [cited by examiner]
US 20190227877A1 · Pandey · 2019 [cited by examiner]
US 20210216413A1 · Saad · 2021 [cited by examiner]
US 20220066983A1 · Paschke · 2022 [cited by examiner]
US 20220109603A1 · Ramasamy · 2022 [cited by examiner]
US 20220158855A1 · Wentz · 2022 [cited by examiner]
US 20220255737A1 · Ebrahimi · 2022 [cited by examiner]
US 20240419496A1 · Bhattacharjee · 2024 [cited by examiner]
Github.com [online], “Case-Implementation-PROV-O,” 2021, retrieved on Dec. 6, 2023, retrieved from URL<https://github.com/casework/CASE-Implementation-PROV-O>, 13 pages. [cited by applicant]
Owndata.com [online], “How to capture forensic-quality copies of SAAS data,” Nov. 9, 2022, retrieved on Dec. 6, 2023, retrieved from URL<https://www.owndata.com/blog/how-to-capture-forensic-quality-copies-of-saas-data>,… [cited by applicant]