Prosecution Insights
Last updated: August 17, 2026
Application No. 19/070,931

System, Method, and Computer Program Product for Validating Software Agents in Robotic Process Automation Systems

Non-Final OA §103
Filed
Mar 05, 2025
Priority
Sep 16, 2020 — continuation of 11/764,956 +1 more
Examiner
KOBROSLI, SHADI HASSAN
Art Unit
Tech Center
Assignee
Visa International Service Association
OA Round
1 (Non-Final)
72%
Grant Probability
Favorable
1-2
OA Rounds
1y 7m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 72% — above average
72%
Career Allowance Rate
63 granted / 88 resolved
+11.6% vs TC avg
Strong +40% interview lift
Without
With
+39.9%
Interview Lift
resolved cases with interview
Typical timeline
3y 1m
Avg Prosecution
24 currently pending
Career history
112
Total Applications
across all art units

Statute-Specific Performance

§101
4.7%
-35.3% vs TC avg
§103
57.8%
+17.8% vs TC avg
§102
20.9%
-19.1% vs TC avg
§112
14.5%
-25.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 88 resolved cases

Office Action

§103
DETAILED ACTION This action is in response to the application filed on March 5, 2025. Claims 1-20 are pending. Of such, claims 1-7 represent a system, claim 8-14 represents a method, claims 15-20 represent a computer program product directed validating software agents in robotic process automation systems. Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13. The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer. Claims 1-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 11/764,956. Independent Claim 1: Presently presented Claim 1 Claim 1 of ‘956 A system comprising: at least one processor programmed or configured to: receive a first hash value from an automated software agent of a client device, A system comprising: at least one processor programmed or configured to: receive, from a client device, an initialization access request for access to an online source of information by an automated software agent of the client device; process a request to access an online source of information involving the automated software agent of the client device, wherein, when processing the request of the online source of information process a request to access the online source of information involving the automated software agent of the client device, wherein, when processing the request to access the online source of information, receive a second hash value from the automated software agent of the client device and data associated with a role of the automated software agent included in the request to access the online source of information wherein the data associated with a role of the automated software agent comprises at least one of the following: a unique identifier of an operation to be carried out by the automated software agent, an indication of a specific type of data upon which the automated software agent is to carry out an operation, or any combination thereof; receive a second hash value from the automated software agent of the client device and data associated with a role of the automated software agent included in the request to access the online source of information, determine whether to allow access to the online source of information by the automated software agent based on the first hash value and the second hash value received from the automated software agent of the client device, wherein, when determining whether to allow access to the online source of information determine whether to allow access to the online source of information by the automated software agent based on the hash value assigned to the automated software agent of the client device and the second hash value received from the automated software agent of the client device, wherein, when determining whether to allow access to the online source of information, the at least one processor is programmed or configured to: the at least one processor is programmed or configured to: determine whether the second hash value received from the automated software agent of the client device corresponds to the first hash value; and determine whether the second hash value received from the automated software agent of the client device corresponds to the hash value assigned to the automated software agent of the client device; determine a specific type of data included in the online source of information on which the automated software agent is to carry out an operation based on at least one of the following:  the unique identifier of the operation to be carried out by the automated software agent,  the indication of the specific type of data upon which the automated software agent is to carry out the operation, or  any combination thereof; and determine a specific type of data included in the online source of information on which the automated software agent is to carry out an operation based on the data associated with a role of the automated software agent; allow the automated software agent to conduct a data transaction involving the specific type of data included in the online source of information based on determining to allow access to the online source of information by the automated software agent of the client device; and allow the automated software agent to conduct a data transaction involving the specific type of data included in the online source of information based on determining to allow access to the online source of information by the automated software agent of the client device; and store a data record associated with the data transaction involving the online source of information in a distributed ledger. store a data record associated with the data transaction involving the online source of information in a data structure. Independent claims 8 and 15 would follow the same mapping as outlined with claim 1. Dependent Claims: Presently Presented Dependent Claims Dependent Claims of ‘956 Claims 2 Claim 3 Claim 3 Claim 4 Claim 4 Claim 2 Claim 5 Claim 2 Claim 6 Claim 1 + 2 Claim 7 Claim 1 Dependent claims 9-14 and 16-20 would follow the same mapping as outlined with claims 2-7. Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-6, 8-13, and 15-19 are rejected under 35 U.S.C. 103 as being unpatentable by Foth et al. (US 2021/0288823), hereinafter referred to as Foth, in view of Dunjik et al. (US 2021/0036854), hereinafter referred to as Dunjik. Regarding Claim 1, Foth discloses: A system comprising: at least one processor programmed or configured to (In ¶ 8, Foth discloses “one or more processors; and memory storing one or more programs, wherein the one or more programs are configured to be executable by the one or more processors”): receive a first hash value from an automated software agent of a client device (In ¶ 53, Foth discloses “a plurality of hash values can be generated, the plurality of hash values corresponding to the computer script, runtime utility, and log file.” and further in ¶ 43 “an RPA script includes computer code configured to automatically execute a process that may have traditionally been performed by a human operator (e.g., processing invoices, preparing periodic reports, granting mortgage applications, etc.)”); process a request to access an online source of information involving the automated software agent of the client device, wherein, when processing the request of the online source of information (In ¶ 82, Foth discloses “the received computer script may be compiled and/or executed by the received runtime utility using the received dependent programs”); the at least one processor is programmed or configured to: receive a second hash value from the automated software agent of the client device and data associated with a role of the automated software agent included in the request to access the online source of information (In ¶ 69, Foth discloses “a hash value may be computed for the runtime utility” and further discloses in ¶ 73 “ a hash value may be computed for the computer script”), determine whether to allow access to the online source of information by the automated software agent based on the first hash value and the second hash value received from the automated software agent of the client device, wherein, when determining whether to allow access to the online source of information, the at least one processor is programmed or configured to: determine whether the second hash value received from the automated software agent of the client device corresponds to the first hash value (In ¶ 70, Foth discloses “it can be determined if the computed hash value matches a hash value corresponding to the runtime utility and stored in the successful block. In some embodiments, metadata stored in the successful block may indicate which hash value corresponds to a runtime utility.” And further in ¶ 75-78 “In some embodiments, the one or more dependent programs may be used by a computer script and/or runtime utility during script execution.”); and store a data record associated with the data transaction involving the online source of information in a distributed ledger (In ¶ 87, Foth discloses “a block corresponding to the data package can be registered to a blockchain ledger” and further in ¶ 96, “In some embodiments, block 302 may include payload 304. In some embodiments, payload 304 may include an execution result.”). However, Foth does not explicitly disclose the request containing an operation on specific data. Dunjik discloses wherein the data associated with a role of the automated software agent comprises at least one of the following: a unique identifier of an operation to be carried out by the automated software agent, an indication of a specific type of data upon which the automated software agent is to carry out an operation, or any combination thereof (In ¶ 69, Dunjik discloses “request 304 may include a data identifier 306 of each of the requested elements of confidential data e.g., unique identifiers of the requested elements of account data and transaction data maintained by computing system 130. Further, although not illustrated in FIG. 3A, request 304 may also include information that identifies and characterizes one or more operations involving the requested elements of confidential data”) and determine a specific type of data included in the online source of information on which the automated software agent is to carry out an operation based on at least one of the following: the unique identifier of the operation to be carried out by the automated software agent, the indication of the specific type of data upon which the automated software agent is to carry out the operation, or any combination thereof (In ¶ 89, Dunjik discloses “based on a comparison between consent document 268 and data identifiers 306, executed consent detection module 324 may determine whether each of the requested elements of confidential data (e.g., as specified by identifiers 306) is consistent with the level of access previously granted”); and allow the automated software agent to conduct a data transaction involving the specific type of data included in the online source of information based on determining to allow access to the online source of information by the automated software agent of the client device (In ¶ 171, Dunjik discloses “extract least the subset of the requested elements of confidential data from an accessible data repository (e.g., in step 618). Further, and as described herein, computing system 130 may encrypt the extracted elements of confidential data using a public cryptographic key associated with or assigned to the executed third-party application and in some instances, may apply a digital signature to the encrypted elements of confidential data using any appropriate digital signature algorithm in conjunction with a private cryptographic key of computing system 130 (e.g., in step 620). Computing system 130 may transmit the encrypted and digitally signed elements of confidential data across network 120 to client device”); One in ordinary skill in the art of cryptography would have been motivated, before the effective filing date of the claimed invention to utilize Dunjik’s approach of role based access to specific with Foth’s approach of verification and execution of a software agent as the motivation would be to ensure cryptographically secure, and tamper-evident attestation of the level of access granted while keeping a cryptographically secure record of the type of data accessed via an identifier (See Dunjik, ¶¶ 29, 33) Regarding Claim 2, the combination of Foth and Dunjik disclose the limitations of Claim 1. However, Foth does not explicitly disclose the request containing an operation on specific data. Dunjik discloses: The system of claim 1, wherein, when determining whether to allow access to the online source of information by the automated software agent of the client device, the at least one processor is programmed or configured to: retrieve the first hash value from a database based on an identifier of the automated software agent of the client device (In ¶ 81, Dunjik discloses “executed consent verification module 322 may parse request 304 and extract consent hash value 308 and identifier 312B of executed third-party application 112…executed consent verification module 322 may also access consent data store 138, and identify and extract a reference consent hash value, e.g., consent hash value 270, associated with or linked to identifier 312A (and OAuth token 272) within consent data store 138.”); compare the second hash value received from the automated software agent to the first hash value retrieved from the database (In ¶ 83, Dunjik discloses “Executed consent verification module 322 may perform additional operations that determine whether consent hash value 308 (e.g., as received from executed third-party application 112) corresponds to, and matches, consent hash value 270 (e.g., as generated by executed consent management module 266 of computing system 130)”); and determine to allow access to the online source of information by the automated software agent of the client device based on determining that the second hash value received from the automated software agent corresponds to the first hash value retrieved from the database (In ¶ 87, Dunjik discloses “if executed consent verification module 322 were to determine that consent hash value 308 corresponds to, and matches, consent hash value 270…may perform operations that route request 304 to a consent detection module 324”). One in ordinary skill in the art of cryptography would have been motivated, before the effective filing date of the claimed invention to utilize Dunjik’s approach of role based access to specific with Foth’s approach of verification and execution of a software agent as the motivation would be to ensure cryptographically secure, and tamper-evident attestation of the level of access granted while keeping a cryptographically secure record of the type of data accessed via an identifier (See Dunjik, ¶¶ 29, 33) Regarding Claim 3, the combination of Foth and Dunjik disclose the limitations of Claim 1. However, Foth does not explicitly disclose the request containing an operation on specific data. Dunjik discloses: The system of claim 1, wherein, when receiving the second hash value from the automated software agent of the client device, the at least one processor is programmed or configured to: receive the request to access the online source of information from the automated software agent (In ¶ 75, Dunjik discloses “A secure, programmatic interface established and maintained by computing system 130, such as application programming interface (API) 318, may receive request 304, and may route request 304, applied digital signature 314, and a public key certificate 316 to consent and permissioning engine 142”), wherein the request to access the online source of information includes the second hash value (In ¶ 70, Dunjik discloses “executed request management module 302 may access local credential data store 292 (e.g., as maintained within a portion of memory 106), extract a consent hash value 308, and package consent hash value 308 within a corresponding portion of request 304.”) and the data associated with a role of the automated software agent of the client device (In ¶ 69, Dunjik discloses “request 304 may also include information that identifies and characterizes one or more operations involving the requested elements of confidential data, e.g., the presentation of the account balance and the transaction data”). One in ordinary skill in the art of cryptography would have been motivated, before the effective filing date of the claimed invention to utilize Dunjik’s approach of role based access to specific with Foth’s approach of verification and execution of a software agent as the motivation would be to ensure cryptographically secure, and tamper-evident attestation of the level of access granted while keeping a cryptographically secure record of the type of data accessed via an identifier (See Dunjik, ¶¶ 29, 33) Regarding Claim 4, the combination of Foth and Dunjik disclose: The system of claim 1, wherein, when storing the data record associated with the data transaction involving the online source of information in the distributed ledger, the at least one processor is programmed or configured to: store the data record associated with the data transaction involving the online source of information in a blockchain (In ¶ 87, Foth discloses “a block corresponding to the data package can be registered to a blockchain ledger”). Regarding Claim 5, the combination of Foth and Dunjik disclose: The system of claim 4, wherein the blockchain comprises a plurality of blocks (In ¶ 95, Foth discloses “a blockchain can comprise one or more blocks (e.g., block 302).”), wherein each block comprises: a hash record comprising a hash value of information included in a previous block in the blockchain (In ¶ 95, Foth discloses “block 302 can include a hash value corresponding to the contents of a previous block (e.g., the immediately previous block). In some embodiments, a hash value corresponding to the contents of a previous block produces a tamper-resistant chain”); and a software agent data record that comprises data associated with a transaction conducted by a software agent (In ¶ 96, Foth discloses “In some embodiments, block 302 may include payload 304. In some embodiments, payload 304 may include an execution result. In some embodiments, an execution result can indicate whether a corresponding script execution was successful or not (e.g., using a bit flag).”). Regarding Claim 6, the combination of Foth and Dunjik disclose the limitations of Claim 1. However, Foth does not explicitly disclose the request containing an operation on specific data. Dunjik discloses: The system of claim 1, wherein the at least one processor is further programmed or configured to: receive an initialization access request from the client device, wherein the initialization access request comprises a request for authorization to access the online source of information by the automated software agent of the client device (In ¶ 35, Dunjik discloses “executed third-party application 112 may receive the one or more authentication credentials, e.g., via input unit 116B, and may package the one or more authentication credentials and a unique device identifier of client device 102 … into corresponding portions of authentication data, which client device 102 may transmit across network 120 to computing system 130.” And further in ¶ 151 , “computing system 130 may receive authentication data from client device 102 across network 12”); generate software agent credential data associated with access credentials to the online source of information (In ¶ 59, Dunjik discloses “Executed consent management module 266 may perform further operations that generate a digital token, cryptogram, hash value, or other element of cryptographic data, e.g., an OAuth token 272, indicative of the successful authentication of the identity of user 101 and of the permission of third-party application to access one or more programmatic interfaces established or maintained by computing system 130”); and store the software agent credential data associated with access credentials to the distributed ledger (In ¶ 62, Dunjik discloses “generate an additional ledger block 288 of distributed ledger 186 that includes consent document 268, consent hash value 270, and application identifier 260C (along with an additional hash value representative of these elements of included data)”). One in ordinary skill in the art of cryptography would have been motivated, before the effective filing date of the claimed invention to utilize Dunjik’s approach of role based access to specific with Foth’s approach of verification and execution of a software agent as the motivation would be to ensure cryptographically secure, and tamper-evident attestation of the level of access granted while keeping a cryptographically secure record of the type of data accessed via an identifier (See Dunjik, ¶¶ 29, 33) Claims 8-13 are directed to a method having functionality corresponding to the system of Claims 1-6 and are rejected by a similar rationale, mutatis mutandis. Claims 15-19 are directed to a computer program product having functionality corresponding to the system of Claims 1-6 and are rejected by a similar rationale, mutatis mutandis. Claims 7, 14, and 20 are rejected under 35 U.S.C. 103 as being unpatentable by Foth et al. (US 2021/0288823), hereinafter referred to as Foth, in view of Dunjik et al. (US 2021/0036854), hereinafter referred to as Dunjik, in further view of Almahallawy et al. (US 9621540), hereinafter referred to as Almahallawy. Regarding Claim 7, the combination of Foth and Dunjik disclose the limitations of Claim 6. However, Foth does not explicitly disclose the request containing an operation on specific data. Almahallawy discloses: The system of claim 6, wherein, when generating the software agent credential data associated with access credentials to the online source of information, the at least one processor is programmed or configured to: generate a private encryption key of a public/private encryption key pair (In Col 8, Lines 26-27, Almahallawy discloses “the security module 204 may generate a public/private key pair on behalf of the personal computing device 102.”), and wherein the at least one processor is further programmed or configured to: transmit the private encryption key of the public/private encryption key pair to the automated software agent of the client device (In Col 14, Lines 1-5, Almahallawy discloses “the trusted computing device 132 may securely export the access certificate received from the certificate server 162 and the private key of the public/private key pair, to the personal computing device 102 over the communication channel 196”). One in ordinary skill in the art of cryptography would have been motivated, before the effective filing date of the claimed invention to utilize Almahallawy’s approach of generating and assigning keys with Foth’s approach of verification and execution of a software agent as the motivation would be to ensure a cryptographically secure provisioning of credentials needed to protect network resources (See Almahallawy, Background) However, Foth does not explicitly disclose the a private key assigned to a software agent. Dunjik discloses: wherein the private encryption key is assigned to the automated software agent of the client device (In ¶ 97, Dunjik discloses “Executed data processing module 342 may also access a private cryptographic key of third-party application 112, and may decrypt the elements of encrypted confidential data 334, e.g., to generate decrypted elements of confidential data 344.”); One in ordinary skill in the art of cryptography would have been motivated, before the effective filing date of the claimed invention to utilize Dunjik’s approach of role based access to specific with Foth’s approach of verification and execution of a software agent as the motivation would be to ensure cryptographically secure, and tamper-evident attestation of the level of access granted while keeping a cryptographically secure record of the type of data accessed via an identifier (See Dunjik, ¶¶ 29, 33) Claim 14 is directed to a method having functionality corresponding to the system of Claim 7 and is rejected by a similar rationale, mutatis mutandis. Claim 20 is directed to a computer program product having functionality corresponding to the system of Claim 7 and is rejected by a similar rationale, mutatis mutandis. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Ragupathy et al. (US Patent 10733329) discloses a robotic process automation system with improved security in the form of a credential vault includes data storage for storing bots Whelan et al. (US Publication Number 20190384956) discloses a method for tracking and monitoring devices with access to sensitive data. Any inquiry concerning this communication or earlier communications from the examiner should be directed to SHADI H KOBROSLI whose telephone number is (571)272-1952. The examiner can normally be reached M-F 9am-5pm ET. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Rupal Dharia can be reached at 571-272-3880. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /SHADI H KOBROSLI/Examiner, Art Unit 2492 /OLEG KORSAK/Primary Examiner, Art Unit 2492
Read full office action

Prosecution Timeline

Mar 05, 2025
Application Filed
Jul 27, 2026
Non-Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12706919
Securely Accessing a Break-Glass Account
2y 10m to grant Granted Aug 11, 2026
Patent 12671680
SYSTEMS AND METHODS FOR ACCOUNT SESSION MANAGEMENT
4y 1m to grant Granted Jun 30, 2026
Patent 12671576
SECURE AGGREGATION WITH INTEGRITY VERIFICATION
2y 8m to grant Granted Jun 30, 2026
Patent 12665761
MUTUAL AUTHENTICATION BETWEEN A HARDWARE TOKEN AND NON-NETWORKED DEVICE
4y 12m to grant Granted Jun 23, 2026
Patent 12647436
Adversarial Machine Learning Attack Detection and Prevention System
4y 3m to grant Granted Jun 02, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
72%
Grant Probability
99%
With Interview (+39.9%)
3y 1m (~1y 7m remaining)
Median Time to Grant
Low
PTA Risk
Based on 88 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month