IP Library Granted Patent US 12689559
Granted Patent B2
US 12689559 · App. 18/601,502 · Granted Jul 21, 2026

Automated preventative controls in digital workflow

Inventors: Anushree Shrivallabh Randad (Santa Clara, CA); Ravindra Bansal (Belmont, CA); Tamir Segal (Sunnyvale, CA); Abhi Sekhar Thyadi (Hyderabad, IN); Hari Krishna Vutukuru (Hyderabad, IN); Samujjwal Bhandari (San Jose, CA); Utkarsh Jain (Hyderabad, IN); Vasant Balasubramanian (Santa Clara, CA); Lal Narayanasamy (Pleasanton, CA); Giora Tamir (San Diego, CA); Rama Raghava Reddy Bandi (Livermore, CA); Prabhat Kuchibhotla (East Palo Alto, CA)
Assignee: ServiceNow, Inc.
H04L41/0894H04L41/0823H04L41/22
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 12689559
App. No.
18/601,502
Granted
Jul 21, 2026
Kind
B2
Abstract

A system includes a processor and memory storing instructions that cause the processor to receive, from a client device, inputs defining associations between one or more control objectives and one more policies, wherein the one or more control objectives define one or more functions to be performed to comply with the one or more policies. The processor may map the one or more policies associated with the one or more control objectives to an application environment and receive, from the client device or a different client device, a change set to an application in the application environment, wherein the change set comprises one or more modifications to the application. The processor may then determine whether the change set adheres to the one or more policies and restrict implementation of the change set in response to determining that the change set does not adhere to the one more policies.

Claims (47)

1 . A system, comprising:

processing circuitry; and

a memory storing processor-executable instructions thereon that, when executed by the processing circuitry, cause the processing circuitry to perform operations comprising:

obtaining an application in an application development environment, the application comprising a plurality of change sets, wherein each change set of the plurality of change sets comprises one or more modifications to a portion of source code associated with the application;

determining that at least one change set of the plurality of change sets does not adhere to a policy associated with a control objective;

based on determining that the at least one change set does not adhere to the policy associated with the control objective, causing development of the application to be suspended;

transmitting a notification to a client device in response to determining that the at least one change set does not adhere to the policy, wherein the notification includes a recommendation to submit a request for an exception to the policy to enable implementation of one or more remaining change sets of the plurality of change sets while implementation of the at least one change set is restricted;

subsequent to causing the development of the application to be suspended, receiving an indication that the at least one change set satisfies the exception to the policy; and

based on receiving the indication that the at least one change set satisfies the exception to the policy, causing the development of the application to be resumed in the application development environment such that the implementation of the one or more remaining change sets of the plurality of change sets is enabled.

2 . The system of claim 1 , wherein causing the development of the application to be suspended comprises restricting the implementation of the at least one change set and the implementation of the one or more remaining change sets to the application in the application development environment.

3 . The system of claim 1 , the operations comprising:

receiving, from a computing device, inputs defining associations between the control objective and the policy, wherein the control objective defines one or more functions to be performed to comply with the policy.

4 . The system of claim 1 , the operations comprising:

mapping the policy associated with the control objective to the application development environment.

5 . The system of claim 1 , wherein receiving the indication that the at least one change set satisfies the exception to the policy comprises determining that one or more conditions associated with the request for the exception are satisfied, wherein the one or more conditions comprise a risk level associated with the request for the exception.

6 . The system of claim 5 , wherein determining that the one or more conditions are satisfied is based at least in part on the risk level being below a threshold risk level.

7 . The system of claim 1 , the operations comprising:

enabling the implementation of the at least one change set to the application in the application development environment in response to determining that the at least one change set adheres to the policy.

8 . The system of claim 1 , wherein the policy is codified by a policy as a code engine that comprises a repository of policies.

9 . The system of claim 1 , the operations comprising:

causing display of the control objective via a graphical user interface associated with the client device.

10 . The system of claim 9 , the operations comprising:

causing display, via the graphical user interface, of a compliance status of the application in the application development environment.

11 . The system of claim 1 , wherein the exception to the policy is associated with a start date and an end date that define a time limit for the exception.

12 . The system of claim 11 , the operations comprising:

determining that the time limit for the exception has lapsed; and

based on determining that the time limit for the exception has lapsed, causing the development of the application to be re-suspended.

13 . The system of claim 1 , wherein the one or more remaining change sets of the plurality of change sets complies with one or more additional policies associated with one or more additional control objectives.

14 . A computer-implemented method that, when executed by data processing hardware, causes the data processing hardware to perform operations for testing compliance in an application development environment, the operations comprising:

obtaining an application in the application development environment, the application comprising a plurality of change sets, wherein each change set of the plurality of change sets comprises one or more modifications to a portion of source code associated with the application;

determining that at least one change set of the plurality of change sets does not comply with a policy associated with a control objective;

based on determining that the at least one change set does not comply with the policy associated with the control objective, causing development of the application to be suspended;

transmitting a notification to a client device in response to determining that the at least one change set does not comply with the policy, wherein the notification includes a recommendation to submit a request for an exception to the policy to enable implementation of one or more remaining change sets of the plurality of change sets while implementation of the at least one change set is restricted;

subsequent to causing the development of the application to be suspended, receiving an indication that the at least one change set satisfies the exception to the policy; and

based on receiving the indication that the at least one change set satisfies the exception to the policy, causing the development of the application to be resumed in the application development environment such that the implementation of the one or more remaining change sets of the plurality of change sets is enabled.

15 . The method of claim 14 , wherein causing the development of the application to be suspended comprises restricting the implementation of the at least one change set and the implementation of the one or more remaining change sets to the application in the application development environment.

16 . The method of claim 14 , wherein receiving the indication that the at least one change set satisfies the exception to the policy comprises determining that one or more conditions associated with the request for the exception are satisfied, wherein the one or more conditions comprise a risk level associated with the request for the exception.

17 . A non-transitory, computer-readable medium comprising computer-executable instructions configured to, when executed, cause processing circuitry to:

obtain an application in an application development environment, the application comprising a plurality of change sets, wherein each change set of the plurality of change sets comprises one or more modifications to a portion of source code associated with the application;

determine that at least one change set of the plurality of change sets does not comply with a policy associated with a control objective;

based on determining that the at least one change set does not comply with the policy associated with the control objective, cause development of the application to be suspended;

transmit a notification to a client device in response to determining that the at least one change set does not comply with the policy, wherein the notification includes a recommendation to submit a request for an exception to the policy to enable implementation of one or more remaining change sets of the plurality of change sets while implementation of the at least one change set is restricted;

subsequent to causing the development of the application to be suspended, receive an indication that the at least one change set satisfies the exception to the policy; and

based on receiving the indication that the at least one change set satisfies the exception to the policy, cause the development of the application in the application development environment to be resumed such that the implementation of the one or more remaining change sets of the plurality of change sets is enabled.

18 . The non-transitory, computer-readable medium of claim 17 , wherein the policy associated with the control objective is mapped to the application development environment, and wherein the control objective defines one or more functions to be performed to comply with the policy.

19 . The non-transitory, computer-readable medium of claim 17 , wherein causing the development of the application to be suspended comprises restricting the implementation of the at least one change set and the implementation of the one or more remaining change sets to the application in the application development environment.

20 . The non-transitory, computer-readable medium of claim 17 , wherein receiving the indication that the at least one change set satisfies the exception to the policy comprises determining that a risk level associated with the request for the exception is below a threshold risk level.