EP4330892A1 - Systems and methods for facilitating observer interactions with an online interaction system - Google Patents

Systems and methods for facilitating observer interactions with an online interaction system

Info

Publication number
EP4330892A1
EP4330892A1 EP22724188.2A EP22724188A EP4330892A1 EP 4330892 A1 EP4330892 A1 EP 4330892A1 EP 22724188 A EP22724188 A EP 22724188A EP 4330892 A1 EP4330892 A1 EP 4330892A1
Authority
EP
European Patent Office
Prior art keywords
user
computer
implemented method
observer
compliance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP22724188.2A
Other languages
German (de)
French (fr)
Inventor
Jasmeet ARORA
Aislin BLACK
Benjamin Chen
Yauhen FADZEYEU
Christina FANCY
James Graham
Eric KIM-BUTLER
Stephanie YIN
Yehoshua SILBERSTEIN
Jacqueline PHILLIPS
James Allen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Notarize Inc
Original Assignee
Notarize Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Notarize Inc filed Critical Notarize Inc
Publication of EP4330892A1 publication Critical patent/EP4330892A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services

Definitions

  • a computer-implemented method for determining whether to authorize a user to perform transactions on an online interaction system comprising: receiving information identifying the user, wherein the information identifying the user includes a commission authority; determining, based on the information identifying the user, one or more compliance requirements applicable to the user; obtaining compliance information based on the one or more compliance requirements applicable to the user; determining whether the one or more compliance requirements applicable to the user are satisfied based on the compliance information; and in response to determining that the one or more compliance requirements applicable to the user are satisfied, authorizing the user to perform transactions on the online interaction system.
  • a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer-implemented method for determining whether to authorize a user to perform transactions on an online interaction system comprising: receiving information identifying the user, wherein the information identifying the user includes a commission authority; determining, based on the information identifying the user, one or more compliance requirements applicable to the user; obtaining compliance information based on the one or more compliance requirements applicable to the user; determining whether the one or more compliance requirements applicable to the user are satisfied based on the compliance information; and in response to determining that the one or more compliance requirements applicable to the user are satisfied, authorizing the user to perform transactions on the online interaction system.
  • At least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer-implemented method for determining whether to authorize a user to perform transactions on an online interaction system comprising: receiving information identifying the user, wherein the information identifying the user includes a commission authority; determining, based on the information identifying the user, one or more compliance requirements applicable to the user; obtaining compliance information based on the one or more compliance requirements applicable to the user; determining whether the one or more compliance requirements applicable to the user are satisfied based on the compliance information; and in response to determining that the one or more compliance requirements applicable to the user are satisfied, authorizing the user to perform transactions on the online interaction system.
  • a computer implemented- method for managing a digital certificate of a user which generates an electronic signature of the user over a document using a cryptographic key comprising: receiving the digital certificate; determining whether the digital certificate is compliant, wherein determining whether the digital certificate is compliant comprises determining whether the digital certificate identifies the user as a subject of the electronic signature; and in response to determining that the digital certificate is compliant, storing the digital certificate in a database.
  • a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer implemented- method for managing a digital certificate of a user which generates an electronic signature of the user over a document using a cryptographic key, the computer-implemented method comprising: receiving the digital certificate; determining whether the digital certificate is compliant, wherein determining whether the digital certificate is compliant comprises determining whether the digital certificate identifies the user as a subject of the electronic signature; and in response to determining that the digital certificate is compliant, storing the digital certificate in a database.
  • At least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer implemented-method for managing a digital certificate of a user which generates an electronic signature of the user over a document using a cryptographic key, the computer-implemented method comprising: receiving the digital certificate; determining whether the digital certificate is compliant, wherein determining whether the digital certificate is compliant comprises determining whether the digital certificate identifies the user as a subject of the electronic signature; and in response to determining that the digital certificate is compliant, storing the digital certificate in a database.
  • a computer-implemented method for simulating a transaction on an online interaction system configured to communicate with an observer interface to perform transactions
  • the computer-implemented method comprising: based on an indication that the transaction is to be simulated: receiving, with an application programming interface (API), a call transmitted by the observer interface to the online interaction system, wherein the API intercepts the call transmitted by the observer interface before the call is received by the online interaction system; and transmitting, with the API and to the observer interface, a response to the call.
  • API application programming interface
  • a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer-implemented method for simulating a transaction on an online interaction system configured to communicate with an observer interface to perform transactions, the computer-implemented method comprising: based on an indication that the transaction is to be simulated: receiving, with an application programming interface (API), a call transmitted by the observer interface to the online interaction system, wherein the API intercepts the call transmitted by the observer interface before the call is received by the online interaction system; and transmitting, with the API and to the observer interface, a response to the call.
  • API application programming interface
  • At least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer-implemented method for simulating a transaction on an online interaction system configured to communicate with an observer interface to perform transactions, the computer-implemented method comprising: based on an indication that the transaction is to be simulated: receiving, with an application programming interface (API), a call transmitted by the observer interface to the online interaction system, wherein the API intercepts the call transmitted by the observer interface before the call is received by the online interaction system; and transmitting, with the API and to the observer interface, a response to the call.
  • API application programming interface
  • a computer-implemented method for securing database entries generating a journal entry in a database, wherein the journal entry comprises a row in the database and includes information regarding a notarized transaction; and using a private key of a cryptographic key pair to generate a cryptographic component over one or more fields of the journal entry, wherein veracity of the journal entry is determined by verifying the private key with a public key of the cryptographic key pair.
  • a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer-implemented method for securing database entries: generating a journal entry in a database, wherein the journal entry comprises a row in the database and includes information regarding a notarized transaction; and using a private key of a cryptographic key pair to generate a cryptographic component over one or more fields of the journal entry, wherein veracity of the journal entry is determined by verifying the private key with a public key of the cryptographic key pair.
  • At least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer-implemented method for securing database entries: generating a journal entry in a database, wherein the journal entry comprises a row in the database and includes information regarding a notarized transaction; and using a private key of a cryptographic key pair to generate a cryptographic component over one or more fields of the journal entry, wherein veracity of the journal entry is determined by verifying the private key with a public key of the cryptographic key pair.
  • FIG. 1 shows an illustrative online interaction system 100, in accordance with some embodiments.
  • FIG. 2 shows an illustrative onboarding interface 200, in accordance with some embodiments.
  • FIG. 3 shows an illustrative process 300 for a compliance check, in accordance with some embodiments.
  • FIG. 4 shows an illustrative process 400 for managing a digital certificate, in accordance with some embodiments.
  • FIGs. 5A-C show, respectively, illustrative user interfaces 500, 510, and 520, in accordance with some embodiments.
  • FIGs. 6A-B show, respectively, illustrative seals 600 and 610, in accordance with some embodiments.
  • FIG. 7A shows an illustrative onboarding status diagram 700, in accordance with some embodiments.
  • FIG. 7B shows an illustrative compliance status diagram 750, in accordance with some embodiments.
  • FIG. 8 shows an illustrative list 800 of observer profiles, in accordance with some embodiments.
  • FIGs. 9A-G show various tabs of an illustrative observer profile 900, in accordance with some embodiments.
  • FIG. 10A shows an illustrative screen 1050 of the illustrative observer interface 105 in the example of FIG. 1, in accordance with some embodiments.
  • FIG. 10B shows a portion of the illustrative screen 1050 in the example of FIG. 10A, in accordance with some embodiments.
  • FIG. 11 shows an illustrative observer journal database, in accordance with some embodiments.
  • FIG. 12 shows, schematically, an illustrative computer 1000 on which any aspect of the present disclosure may be implemented.
  • the 2020 coronavirus pandemic has accelerated the trend to conduct transactions remotely. For instance, consumers are increasingly purchasing big-ticket items online, such as automobiles and real estate. Such transactions often include a loan, for which a consumer must sign legally-binding documents in the presence of an observer, such as a notary with a valid commission from an authority (e.g., a state, a country, etc.). The observer must follow the commission authority’s rules for verifying a signer’s identity, observing the signer sign a document, applying a seal to the signed document, creating a journal entry with pertinent information (e.g., signer name, signing date, description of document signed, etc.), etc. Failure to meet such requirements may jeopardize the validity of the transaction.
  • an observer such as a notary with a valid commission from an authority (e.g., a state, a country, etc.).
  • the observer must follow the commission authority’s rules for verifying a signer’s identity, observing the signer sign
  • Some aspects of the technology described herein include techniques for onboarding observers onto the technology platform which allows independent observers to conduct online signing sessions. For example, in some embodiments, techniques are provided for checking whether an observer attempting to sign up with a technology platform should be allowed to conduct online signing sessions. For instance, techniques may be provided for checking whether an observer has a valid commission from a selected authority, and/or is in compliance with one or more requirements of the selected authority.
  • techniques are provided for assisting an observer in preparing for online signing sessions.
  • a commission authority may require an observer to sign an electronic document by generating an electronic signature over the document using a cryptographic key.
  • Such an electronic signature may be referred to herein as a cryptographic signature, to distinguish from an electronic signature that is: (i) handwritten by a signer using a pen and then captured using a camera, (ii) handwritten by the signer using a pointing device such as a touchpad, (iii) typed in by the signer, or (iv) generated automatically and adopted by the signer.
  • techniques are provided for managing, on behalf of an observer, the observer’s cryptographic key and/or a digital certificate associated therewith.
  • a commission authority may require an observer to sign an electronic document by inserting an image of a handwritten signature. Accordingly, in some embodiments, techniques are provided for capturing an image of a handwritten signature from an observer.
  • a commission authority may require an observer to insert an image of a seal into a signed document. Accordingly, in some embodiments, techniques are provided for generating an image of a seal based on information pertaining to an observer.
  • a computer-implemented method for determining whether to authorize a user to perform transactions on an online interaction system comprising: receiving information identifying the user (e.g., one or more of a name of the user, an email address of the user, a physical address of the user, a phone number of the user, a commission number of the user, or a commission expiration date of the user), wherein the information identifying the user includes a commission authority (e.g., a commission granting the user authority to act as a notary); determining, based on the information identifying the user, one or more compliance requirements applicable to the user; obtaining compliance information (e.g., one or more of a commission authority, a commission number, a commission expiration, a phone number, a date of training completion, information regarding a background check of the user, insurance information, or bond information) based on the one or more compliance requirements applicable to the user; determining whether the one or more compliance requirements applicable to the user are satisfied based on the compliance
  • the method further comprises prompting, via an interface of the online interaction system, the user to provide the information identifying the user.
  • determining the one or more compliance requirements applicable to the user comprises: retrieving, based on the commission authority included in the information identifying the user, the one or more compliance requirements from a database indexed by commission authority.
  • the compliance information is received from the user.
  • the method further comprises prompting, via an interface of the online interaction system, the user to provide the compliance information, wherein the user interface is configured based on the one or more compliance requirements.
  • determining whether the one or more compliance requirements applicable to the user are satisfied comprises: determining, using a trusted third party information source (e.g., the National Notary Association), whether the compliance information is correct.
  • a trusted third party information source e.g., the National Notary Association
  • obtaining the one or more compliance requirements comprises: obtaining, using the commission authority, one or more values encoding the one or more compliance requirements from a database; and applying the one or more values encoding the one or more compliance requirements to determine the one or more compliance requirements.
  • the method further comprises, prior to authorizing the user to perform transactions on the online interaction system, manually reviewing the information identifying the user and/or the compliance information.
  • a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer-implemented method for determining whether to authorize a user to perform transactions on an online interaction system comprising: receiving information identifying the user, wherein the information identifying the user includes a commission authority; determining, based on the information identifying the user, one or more compliance requirements applicable to the user; obtaining compliance information based on the one or more compliance requirements applicable to the user; determining whether the one or more compliance requirements applicable to the user are satisfied based on the compliance information; and in response to determining that the one or more compliance requirements applicable to the user are satisfied, authorizing the user to perform transactions on the online interaction system.
  • the system may be configured to perform any of the methods described herein.
  • At least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer-implemented method for determining whether to authorize a user to perform transactions on an online interaction system comprising: receiving information identifying the user, wherein the information identifying the user includes a commission authority; determining, based on the information identifying the user, one or more compliance requirements applicable to the user; obtaining compliance information based on the one or more compliance requirements applicable to the user; determining whether the one or more compliance requirements applicable to the user are satisfied based on the compliance information; and in response to determining that the one or more compliance requirements applicable to the user are satisfied, authorizing the user to perform transactions on the online interaction system. Executing the instructions may cause the at least one processor to perform any of the methods described herein.
  • a computer implemented- method for managing a digital certificate of a user which generates an electronic signature of the user over a document using a cryptographic key comprising: receiving the digital certificate; determining whether the digital certificate is compliant, wherein determining whether the digital certificate is compliant comprises determining whether the digital certificate identifies the user as a subject of the electronic signature; and in response to determining that the digital certificate is compliant, storing the digital certificate in a database.
  • the digital certificate is received from the user. In some embodiments, the method further comprises receiving, from the user, a password associated with the digital certificate.
  • determining whether the digital certificate identifies the user comprises determining whether a public key belonging to the user is associated with the cryptographic key used to generate the electronic signature.
  • the digital certificate is issued by a third party certificate authority.
  • determining whether the digital certificate is compliant comprises accessing a public key of a certificate authority that issued the digital certificate and using the public key of the certificate authority to confirm the electronic signature is accurate.
  • the method further comprises in response to determining that the digital certificate is compliant, enabling the user to apply the digital certificate to the document.
  • a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer implemented- method for managing a digital certificate of a user which generates an electronic signature of the user over a document using a cryptographic key, the computer-implemented method comprising: receiving the digital certificate; determining whether the digital certificate is compliant, wherein determining whether the digital certificate is compliant comprises determining whether the digital certificate identifies the user as a subject of the electronic signature; and in response to determining that the digital certificate is compliant, storing the digital certificate in a database.
  • the system may be configured to perform any of the methods described herein.
  • At least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer implemented-method for managing a digital certificate of a user which generates an electronic signature of the user over a document using a cryptographic key, the computer-implemented method comprising: receiving the digital certificate; determining whether the digital certificate is compliant, wherein determining whether the digital certificate is compliant comprises determining whether the digital certificate identifies the user as a subject of the electronic signature; and in response to determining that the digital certificate is compliant, storing the digital certificate in a database. Executing the instructions may cause the at least one processor to perform any of the methods described herein.
  • a computer-implemented method for simulating a transaction on an online interaction system configured to communicate with an observer interface to perform transactions
  • the computer-implemented method comprising: based on an indication that the transaction is to be simulated: receiving, with an application programming interface (API), a call transmitted by the observer interface to the online interaction system, wherein the API intercepts the call transmitted by the observer interface before the call is received by the online interaction system; and transmitting, with the API and to the observer interface, a response to the call.
  • API application programming interface
  • the method further comprises logging, with the API, one or more interactions of a user with the observer interface; and assessing performance of the user based on the one or more interactions logged by the API.
  • assessing the performance of the user comprises determining whether a location of an annotation (e.g., one or more of a seal, a signature, or initials) inserted by the user via the observer interface is correct.
  • assessing the performance of the user comprises determining whether a type of an annotation inserted by the user via the observer interface is correct, wherein the type of the annotation is one of handwritten or electronic. In some embodiments, assessing the performance of the user comprises determining whether a size of an annotation inserted by a user via the observer interface is correct.
  • the response to the call is randomly generated based on a type (e.g., one of a signer name, a house number, a street name, a city, a state, or a postal code) and/or one or more associated conditions (e.g., one or more of a character limit or a character type) of an expected response.
  • a type e.g., one of a signer name, a house number, a street name, a city, a state, or a postal code
  • associated conditions e.g., one or more of a character limit or a character type
  • the method further comprises based on an indication that the transaction is not simulated: receiving, with the online interaction system, the call transmitted by the observer interface.
  • a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer-implemented method for simulating a transaction on an online interaction system configured to communicate with an observer interface to perform transactions, the computer-implemented method comprising: based on an indication that the transaction is to be simulated: receiving, with an application programming interface (API), a call transmitted by the observer interface to the online interaction system, wherein the API intercepts the call transmitted by the observer interface before the call is received by the online interaction system; and transmitting, with the API and to the observer interface, a response to the call.
  • API application programming interface
  • the system may be configured to perform any of the methods described herein.
  • At least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer-implemented method for simulating a transaction on an online interaction system configured to communicate with an observer interface to perform transactions, the computer-implemented method comprising: based on an indication that the transaction is to be simulated: receiving, with an application programming interface (API), a call transmitted by the observer interface to the online interaction system, wherein the API intercepts the call transmitted by the observer interface before the call is received by the online interaction system; and transmitting, with the API and to the observer interface, a response to the call. Executing the instructions may cause the at least one processor to perform any of the methods described herein.
  • API application programming interface
  • a computer-implemented method for securing database entries generating a journal entry (e.g., a notary journal entry) in a database, wherein the journal entry comprises a row in the database and includes information regarding a notarized transaction (e.g., one or more of information regarding the notarized transaction comprises one or more of a notary identifier, a notary name, a signer name, a signing completion date, a transcript of the notarized transaction, a document description, or a document copy); and using a private key of a cryptographic key pair to generate a cryptographic component (e.g., a cryptographic signature, a cryptographic hash) over one or more fields of the journal entry, wherein veracity of the journal entry is determined by verifying the private key with a public key of the cryptographic key pair.
  • a cryptographic component e.g., a cryptographic signature, a cryptographic hash
  • the journal entry comprises a plurality of fields comprising the information regarding the notarized transaction.
  • the method further comprises verifying the private key of the journal entry with the public key of the cryptographic key pair.
  • the method further comprises setting the journal entry to read only after generating the journal entry. In some embodiments, the method further comprises transmitting an alert in response to detecting an attempt to edit the journal entry.
  • the generating the journal entry is performed after the notarized transaction is performed.
  • the database comprises a distributed ledger (e.g., a blockchain), and generating the journal entry comprises storing the journal entry in the distributed ledger.
  • a distributed ledger e.g., a blockchain
  • a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer-implemented method for securing database entries: generating a journal entry in a database, wherein the journal entry comprises a row in the database and includes information regarding a notarized transaction; and using a private key of a cryptographic key pair to generate a cryptographic component over one or more fields of the journal entry, wherein veracity of the journal entry is determined by verifying the private key with a public key of the cryptographic key pair.
  • the system may be configured to perform any of the methods described herein.
  • At least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer-implemented method for securing database entries: generating a journal entry in a database, wherein the journal entry comprises a row in the database and includes information regarding a notarized transaction; and using a private key of a cryptographic key pair to generate a cryptographic component over one or more fields of the journal entry, wherein veracity of the journal entry is determined by verifying the private key with a public key of the cryptographic key pair. Executing the instructions may cause the at least one processor to perform any of the methods described herein.
  • FIG. 1 shows an illustrative online interaction system 100, in accordance with some embodiments.
  • the online interaction system 100 is configured to facilitate an online signing session between an observer and one or more signers.
  • the observer may interact with the online interaction system 100 via an observer interface 105
  • a signer may interact with the online interaction system 100 via a signer interface 110A or 110B.
  • a user interface may be configured to display data received from the online interaction system 100, solicit one or more user inputs, and/or forward one or more received user inputs to the online interaction system 100.
  • a user interface may be configured to display one or more documents to be signed, prompt a signer to insert a signature at a selected location in a document, send to the online interaction system 100 an indication that the signer has inserted a signature, prompt an observer to insert a seal at a selected location in the document, send to the online interaction system 100 an indication that the observer has inserted a seal, etc.
  • a user interface may include a web browser configured to execute one or more scripts received from the online interaction system 100. Additionally, or alternatively, a user interface may include user interface software installed on a client device (e.g., a desktop computer, or a mobile device such as a laptop computer, a tablet computer, a smartphone, etc.).
  • a client device e.g., a desktop computer, or a mobile device such as a laptop computer, a tablet computer, a smartphone, etc.
  • a first user interface may be provided via a web browser, whereas a second user interface may be provided as an application running on a client device, or vice versa.
  • a user interface may communicate with the online interaction system 100 via one or more network interfaces.
  • a network interface may use any suitable networking technology, such as 5G, LTE, WiMAX, WiFi, Ethernet, Bluetooth, etc.
  • the observer interface 105 may include a tool bar for assisting an observer in performing one or more acts required by the observer’s commission authority.
  • the tool bar may allow an observer to easily insert initials, a handwritten signature, a seal, etc. (e.g., via a drag-and-drop operation).
  • the online interaction system 100 and/or the observer interface 105 may insert into a document certain information required by the observer’s commission authority, such as the observer’s name, commission number, commission expiration date, etc. Such information may be populated in response to the observer’s input (e.g., via the tool bar), or by default, without the observer’s input.
  • the online interaction system 100 captures a video of an online signing session.
  • a video of the notarized transaction may be required to comply with statutes and regulations governing the transaction (e.g., in order for the transaction to have legal effect).
  • the video may be stored in a database (e.g., the notary journal database described herein).
  • the online interaction system 100 may additionally or alternatively allow participants (e.g., signers, observers, witnesses, etc.) of the signing session to communicate with each other via an instant messaging system.
  • the online interaction system 100 may provide a chat where session participants may message one or more other session participants.
  • a transcript of the messages sent during the signing session may be generated.
  • the transcript may include each message sent during the signing session, an indication of who sent the message, an indication of who received the message, and/or a time stamp of when the message was sent and/or received.
  • the chat transcript and video capture of the session may be combined.
  • the messages sent during the session may be superimposed on the video at the appropriate timestamp at which the message was sent.
  • FIG. 2 shows an illustrative onboarding interface 200, in accordance with some embodiments. Similar to the illustrative observer interface 105 in the example of FIG. 1, the onboarding interface 200 may be provided via a web browser, as an application running on a client device, or in another suitable manner.
  • the onboarding interface 200 may be used to facilitate a compliance check on an observer who is attempting to sign up to conduct online signing sessions.
  • FIG. 3 shows an illustrative process 300 for such a compliance check.
  • the process 300 may be performed by the illustrative online interaction system 100 in the example of FIG. 1, which may interact with the observer via the onboarding interface 200.
  • the online interaction system 100 may receive observer identifying information. For instance, in response to the observer’s attempt to sign up, the onboarding interface 200 may prompt the observer to provide identifying information, and may forward the identifying information to the online interaction system 100. Examples of identifying information include, but are not limited to, name, email address, physical address, phone number, authority of commission, commission number, commission expiration date, etc.
  • an existing user of the online interaction system 100 may attempt to sign up as an observer. For instance, the user may have already signed up as a title agent, but may wish to conduct online signing sessions, in addition to performing one or more title agent tasks. Accordingly, in some embodiments, multiple profiles may be associated with a common identifier (e.g., email address or phone number) of the user, where each profile may correspond to a different role (e.g., notary, title agent, etc.). A compliance check for each role may be performed based on the respective profile and/or respective requirements.
  • a common identifier e.g., email address or phone number
  • some states require an observer to maintain an Errors and Omissions (E&O) insurance policy to protect the observer in case the observer makes an unintentional error or omission.
  • E&O Errors and Omissions
  • Different states may have different requirements with respect to a coverage amount, a deductible amount, and/or one or more other aspects of the E&O policy.
  • a coverage amount required may depend on a transaction type.
  • a higher coverage amount may be required for a transaction involving real estate, compared to a transaction not involving real estate.
  • the online interaction system 100 may determine one or more compliance requirements based on a commission authority identified by the observer at act 305. For instance, in some embodiments, compliance requirements may be maintained in a database, and may be indexed by commission authority. The online interaction system 100 may use the authority identified by the observer to look up from the database one or more requirements that are applicable to the identified authority.
  • the online interaction system 100 may cause the onboarding interface 200 to prompt the observer to provide compliance information, which may be used by the online interaction system 100 to check whether the observer should be allowed to conduct online signing sessions.
  • a compliance requirement identified at act 310 may include program logic, such as program code and/or one or more values encoding the compliance requirement. Such program logic be retrieved from a database using the observer’s commission authority.
  • the online interaction system 100 may be configured to apply the program logic to determine what compliance information is required, and/or whether compliance information provided by the observer satisfies the compliance requirement. For instance, the program logic may indicate whether a bond is required for a given state, and, if so, a required bond amount.
  • the onboarding interface 200 may be dynamically configured based on the one or more compliance requirements identified at act 310 for the observer’s commission authority. For instance, in response to determining that a surety bond is required, the online interaction system 100 may cause the onboarding interface 200 to display one or more user interface elements (e.g., one or more text field, dropdown menus, etc.) to prompt the observer to enter bond information, such as a bond amount, a bond number, a surety company name, an issue date, etc. Such user interface elements may be omitted if the one or more compliance requirements identified for the observer’s commission authority do not include a bond requirement.
  • one or more user interface elements e.g., one or more text field, dropdown menus, etc.
  • the online interaction system 100 may check the compliance information received at act 315 against one or more trusted information sources, such as an illustrative trusted information source 205 in the example of FIG. 2.
  • the trusted information source 205 may include a database made available by a trusted third party (e.g., the National Notary Association, also known as the NNA).
  • the online interaction system 100 may access any suitable information from the trusted information source 205.
  • suitable information include, but are not limited to, authority of commission, commission number, commission expiration date, phone number, NNA training completion date, background check status, background check date, insurance information, bond information, etc. Any information accessed from a trusted information source may be referred to herein as trusted information.
  • the online interaction system 100 may use some or all of the observer identifying information obtained at act 305 to access the trusted information source 205.
  • identifying information include, but are not limited to, authority of commission, commission number, first name, last name, phone number, email address, etc.
  • the observer may be instructed (e.g., via the onboarding interface 200) to provide identifying information that matches their information of record at the trusted information source 205.
  • the online interaction system 100 may cause the onboarding interface 200 to display some or all of the trusted information obtained at act 320.
  • the observer may be prompted to confirm accuracy of the trusted information.
  • the observer may be invited to edit the trusted information.
  • the observer may be invited to provide information on an insurance policy that replaces, or supplements an insurance policy indicated in the trusted information.
  • certain trusted information may not be edited, such as NNA training completion date, background check status, background check date, etc.
  • the online interaction system 100 may compare the compliance information obtained at act 315 against the trusted information obtained at act 320.
  • the online interaction system 100 may apply the program logic obtained at act 310 to the compliance information and/or the trusted information, to determine if the observer satisfies the one or more compliance requirements. Additionally, or alternatively, the online interaction system 100 may create one or more compliance checking tasks to be performed by a compliance officer, for instance, via an illustrative compliance check interface 210 in the example of FIG. 2.
  • aspects of the present disclosure are not limited to prompting an observer to provide compliance information at act 315.
  • the inventors have recognized and appreciated that manual entry of information may be error prone.
  • a compliance check may be performed based on information accessed from one or more trusted sources, without prompting an observer to manually enter information. For instance, the observer may first be prompted to provide sufficient information to identify the observer to the trusted information source 205 (e.g., an NNA ID, a name, an email address, a physical address, a phone number, etc.). That identifying information may then be used to access trusted information from the trusted information source 205. Such trusted information may be viewed and/or edited by the observer, as described above.
  • the inventors have also recognized and appreciated that, because certain aspects of the process 300 may depend on dynamically obtained information, it may be desirable to perform certain portions of the process 300 in a selected order. For instance, because compliance requirements may vary across different commission authorities, it may be desirable to prompt an observer to provide an authority of commission before other compliance information (e.g., insurance information, bond information, etc.).
  • other compliance information e.g., insurance information, bond information, etc.
  • the observer may be prompted to provide certain identifying information (e.g., an NNA ID, a name, an email address, a physical address, a phone number, etc.) before certain compliance information (e.g., authority of commission, commission number, commission expiration date, etc.).
  • certain identifying information e.g., an NNA ID, a name, an email address, a physical address, a phone number, etc.
  • certain compliance information e.g., authority of commission, commission number, commission expiration date, etc.
  • an observer may be blocked from further action via the onboarding interface 200 until a selected action has been taken (e.g., providing an authority of commission).
  • a selected action e.g., providing an authority of commission
  • aspects of the present disclosure are not limited to performing a compliance check when an observer attempts to sign up.
  • the online interaction system 100 may check compliance on an on-going basis. For instance, the online interaction system 100 may check, periodically (e.g., daily, weekly, monthly, quarterly, annually, etc.), whether an observer has maintained compliance with respect to one or more requirements, and/or whether the observer’s commission is about to expire (e.g., expiring in one day, week, month, quarter, year, etc.). If such an issue is detected, the online interaction system 100 may request that the observer rectify the issue. In some instances, the observer may be prevented from conducting online signing sessions until the issue has been rectified.
  • techniques are provided for assisting an observer in preparing for online signing sessions.
  • a commission authority may require an observer to sign an electronic document by generating an electronic signature over the document using a cryptographic key.
  • techniques are provided for managing, on behalf of an observer, the observer’s cryptographic key and/or a digital certificate associated therewith.
  • FIG. 4 shows an illustrative process 400 for managing a digital certificate, in accordance with some embodiments.
  • the process 400 may be performed by the illustrative online interaction system 100 in the example of FIG. 1, which may interact with an observer via the illustrative onboarding interface 200 in the example of FIG. 2.
  • the online interaction system 100 may receive the observer’s digital certificate and/or a password associated with the digital certificate. For instance, the online interaction system 100 may cause the onboarding interface 200 to prompt the observer to upload the digital certificate and/or provide the password.
  • the digital certificate may identify a subject. This may be done in any suitable manner, for instance, based on the subject’s name, email address, physical address, phone number, etc. Additionally, or alternatively, the digital certificate may include a public key of a cryptographic key pair of the subject. Additionally, or alternatively, the digital certificate may include a private key of the cryptographic key pair of the subject, and the private key may be secured using a password known only to the subject.
  • the digital certificate may have been issued by a third party certificate authority (e.g., DigiCert, IdenTmst, etc.), and may include a cryptographic signature generated over a portion of the digital certificate using a cryptographic key of the certificate authority.
  • the cryptographic signature may be generated over the subject’s identifying information, the subject’s public key, and/or one or more other fields of the digital certificate.
  • the cryptographic key may be a private key of a cryptographic key pair of the certificate authority, and the certificate authority may publish a public key of the cryptographic key pair in some suitable manner (e.g., on the certificate authority’s web site).
  • the online interaction system 100 may check the digital certificate obtained at act 405. For instance, the online interaction system 100 may confirm that the digital certificate identifies the observer as the subject. Additionally, or alternatively, the online interaction system 100 may independently access the public key of the certificate authority (e.g., from the certificate authority’s web site), and may use the public key to check the signature in the digital certificate. Thus, the online interaction system 100 may be able to assure that the public key in the digital certificate indeed belongs to the observer.
  • the certificate authority e.g., from the certificate authority’s web site
  • the online interaction system 100 may store the digital certificate and/or the password.
  • the online interaction system 100 may use the password to make the private key of the observer available for use in generating a cryptographic signature over a document. For instance, if the private key is stored in the digital certificate itself with password protection, the password may be used to allow access to the private key temporarily for signing. If the private key is stored elsewhere (e.g., by the certificate authority), the password may be used to request that the private key be used to sign a document.
  • the online interaction system 100 may act as a certificate authority, and may issue digital certificates to observers.
  • aspects of the present disclosure are not limited to managing a digital certificate on behalf of an observer.
  • the online interaction system 100 may capture an image of a handwritten signature from an observer, and may sign an electronic document on behalf of the observer by inserting the image of the handwritten signature, in addition to, or instead of, a cryptographic signature generated over the document using a private key associated with the observer’s digital certificate.
  • the cryptographic signature may be generated over the document with the image of the handwritten signature inserted.
  • FIGs. 5A-C show, respectively, illustrative user interfaces 500, 510, and 520, in accordance with some embodiments.
  • the user interfaces 500, 510, and 520 may be presented to an observer by the illustrative onboarding interface 200 in the example of FIG. 2, to capture an image of a handwritten signature.
  • the user interface 500 instructs the observer to handwrite a signature on a piece of paper, and to hold the piece of paper up to a camera (e.g., a camera integrated into a mobile device or a monitor, or a separate webcam).
  • a camera e.g., a camera integrated into a mobile device or a monitor, or a separate webcam.
  • the user interface 500 may instruct the observer to use a piece of light-colored paper, such as white paper.
  • the user interface 500 may display, to the observer, a video of the signature as viewed through the camera, so that the observer may adjust a distance between the piece of paper and the camera, and/or an angle at which the piece of paper is held.
  • the observer may click a “Capture” button to capture a still image.
  • the user interface 510 allows the observer to edit the image of the signature captured via the user interface 500. For instance, the observer may be allowed to crop and/or rotate the image of the signature. When the observer is satisfied with a cropped and/or rotated image of the signature, the observer may click an “Apply” button to continue.
  • the user interface 520 displays an image of the signature over a signature line, so that the observer may see how the image of the signature may appear when inserted into an electronic document. Additionally, or alternatively, the user interface 520 may allow the observer to make one or more adjustments to the image.
  • the onboarding interface 200 may include program logic (e.g., in JavaScript) that, when executed by a browser, manipulates the image according to user input.
  • the user interface 520 includes a slide bar via which the observer may cause the onboarding interface 200 to adjust contrast and/or brightness of the image.
  • the observer may click a “Retake” button to return to the user interface 500 to capture another image. Otherwise, the observer may adopt the cropped, rotated, and/or adjusted image of the signature.
  • the onboarding interface 200 may send the image of the signature to the online interaction system 100.
  • the onboarding interface 200 may prompt the observer to upload an image file that has been generated separately.
  • the image file may be in any suitable format, such as Portable Network Graphics (PNG), Joint Photographic Experts Group (JPEG), Graphics Interchange Format (GIF), Tag Image File Format (TIFF), etc.
  • PNG Portable Network Graphics
  • JPEG Joint Photographic Experts Group
  • GIF Graphics Interchange Format
  • TIFF Tag Image File Format
  • aspects of the present disclosure are not limited to managing, on behalf of an observer, a digital certificate or an image of a handwritten signature.
  • the online interaction system 100 may generate an image of a seal based on information pertaining to an observer, and may sign an electronic document on behalf of the observer by inserting the image of the seal, in addition to, or instead of, an image of the observer’s handwritten signature, and/or a cryptographic signature generated over the document using a private key associated with the observer’s digital certificate.
  • the cryptographic signature may be generated over the document, with the image of the handwritten signature and/or the image of the seal inserted.
  • FIGs. 6A-B show, respectively, illustrative images 600 and 610 of seals, in accordance with some embodiments.
  • the illustrative images may be generated by the illustrative online interaction system 100 in the example of FIG. 1.
  • the online interaction system 100 may have a plurality of seal templates corresponding, respectively, to a plurality of commission authorities.
  • the image 600 may be generated based on a template for the Commonwealth of Virginia
  • the image 610 may be generated based on a template for the State of Florida.
  • a template for a commission authority may store a logo for the authority, and/or a position at which the logo should appear in an image of a seal. Additionally, or alternatively, the template may indicate one or more fields in the seal, respective positions at which the one or more fields should appear in the image of the seal, and/or respective formatting instructions for the one or more fields (e.g., font, size, boldface, italicizing, centering or left/right justifying, etc.). Examples of fields include, but are not limited to, an observer’s name, commission number, commission expiration date, etc.
  • the online interaction system 100 may generate an image of a seal based on identifying information obtained at act 305 of the illustrative process 300 in the example of FIG. 3, and/or trusted information obtained at act 320 of the process 300. For instance, the online interaction system 100 may use an authority of commission provided by an observer at act 305 to select a corresponding template, and may populate the template based on a name, a commission number, and a commission expiration date obtained from a trusted information source.
  • the online interaction system 100 may ensure that the seal matches the observer’s information of record at the trusted information source.
  • the seal may include one or more items of information provided by the observer, or obtained in another suitable manner.
  • the online interaction system 100 may check a length of a text string (e.g., the observer’s name). If the length exceeds a selected threshold, the online interaction system 100 may decrease a font size, and/or wrap the text string over multiple lines.
  • a text string e.g., the observer’s name
  • the onboarding interface 200 may prompt the observer to upload an image file that has been generated separately.
  • the image file may be in any suitable format, such as Portable Network Graphics (PNG), Joint Photographic Experts Group (JPEG), Graphics Interchange Format (GIF), Tag Image File Format (TIFF), etc.
  • PNG Portable Network Graphics
  • JPEG Joint Photographic Experts Group
  • GIF Graphics Interchange Format
  • TIFF Tag Image File Format
  • an image of a seal may be generated by the onboarding interface 200, for example, using an HTMF canvas element.
  • the online interaction system 100 may, in some embodiments, create one or more compliance checking tasks to be performed by a compliance officer via the illustrative compliance check interface 210 in the example of FIG. 2.
  • a compliance officer may check compliance for multiple observers attempting to sign up.
  • the compliance check interface 210 may be configured to allow a compliance officer to filter and/or sort profiles of different observers. In this manner, the compliance officer may readily select a profile to review.
  • an observer may provide compliance information in a piecemeal fashion. For example, an observer may begin providing compliance information, but may realize his/her insurance policy has expired. It may take the observer several days, or even several weeks, to rectify such an issue. It may be inefficient for a compliance officer to simply follow the observer’s progress and review various items of information at disparate times. Accordingly, in some embodiments, the online interaction system 100 may be configured to determine whether an observer has finished providing all relevant information, and the compliance check interface 210 may be configured to allow a compliance officer to filter out profiles that are not yet ready for review.
  • FIG. 7A shows an illustrative onboarding status diagram 700, in accordance with some embodiments.
  • the online interaction system 100 may create a profile for the observer.
  • the profile may have a suitable identifier, such as the observer’s name, email address, phone number, NNA ID, etc.
  • the online interaction system 100 may set an onboarding status of the newly created profile to Invited.
  • the online interaction system 100 may perform a verification, for example, by sending a randomly generated link and/or code to the observer (e.g., via email or text). In response to the observer clicking the link and/or returning the code (e.g., via the illustrative onboarding interface 200 in the examples of FIG. 2), the online interaction system 100 may change the onboarding status of the observer’s profile from Invited to Initiated.
  • a verification for example, by sending a randomly generated link and/or code to the observer (e.g., via email or text).
  • the online interaction system 100 may change the onboarding status of the observer’s profile from Invited to Initiated.
  • the online interaction system 100 may prompt the observer to provide identifying information and/or compliance information via the onboarding interface 200.
  • the online interaction system 100 may be configured to determine whether the observer has provided all relevant information, for instance, based on one or more compliance requirements identified at act 310 in the example of FIG. 3.
  • the online interaction system 100 may change the onboarding status of the observer’s profile from Initiated to Completed.
  • the observer may update one or more items of information after the onboarding status of the observer’s profile has been set to Completed. This may cause the online interaction system 100 to rescind the Completed status.
  • the online interaction system 100 may return the profile to the Invited status, so that a new verification may be performed (e.g., by sending a new randomly generated code to the new email address).
  • the online interaction system 100 may return the profile to the Initiated status, so that a new handwritten signature may be captured, and/or a new seal may be generated.
  • onboarding statuses are shown in FIG. 7A and described above, it should be appreciated that aspects of the present disclosure are not limited to having any particular onboarding status, or any onboarding status at all.
  • the compliance check interface 210 may be configured to allow a compliance officer to filter out profiles that are not yet ready for review.
  • FIG. 8 shows an illustrative list 800 of observer profiles, in accordance with some embodiments.
  • the list 800 may be presented by the compliance check interface 210 to a compliance officer.
  • the compliance check interface 210 may allow the compliance officer to filter observer profiles based on onboarding status.
  • the compliance officer may use a dropdown menu 802 to select an onboarding status. In this manner, the compliance officer may be able to focus on observer profiles having the selected onboarding status, such as Completed.
  • the compliance check interface 210 may allow the compliance officer to filter observer profiles based on observer type (e.g., independent, or affiliated with an organization such as a law firm or a title company), observer organization, authority of commission (e.g., state or country), compliance status, accept calls status (e.g., whether an observe is allowed to conduct an online signing session), account status (e.g., whether an observer has conducted at least one online signing session over some selected period of time, such as past three months), availability status (e.g., whether an observer is currently logged in, and is able to conduct an online signing session immediately), training status (e.g., whether an observer is allowed to receive training on how to use the illustrative observer interface 105 in the example of FIG.
  • observer type e.g., independent, or affiliated with an organization such as a law firm or a title company
  • observer organization e.g., authority of commission (e.g., state or country)
  • compliance status e.g., accept calls
  • an observer may be allowed to conduct an online signing session only if the observer’s profile is compliant, a payment account has been set up for the observer, the observer is not on vacation, and the observer has received training on how to use the observer interface 105.
  • the compliance check interface 210 may allow the compliance officer to select an observer profile for review. For instance, the compliance officer may click on an observer’s name (e.g., at 804), which may cause the compliance check interface 210 to display that observer’s profile.
  • FIGs. 9A-G show various tabs of an illustrative observer profile 900, in accordance with some embodiments.
  • FIG. 9A shows a main tab that may be displayed in response to a compliance officer clicking an observer’s name in the illustrative list 800 in the example of FIG. 8.
  • the main tab may display identifying information of the observer, such as an email address 902. Additionally, or alternatively, the main tab may display one or more statuses associated with the observer’s profile, such as an onboarding status 904.
  • the onboarding status 904 is Initiated, indicating that the observer has verified that he/she has access to the email address 902 (e.g., as described above in connection with the example of FIG. 7A).
  • FIG. 9B shows a history tab of the observer profile 900.
  • the history tab may log one or more actions performed by the observer and/or one or more compliance officers.
  • the history tab shows that the observer verified his/her email address at 11:37 AM on 05/24/201, thereby causing the onboarding status to change from Invited to Initiated.
  • FIG. 9C also shows the history tab of the observer profile 900, albeit at a later time.
  • the observer has provided insurance information, NNA training information, background check information, digital certificate information, etc., and has created a handwritten signature, handwritten initials, and a seal.
  • the online interaction system 100 may determine that the observer has provided all relevant information, and may change the onboarding status from Initiated to Completed.
  • the online interaction system 100 may, in some embodiments, associate a compliance status with the observer’s profile, in addition to, or instead of, an onboarding status.
  • FIG. 7B shows an illustrative compliance status diagram 750, in accordance with some embodiments.
  • the online interaction system 100 may associate the Needs Review status with the newly created profile.
  • the online interaction system 100 may associate the Compliant or Non-compliant status with the profile (e.g., depending on an outcome of a review by a compliance officer).
  • FIGs. 9D-E show the main tab of the illustrative observer profile 900 in the example of FIG. 9A, albeit at a later time.
  • the onboarding status 904 has been changed from Initiated to Completed, indicating that the observer profile 900 is ready for review by a compliance officer.
  • the main tab of the illustrative observer profile 900 may display compliance information, in addition to, or instead of, identifying information of the observer.
  • a compliance officer may scroll down from a first portion of the main tab (shown in FIG. 9D) to a second portion of the main tab (shown in FIG. 9E) to review compliance information.
  • compliance information may have been entered by the observer and/or retrieved from a trusted source (e.g., as described in connection with the example of FIG. 3).
  • FIG. 9F shows a documents tab of the observer profile 900.
  • the documents tab allows the compliance officer to view copies of the observer’s insurance policy and commission.
  • the observer may upload multiple versions of a document.
  • the documents tab may track all versions and respective timestamps. This may allow the compliance officer to review a current version and/or one or more past versions of the document, for example, to ensure there is no gap.
  • the compliance officer may, upon completing his/her review, use a dropdown menu 906 to indicate whether the observer profile 900 is considered Compliant or Non-Compliant.
  • the dropdown menu 906 may be disabled if the onboarding status 904 is not Completed. This may prevent the compliance officer from accidentally marking the observer profile 900 as being Compliant when the onboarding status 904 is still Invited or Initiated.
  • the compliance officer selects Non-Compliant from the dropdown menu 906, he/she may be prompted to indicate one or more reasons, for example, in a notes tab of the observer profile 900. In this manner, when the observer profile 900 is reviewed again in the future, the compliance officer (or a different compliance officer) may be able to quickly identify one or more outstanding issues to be rectified.
  • the online interaction system 100 may send a notification to the observer (e.g., via email, text, or another messaging application).
  • the notification may include the one or more reasons indicated by the compliance officer, and/or one or more suggested actions. For instance, a suggested action may be to upload an additional document requested by the compliance officer.
  • the online interaction system 100 may update the compliance status in response to a change in the observer profile 900. For instance, referring again to the example of FIG. 7B, the compliance status may revert to Needs Review if the observer uploads a new document. This may happen regardless of whether the observer profile 900 was Compliant or Non-Compliant.
  • the online interaction system 100 may send a notification to the same compliance officer who reviewed the observer profile 900, or a different compliance officer (e.g., to balance workload among multiple compliance officers). This may be done in any suitable manner, for example, via email, text, or another messaging application.
  • the compliance officer may use the history tab of the observer profile 900 to quickly determine what has changed. For instance, in the example of FIG. 9G, the compliance officer may determine that the observer has uploaded a new document. In this manner, the compliance office may only review the new document, without duplicating any work that was previously done.
  • the inventors have recognized and appreciated that it may be desirable to provide training to an observer on how to use the illustrative observer interface 105 in the example of FIG. 1. For instance, it may be desirable to provide a realistic experience to a trainee by allowing the trainee to actually use the observer interface 105. However, if a trainee is allowed to conduct an online signing session in which a signer signs a real document, the trainee may make a mistake, which may jeopardize a legal effect of the signed document. While it may be possible to have a supervisor join the signing session to ensure the trainee does not make a mistake, such an approach may be inefficient. Accordingly, in some embodiments, techniques are provided for simulating an online signing session, so that a trainee may be able to use the observer interface 105 without performing any act that may have a legal effect.
  • one or more training documents may be added to a document database managed by the illustrative online interaction system 100 in the example of FIG. 1.
  • a document may have fixed content from a real document template (e.g., a power of attorney, an authorization for delivery of mail to an agent, etc.), but may have variable content that is fictitious (e.g., fictitious name, address, phone number, etc.).
  • a trainee may be allowed conduct a simulated signing session via the observer interface 105.
  • the simulated signing session may be carried out between the observer interface 105 and the online interaction system 100 in the same way as a real signing session, except a training document may be used, instead of a real document, and there may be no video feed.
  • FIG. 10A shows an illustrative screen 1050 of the illustrative observer interface 105 in the example of FIG. 1, in accordance with some embodiments.
  • the screen 1050 is presented to an observer in training during a simulated signing session.
  • FIG. 10B shows a portion of the illustrative screen 1050 in the example of FIG. 10A, in accordance with some embodiments.
  • a trainee is practicing inserting a graphical seal 1052 at a designated area of a training document.
  • the screen 1050 may be rendered using the same software code (e.g., in-browser script such as Javascript, or stand-alone software) that is used to render a screen during a real signing session.
  • the trainee may be able to practice using all functionalities of the observer interface 105, such as inserting a graphical seal, a handwritten signature, initials, etc.
  • the inventors have recognized and appreciated some disadvantages of carrying out a simulated signing session between the observer interface 105 and the online interaction system 100 in the same way as a real signing session. For instance, under this approach, one or more modifications may be made to the observer interface 105 and/or the online interaction system 100. As an example, the online interaction system 100 may be modified to recognize whether a signing session is real or simulated. If the signing session is simulated, the online interaction system 100 may not create a journal entry, and may not persist the signed document. By contrast, if the signing session is real, the online interaction system 100 may create a journal entry, and may persist the signed document.
  • the online interaction system 100 may log information that may be used to assess a trainee’s performance, such as a number of times the trainee moved a graphical seal, a final placement and/or one or more intermediate placements of the graphical seal, whether the trainee typed his/her name on a line where he/she should have inserted a handwritten signature, whether the trainee recognized and corrected that error, etc.
  • the online interaction system 100 may not log such information.
  • this approach may result in one version of the observer interface 105 or the online interaction system 100 for real signing sessions, and a different version for simulated signing sessions.
  • the inventors have recognized and appreciated that it may be cumbersome to maintain different versions of the observer interface 105 or the online interaction system 100.
  • techniques are provided for simulating an online signing session, without modifying the observer interface 105 or the online interaction system 100, or with fewer or less significant modification(s).
  • a simulation agent may be provided to process application programming interface (API) calls made by the observer interface 105 to the online interaction system 100.
  • API application programming interface
  • the simulation agent may be implemented in any suitable manner.
  • the simulation agent may be implemented on a client device, and may intercept API calls made by the observer interface 105.
  • the observer interface 105 and the simulation agent may be implemented using in-browser script, such as Javascript.
  • the observer interface 105 and the simulation agent may be implemented as stand-alone software installed on the client device.
  • the simulation agent may be implemented on a server device, which may be the same as, or different from, a server device on which the online interaction system 100 is hosted.
  • the observer interface 105 may be configured to direct API calls to the simulation agent, instead of the online interaction system 100, during a simulated signing session.
  • the observer interface 105 may make a corresponding API call as the observer interface 105 would during a real signing session.
  • the simulation agent may respond to the API call (e.g., with success or failure).
  • the online interaction system 100 may not receive the API call at all.
  • the observer interface 105 may direct the API call to the simulation agent. Additionally, or alternatively, the observer interface 105 may direct the API call to the online interaction system 100, but the simulation agent may intercept the API call. In this manner, the observer interface 105 and/or the online interaction system 100 may be agnostic to whether a signing session is real or simulated.
  • training-related processing may be performed by the simulation agent.
  • the simulation agent may log information that may be used to assess a trainee’s performance, such as a number of times the trainee moved a graphical seal, a final placement and/or one or more intermediate placements of the graphical seal, whether the trainee typed his/her name on a line where he/she should have inserted a handwritten signature, whether the trainee recognized and corrected that error, etc.
  • the observer interface 105 may generate an API call with a data field indicating the annotation.
  • the data field may indicate an annotation type (e.g., seal, initials, signature, etc.), a location of the annotation, a size of the annotation, etc.
  • the simulation agent may determine whether an annotation of the indicated type and/or the indicated size is expected at the indicated location.
  • API responses expected by the observer interface 105 may have tens, or even hundreds, of data fields. It may be challenging to configure the simulation agent to provide appropriate data values to the observer interface 105, so that the observer interface 105 may deliver a realistic experience to a trainee.
  • a data schema may be provided for API responses expected by the observer interface 105.
  • a data field in an expected API response may have an associated type and/or one or more associated conditions.
  • a signer name field may store a string having a length that is no more than a selected maximum.
  • a transaction date field may store a current date.
  • a number of required seals field may store an integer that is non-negative, and is no larger than a selected maximum.
  • a simulation agent may be configured to generate one or more data values according to a data schema.
  • a signer address field may have a house number subfield, a street name subfield, a city subfield, a state subfield, and/or a postal code subfield.
  • the house number subfield may store a positive integer with at most five digits
  • the street name subfield may store a non-empty string with at most 25 characters
  • the city subfield may store a non-empty string with at most 15 characters
  • the state subfield may store a two-letter string from a set of state abbreviations
  • the postal code subfield may store a positive integer with at most five digits (displayed with one or more leading zeros to obtain exactly five digits).
  • the simulation agent may be configured to randomly select, for each subfield, a value that has the corresponding type and/or satisfies the corresponding condition(s). It should be appreciated that aspects of the present disclosure are not limited to having any particular data schema, or any data schema at all.
  • a data schema may indicate a relationship between multiple data fields, in addition to, or instead of, a type and/or one or more conditions for an individual data field.
  • a document field may store a Uniform Resource Locator (URL) for a training document to be used during a simulated signing session
  • a document title field may store a title of the training document.
  • URL Uniform Resource Locator
  • a corresponding URL and a corresponding title may be used for the document field and the document title field, respectively.
  • a number of required seals field may be initialized to an appropriate non-negative integer (e.g., based on a training document being used).
  • the observer interface 105 may generate an API call with a data field indicating the seal (e.g., as described above).
  • the simulation agent may determine whether the seal is inserted at a correct location. If the seal is inserted at a correct location, the simulation agent may decrement the number of required seals field. If the seal is not inserted at a correct location, the simulation agent may generate an exception with an appropriate error message to be displayed by the observer interface 105 to the trainee.
  • the simulation agent may be configured to determine, for each data field, whether the data field has an associated method for initializing and/or updating the data field (e.g., as described above). If the data field does not have an associated method for initializing and/or updating, the simulation agent may randomly select a value for the data field, for example, according to a data schema.
  • FIG. 11 shows an illustrative observer journal database 1100, in accordance with some embodiments. For instance, upon conclusion of an online notary meeting, the illustrative online interaction system 100 in the example of FIG. 1 may create a journal entry for the meeting, and may store the journal entry into the observer journal database 700.
  • each notary journal entry may be stored as a row in the observer journal database 1100.
  • Pertinent information may be stored in respective fields in the row, such as an identifier of a notary who conducted the meeting, a name of the notary, respective name(s) of one or more signers, a signing completion date, a transcript of the transaction (e.g., a transcript of messages transmitted by the meeting participants via the online interaction system 100), a description of a document signed, a copy of the signed document, a cryptographic signature generated over the signed document using a private key of the notary, etc.
  • identification_methods ["kba”, “credential_analysis”], identification's suer: “MA”, identification_type: “driver_license” , identification's sue_date: "2000-01-01 00:00:00”, identification_expiry_date: "2030-01-01 00:00:00”, fee_charged: nil, transaction_id: nil, request_date: nil, identification_number: nil, row_signature: " MIGIAklB eYV5IbXVFC3 KK0FdsT04LjLhx 1 +L3hj 6pE7 c VhCiAn+OOOhADi/3 WXI F8BxPaKgjUODL8LrpWjXd09dMBCcCOToCQgD+pUkmqW5SXtY9qu68
  • the online notarization system 100 may be configured to provide tamper evidence for one or more entries in the notary journal database 700. For instance, the online notarization system 100 may use a private key to generate a cryptographic signature over one or more fields of an entry, and may store the cryptographic signature in a separate field in the entry. The private key may be from a key pair of the online notarization system 100.
  • integrity and/or authenticity of the one or more fields may be checked by using a public key of the key pair of the online notarization system 100 to verify the cryptographic signature. If an attacker modifies the one or more fields, the attacker may be unable to generate a new cryptographic signature that would be successfully verified using the public key, because the attacker may have no access to the private key.
  • the cryptographic signature for an entry may be generated in any suitable manner. For instance, the cryptographic signature may be generated prior to, simultaneously with, or after storing the entry into the notary journal database 700. If the cryptographic signature is generated after storing the entry into the notary journal database 700, the one or more fields may be read out of the notary journal database 700, to be used in generating the cryptographic signature.
  • the online notarization system 100 may combine the one or more fields prior to generating the cryptographic signature. For instance, the online notarization system 100 may convert each of the one or more fields into a text string, and may combine one or more resulting text strings via concatenation. The cryptographic signature may then be generated over the concatenated text string.
  • aspects of the present disclosure are not limited to generating a single cryptographic signature over one or more fields.
  • the online notarization system 100 may generate respective cryptographic signatures over multiple fields.
  • the cryptographic signatures may be stored and used for subsequent verification of the corresponding fields.
  • a cryptographic hash may be used instead of, or addition to, a cryptographic signature.
  • the online notarization system 100 may combine one or more fields in an entry in some suitable manner (e.g., by converting to text), and may generate a cryptographic hash over the combined one or more fields.
  • the online notarization system 100 may generate respective cryptographic hashes over multiple fields.
  • the cryptographic hashes may be stored and used for subsequent verification of the corresponding fields.
  • a suitable hash tree technique may be used to generate one or more additional hashes from the cryptographic hashes. Such additional hashes may be stored to allow efficient verification of the corresponding fields.
  • a cryptographic signature/hash generated from one or more fields in an entry may be stored in another field in the same entry.
  • a cryptographic signature/hash may be stored separately, for example, in a storage separate from the notary journal database 700. An identifier of an entry from which the cryptographic signature/hash is generated may be used to access the cryptographic signature/hash from the separate storage.
  • an access permission in the notary journal database 700 may be set to prevent an attacker from modifying an entry.
  • the notary journal database 700 may not permit any modification to the entry.
  • existing entries in the notary journal database 700 may be read only, while new entries may be added.
  • the notary journal database 700 may be configured to trigger an alert (e.g., to one or more database administrators) in response to an attempt to change one or more access permissions.
  • an entry in the notary journal database 700 may include a field (e.g., additional_fields in the above example) that stores a pointer to a separate data structure, which may be a hash object or some other suitable data structure.
  • the content of this field (namely, the pointer to the separate data structure) may be included when generating a cryptographic signature over the entry, but the content of the separate data structure itself may not be. In this manner, information may be added to the separate data structure, while the pointer may remain unchanged, so that the cryptographic signature may still be successfully verified using the public key of the online notarization system 100.
  • the notary journal database 700 may be implemented using a distributed ledger, such as a blockchain.
  • a distributed ledger such as a blockchain.
  • one or more notary journal entries may be recorded on a blockchain via a transaction processed by a network of nodes that collectively manage the blockchain.
  • the blockchain may be permissioned, so that access to the one or more notary journal entries may be restricted.
  • a public chain may be used, and the one or more notary journal entries may be encrypted and/or hashed to provide privacy.
  • the blockchain may include a plurality of blocks, where each block may include a plurality of transactions.
  • the plurality of transactions may be ordered, for example, chronologically.
  • each newly added block may be linked to a latest previous block.
  • Such a structure may be resistant to tampering, and may therefore be used to confirm whether a given transaction did take place, and/or when the transaction took place. For instance, a block may be added to the blockchain only if all nodes (or a subset of nodes with sufficient computation power) in a network implementing the blockchain agree on the block.
  • a block generating node may invest computation power to generate a new block that is linked to a latest previous block.
  • the fastest node that is able to solve a computationally intensive mathematical puzzle e.g., identifying a preimage of a hash with a certain number of leading zeros
  • an internal digital asset e.g., a bitcoin.
  • a more or less complex mathematical puzzle may be used. In this manner, blocks may be generated within a selected time window, and conflicts may be reduced.
  • aspects of the present disclosure are not limited to using a proof-of-work approach to achieve distributed consensus.
  • a proof-of- stake approach may be used.
  • any suitable blockchain implementation may be used, such as Ethereum, Hyperledger Fabric, etc.
  • aspects of the present disclosure are not limited to using a blockchain to implement a distributed ledger.
  • one or more directed acyclic graphs e.g., IOTA Tangle
  • hashgraphs e.g. Swirlds
  • hash trees e.g., Guardtime keyless signatures infrastructure
  • distributed ledgers with no globally- shared chain e.g., R3 Corda
  • R3 Corda distributed ledgers with no globally- shared chain
  • FIG. 12 shows, schematically, an illustrative computer 1000 on which any aspect of the present disclosure may be implemented.
  • the computer 1000 includes a processing unit 1001 having one or more computer hardware processors and one or more articles of manufacture that comprise at least one non-transitory computer-readable medium (e.g., memory 1002) that may include, for example, volatile and/or non-volatile memory.
  • the memory 1002 may store one or more instructions to program the processing unit 1001 to perform any of the functions described herein.
  • the computer 1000 may also include other types of non-transitory computer-readable media, such as storage 1005 (e.g., one or more disk drives) in addition to the memory 1002.
  • the storage 1005 may also store one or more application programs and/or resources used by application programs (e.g., software libraries), which may be loaded into the memory 1002.
  • processing unit 1001 may execute one or more processor-executable instructions stored in the one or more non-transitory computer-readable media (e.g., the memory 1002, the storage 1005, etc.), which may serve as non-transitory computer-readable media storing processor-executable instructions for execution by the processing unit 1001.
  • non-transitory computer-readable media e.g., the memory 1002, the storage 1005, etc.
  • the computer 1000 may have one or more input devices and/or output devices, such as devices 1006 and 1007 illustrated in FIG. 12. These devices may be used, for instance, to present a user interface. Examples of output devices that may be used to provide a user interface include printers, display screens, and other devices for visual output, speakers and other devices for audible output, braille displays and other devices for haptic output, etc. Examples of input devices that may be used for a user interface include keyboards, pointing devices (e.g., mice, touch pads, and digitizing tablets), microphones, etc. For instance, the input devices 1007 may include a microphone for capturing audio signals, and the output devices 1006 may include a display screen for visually rendering, and/or a speaker for audibly rendering, recognized text.
  • the computer 1000 also includes one or more network interfaces (e.g., the network interface 1010) to enable communication via various networks (e.g., the network 1020).
  • networks include local area networks (e.g., an enterprise network), wide area networks (e.g., the Internet), etc.
  • networks may be based on any suitable technology operating according to any suitable protocol, and may include wireless networks and/or wired networks (e.g., fiber optic networks).
  • the above-described embodiments of the present disclosure can be implemented in any of numerous ways.
  • the embodiments may be implemented using hardware, software, or a combination thereof.
  • the software code may be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers.
  • the various methods or processes outlined herein may be coded as software that is executable on one or more processors running any one of a variety of operating systems or platforms.
  • Such software may be written using any of a number of suitable programming languages and/or programming tools, including scripting languages and/or scripting tools.
  • such software may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine. Additionally, or alternatively, such software may be interpreted.
  • the techniques disclosed herein may be embodied as a non-transitory computer-readable medium (or multiple non-transitory computer-readable media) (e.g., a computer memory, one or more floppy discs, compact discs, optical discs, magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other non-transitory, tangible computer storage medium) encoded with one or more programs that, when executed on one or more processors, perform methods that implement the various embodiments of the present disclosure discussed above.
  • the computer-readable medium or media may be portable, such that the program or programs stored thereon may be loaded onto one or more different computers or other processors to implement various aspects of the present disclosure as discussed above.
  • program or “software” are used herein to refer to any type of computer code or set of computer-executable instructions that may be employed to program one or more processors to implement various aspects of the present disclosure as discussed above.
  • program or “software” are used herein to refer to any type of computer code or set of computer-executable instructions that may be employed to program one or more processors to implement various aspects of the present disclosure as discussed above.
  • one or more computer programs that, when executed, perform methods of the present disclosure need not reside on a single computer or processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present disclosure.
  • Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices.
  • Program modules may include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Functionalities of the program modules may be combined or distributed as desired in various embodiments.
  • data structures may be stored in computer-readable media in any suitable form.
  • data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields to locations in a computer-readable medium that convey how the fields are related.
  • any suitable mechanism may be used to relate information in fields of a data structure, including through the use of pointers, tags, or other mechanisms that establish how the data elements are related.

Abstract

Systems and methods are provided for assisting independent observers with conducting online signing sessions in compliance with the requirements of their respective commission authority. Some aspects provide for techniques for determining whether to authorize a user to perform transactions on an online interaction system. Some aspects provide for techniques for managing a digital certificate of a user. Some aspects provide for techniques for simulating a transaction on an online interaction system configured to communicate with an observer interface to perform transactions. Some aspects provide for techniques for securing notary journal database entries.

Description

SYSTEMS AND METHODS FOR FACILITATING OBSERVER INTERACTIONS WITH AN ONLINE INTERACTION SYSTEM
CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Application Serial No. 63/181,881 titled “SYSTEMS AND METHODS FOR VETTING AND/OR TRAINING ONLINE NOTARIES” and filed on April 29, 2021 under Attorney Docket No. N0653.70001US00, U.S. Provisional Application Serial No. 63/210,814 titled “SYSTEMS AND METHODS FOR CHECKING COMPLIANCE AND/OR SIMULATING ONLINE INTERACTIONS” and filed on June 15, 2021 under Attorney Docket No. N0653.70001US01, and U.S. Provisional Application Serial No. 63/183,588 titled “SYSTEMS AND METHODS FOR SECURING DATABASE ENTRIES” and filed on May 3, 2021 under Attorney Docket No. N0653.70002US00, each of which is incorporated by reference in its entirety herein.
BACKGROUND
Even before the 2020 coronavirus pandemic, several states in the U.S. had begun to allow remote online notarization (RON). The social distancing restrictions put into place in response to the pandemic created an urgent need to conduct transactions remotely. As a result, many states rushed to adopt regulations for such transactions.
SUMMARY
In accordance with some embodiments, there is provided a computer-implemented method for determining whether to authorize a user to perform transactions on an online interaction system comprising: receiving information identifying the user, wherein the information identifying the user includes a commission authority; determining, based on the information identifying the user, one or more compliance requirements applicable to the user; obtaining compliance information based on the one or more compliance requirements applicable to the user; determining whether the one or more compliance requirements applicable to the user are satisfied based on the compliance information; and in response to determining that the one or more compliance requirements applicable to the user are satisfied, authorizing the user to perform transactions on the online interaction system.
In some embodiments there is provided a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer-implemented method for determining whether to authorize a user to perform transactions on an online interaction system comprising: receiving information identifying the user, wherein the information identifying the user includes a commission authority; determining, based on the information identifying the user, one or more compliance requirements applicable to the user; obtaining compliance information based on the one or more compliance requirements applicable to the user; determining whether the one or more compliance requirements applicable to the user are satisfied based on the compliance information; and in response to determining that the one or more compliance requirements applicable to the user are satisfied, authorizing the user to perform transactions on the online interaction system.
In some embodiments there is provided at least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer-implemented method for determining whether to authorize a user to perform transactions on an online interaction system comprising: receiving information identifying the user, wherein the information identifying the user includes a commission authority; determining, based on the information identifying the user, one or more compliance requirements applicable to the user; obtaining compliance information based on the one or more compliance requirements applicable to the user; determining whether the one or more compliance requirements applicable to the user are satisfied based on the compliance information; and in response to determining that the one or more compliance requirements applicable to the user are satisfied, authorizing the user to perform transactions on the online interaction system.
In accordance with some embodiments, there is provided a computer implemented- method for managing a digital certificate of a user which generates an electronic signature of the user over a document using a cryptographic key, the computer-implemented method comprising: receiving the digital certificate; determining whether the digital certificate is compliant, wherein determining whether the digital certificate is compliant comprises determining whether the digital certificate identifies the user as a subject of the electronic signature; and in response to determining that the digital certificate is compliant, storing the digital certificate in a database.
In some embodiments there is provided a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer implemented- method for managing a digital certificate of a user which generates an electronic signature of the user over a document using a cryptographic key, the computer-implemented method comprising: receiving the digital certificate; determining whether the digital certificate is compliant, wherein determining whether the digital certificate is compliant comprises determining whether the digital certificate identifies the user as a subject of the electronic signature; and in response to determining that the digital certificate is compliant, storing the digital certificate in a database.
In some embodiments there is provided at least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer implemented-method for managing a digital certificate of a user which generates an electronic signature of the user over a document using a cryptographic key, the computer-implemented method comprising: receiving the digital certificate; determining whether the digital certificate is compliant, wherein determining whether the digital certificate is compliant comprises determining whether the digital certificate identifies the user as a subject of the electronic signature; and in response to determining that the digital certificate is compliant, storing the digital certificate in a database.
In accordance with some embodiments, there is provided a computer-implemented method for simulating a transaction on an online interaction system configured to communicate with an observer interface to perform transactions, the computer-implemented method comprising: based on an indication that the transaction is to be simulated: receiving, with an application programming interface (API), a call transmitted by the observer interface to the online interaction system, wherein the API intercepts the call transmitted by the observer interface before the call is received by the online interaction system; and transmitting, with the API and to the observer interface, a response to the call.
In some embodiments there is provided a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer-implemented method for simulating a transaction on an online interaction system configured to communicate with an observer interface to perform transactions, the computer-implemented method comprising: based on an indication that the transaction is to be simulated: receiving, with an application programming interface (API), a call transmitted by the observer interface to the online interaction system, wherein the API intercepts the call transmitted by the observer interface before the call is received by the online interaction system; and transmitting, with the API and to the observer interface, a response to the call.
In some embodiments there is provided at least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer-implemented method for simulating a transaction on an online interaction system configured to communicate with an observer interface to perform transactions, the computer-implemented method comprising: based on an indication that the transaction is to be simulated: receiving, with an application programming interface (API), a call transmitted by the observer interface to the online interaction system, wherein the API intercepts the call transmitted by the observer interface before the call is received by the online interaction system; and transmitting, with the API and to the observer interface, a response to the call.
In accordance with some embodiments, there is provided a computer-implemented method for securing database entries: generating a journal entry in a database, wherein the journal entry comprises a row in the database and includes information regarding a notarized transaction; and using a private key of a cryptographic key pair to generate a cryptographic component over one or more fields of the journal entry, wherein veracity of the journal entry is determined by verifying the private key with a public key of the cryptographic key pair.
In some embodiments there is provided a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer-implemented method for securing database entries: generating a journal entry in a database, wherein the journal entry comprises a row in the database and includes information regarding a notarized transaction; and using a private key of a cryptographic key pair to generate a cryptographic component over one or more fields of the journal entry, wherein veracity of the journal entry is determined by verifying the private key with a public key of the cryptographic key pair.
In some embodiments there is provided at least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer-implemented method for securing database entries: generating a journal entry in a database, wherein the journal entry comprises a row in the database and includes information regarding a notarized transaction; and using a private key of a cryptographic key pair to generate a cryptographic component over one or more fields of the journal entry, wherein veracity of the journal entry is determined by verifying the private key with a public key of the cryptographic key pair.
BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 shows an illustrative online interaction system 100, in accordance with some embodiments.
FIG. 2 shows an illustrative onboarding interface 200, in accordance with some embodiments.
FIG. 3 shows an illustrative process 300 for a compliance check, in accordance with some embodiments.
FIG. 4 shows an illustrative process 400 for managing a digital certificate, in accordance with some embodiments.
FIGs. 5A-C show, respectively, illustrative user interfaces 500, 510, and 520, in accordance with some embodiments.
FIGs. 6A-B show, respectively, illustrative seals 600 and 610, in accordance with some embodiments.
FIG. 7A shows an illustrative onboarding status diagram 700, in accordance with some embodiments.
FIG. 7B shows an illustrative compliance status diagram 750, in accordance with some embodiments.
FIG. 8 shows an illustrative list 800 of observer profiles, in accordance with some embodiments. FIGs. 9A-G show various tabs of an illustrative observer profile 900, in accordance with some embodiments.
FIG. 10A shows an illustrative screen 1050 of the illustrative observer interface 105 in the example of FIG. 1, in accordance with some embodiments.
FIG. 10B shows a portion of the illustrative screen 1050 in the example of FIG. 10A, in accordance with some embodiments.
FIG. 11 shows an illustrative observer journal database, in accordance with some embodiments.
FIG. 12 shows, schematically, an illustrative computer 1000 on which any aspect of the present disclosure may be implemented.
DETAILED DESCRIPTION
The 2020 coronavirus pandemic has accelerated the trend to conduct transactions remotely. For instance, consumers are increasingly purchasing big-ticket items online, such as automobiles and real estate. Such transactions often include a loan, for which a consumer must sign legally-binding documents in the presence of an observer, such as a notary with a valid commission from an authority (e.g., a state, a country, etc.). The observer must follow the commission authority’s rules for verifying a signer’s identity, observing the signer sign a document, applying a seal to the signed document, creating a journal entry with pertinent information (e.g., signer name, signing date, description of document signed, etc.), etc. Failure to meet such requirements may jeopardize the validity of the transaction.
Traditionally, transactions are conducted in person, with minimal technical overhead. For instance, an observer may use a pen for writing and signing, an ink stamp or embosser for applying a seal, and a paper journal for recording an entry for each signing session. By contrast, online signing sessions may have much higher technical overhead. For instance, some authorities require a video recording of an online signing session, an electronic signature that is generated over a signed document using a cryptographic key of an observer, an electronic journal that is tamper evident, etc. Observers operating independently may lack resources to meet such technical requirements. Accordingly, in some embodiments, techniques are provided for delivering a technology platform via which independent observers may conduct online signing sessions in compliance with requirements of their respective commission authority. Some aspects of the technology described herein include techniques for onboarding observers onto the technology platform which allows independent observers to conduct online signing sessions. For example, in some embodiments, techniques are provided for checking whether an observer attempting to sign up with a technology platform should be allowed to conduct online signing sessions. For instance, techniques may be provided for checking whether an observer has a valid commission from a selected authority, and/or is in compliance with one or more requirements of the selected authority.
In some embodiments, techniques are provided for assisting an observer in preparing for online signing sessions. As an example, a commission authority may require an observer to sign an electronic document by generating an electronic signature over the document using a cryptographic key. Such an electronic signature may be referred to herein as a cryptographic signature, to distinguish from an electronic signature that is: (i) handwritten by a signer using a pen and then captured using a camera, (ii) handwritten by the signer using a pointing device such as a touchpad, (iii) typed in by the signer, or (iv) generated automatically and adopted by the signer. Accordingly, in some embodiments, techniques are provided for managing, on behalf of an observer, the observer’s cryptographic key and/or a digital certificate associated therewith.
As another example, a commission authority may require an observer to sign an electronic document by inserting an image of a handwritten signature. Accordingly, in some embodiments, techniques are provided for capturing an image of a handwritten signature from an observer.
As another example, a commission authority may require an observer to insert an image of a seal into a signed document. Accordingly, in some embodiments, techniques are provided for generating an image of a seal based on information pertaining to an observer.
The inventors have recognized and appreciated that it may be desirable to provide training to an observer on how to use a technology platform to conduct online signing sessions. Accordingly, in some embodiments, techniques are provided for simulating an online signing session and demonstrating one or more features to an observer in training.
It should be appreciated that the techniques introduced above and discussed in greater detail below may be implemented in any of numerous ways, as the techniques are not limited to any particular manner of implementation. Examples of implementation details are provided herein solely for illustrative purposes. Furthermore, the techniques disclosed herein may be used individually or in any suitable combination, as aspects of the present disclosure are not limited to using any particular technique or combination of techniques.
In accordance with some embodiments, there is provided a computer-implemented method for determining whether to authorize a user to perform transactions on an online interaction system comprising: receiving information identifying the user (e.g., one or more of a name of the user, an email address of the user, a physical address of the user, a phone number of the user, a commission number of the user, or a commission expiration date of the user), wherein the information identifying the user includes a commission authority (e.g., a commission granting the user authority to act as a notary); determining, based on the information identifying the user, one or more compliance requirements applicable to the user; obtaining compliance information (e.g., one or more of a commission authority, a commission number, a commission expiration, a phone number, a date of training completion, information regarding a background check of the user, insurance information, or bond information) based on the one or more compliance requirements applicable to the user; determining whether the one or more compliance requirements applicable to the user are satisfied based on the compliance information; and in response to determining that the one or more compliance requirements applicable to the user are satisfied, authorizing the user to perform transactions on the online interaction system. In some embodiments, the method is performed periodically with respect to the user.
In some embodiments, the method further comprises prompting, via an interface of the online interaction system, the user to provide the information identifying the user.
In some embodiments, wherein determining the one or more compliance requirements applicable to the user comprises: retrieving, based on the commission authority included in the information identifying the user, the one or more compliance requirements from a database indexed by commission authority.
In some embodiments, the compliance information is received from the user.
In some embodiments, the method further comprises prompting, via an interface of the online interaction system, the user to provide the compliance information, wherein the user interface is configured based on the one or more compliance requirements.
In some embodiments, determining whether the one or more compliance requirements applicable to the user are satisfied comprises: determining, using a trusted third party information source (e.g., the National Notary Association), whether the compliance information is correct.
In some embodiments, obtaining the one or more compliance requirements comprises: obtaining, using the commission authority, one or more values encoding the one or more compliance requirements from a database; and applying the one or more values encoding the one or more compliance requirements to determine the one or more compliance requirements.
In some embodiments, the method further comprises, prior to authorizing the user to perform transactions on the online interaction system, manually reviewing the information identifying the user and/or the compliance information.
In some embodiments there is provided a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer-implemented method for determining whether to authorize a user to perform transactions on an online interaction system comprising: receiving information identifying the user, wherein the information identifying the user includes a commission authority; determining, based on the information identifying the user, one or more compliance requirements applicable to the user; obtaining compliance information based on the one or more compliance requirements applicable to the user; determining whether the one or more compliance requirements applicable to the user are satisfied based on the compliance information; and in response to determining that the one or more compliance requirements applicable to the user are satisfied, authorizing the user to perform transactions on the online interaction system. The system may be configured to perform any of the methods described herein.
In some embodiments there is provided at least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer-implemented method for determining whether to authorize a user to perform transactions on an online interaction system comprising: receiving information identifying the user, wherein the information identifying the user includes a commission authority; determining, based on the information identifying the user, one or more compliance requirements applicable to the user; obtaining compliance information based on the one or more compliance requirements applicable to the user; determining whether the one or more compliance requirements applicable to the user are satisfied based on the compliance information; and in response to determining that the one or more compliance requirements applicable to the user are satisfied, authorizing the user to perform transactions on the online interaction system. Executing the instructions may cause the at least one processor to perform any of the methods described herein.
In accordance with some embodiments, there is provided a computer implemented- method for managing a digital certificate of a user which generates an electronic signature of the user over a document using a cryptographic key, the computer-implemented method comprising: receiving the digital certificate; determining whether the digital certificate is compliant, wherein determining whether the digital certificate is compliant comprises determining whether the digital certificate identifies the user as a subject of the electronic signature; and in response to determining that the digital certificate is compliant, storing the digital certificate in a database.
In some embodiments, the digital certificate is received from the user. In some embodiments, the method further comprises receiving, from the user, a password associated with the digital certificate.
In some embodiments, determining whether the digital certificate identifies the user comprises determining whether a public key belonging to the user is associated with the cryptographic key used to generate the electronic signature.
In some embodiments, the digital certificate is issued by a third party certificate authority.
In some embodiments, determining whether the digital certificate is compliant comprises accessing a public key of a certificate authority that issued the digital certificate and using the public key of the certificate authority to confirm the electronic signature is accurate.
In some embodiments, the method further comprises in response to determining that the digital certificate is compliant, enabling the user to apply the digital certificate to the document.
In some embodiments there is provided a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer implemented- method for managing a digital certificate of a user which generates an electronic signature of the user over a document using a cryptographic key, the computer-implemented method comprising: receiving the digital certificate; determining whether the digital certificate is compliant, wherein determining whether the digital certificate is compliant comprises determining whether the digital certificate identifies the user as a subject of the electronic signature; and in response to determining that the digital certificate is compliant, storing the digital certificate in a database. The system may be configured to perform any of the methods described herein.
In some embodiments there is provided at least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer implemented-method for managing a digital certificate of a user which generates an electronic signature of the user over a document using a cryptographic key, the computer-implemented method comprising: receiving the digital certificate; determining whether the digital certificate is compliant, wherein determining whether the digital certificate is compliant comprises determining whether the digital certificate identifies the user as a subject of the electronic signature; and in response to determining that the digital certificate is compliant, storing the digital certificate in a database. Executing the instructions may cause the at least one processor to perform any of the methods described herein.
In accordance with some embodiments, there is provided a computer-implemented method for simulating a transaction on an online interaction system configured to communicate with an observer interface to perform transactions, the computer-implemented method comprising: based on an indication that the transaction is to be simulated: receiving, with an application programming interface (API), a call transmitted by the observer interface to the online interaction system, wherein the API intercepts the call transmitted by the observer interface before the call is received by the online interaction system; and transmitting, with the API and to the observer interface, a response to the call.
In some embodiments, the method further comprises logging, with the API, one or more interactions of a user with the observer interface; and assessing performance of the user based on the one or more interactions logged by the API. In some embodiments, assessing the performance of the user comprises determining whether a location of an annotation (e.g., one or more of a seal, a signature, or initials) inserted by the user via the observer interface is correct.
In some embodiments, assessing the performance of the user comprises determining whether a type of an annotation inserted by the user via the observer interface is correct, wherein the type of the annotation is one of handwritten or electronic. In some embodiments, assessing the performance of the user comprises determining whether a size of an annotation inserted by a user via the observer interface is correct.
In some embodiments, the response to the call is randomly generated based on a type (e.g., one of a signer name, a house number, a street name, a city, a state, or a postal code) and/or one or more associated conditions (e.g., one or more of a character limit or a character type) of an expected response.
In some embodiments, the method further comprises based on an indication that the transaction is not simulated: receiving, with the online interaction system, the call transmitted by the observer interface.
In some embodiments there is provided a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer-implemented method for simulating a transaction on an online interaction system configured to communicate with an observer interface to perform transactions, the computer-implemented method comprising: based on an indication that the transaction is to be simulated: receiving, with an application programming interface (API), a call transmitted by the observer interface to the online interaction system, wherein the API intercepts the call transmitted by the observer interface before the call is received by the online interaction system; and transmitting, with the API and to the observer interface, a response to the call. The system may be configured to perform any of the methods described herein.
In some embodiments there is provided at least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer-implemented method for simulating a transaction on an online interaction system configured to communicate with an observer interface to perform transactions, the computer-implemented method comprising: based on an indication that the transaction is to be simulated: receiving, with an application programming interface (API), a call transmitted by the observer interface to the online interaction system, wherein the API intercepts the call transmitted by the observer interface before the call is received by the online interaction system; and transmitting, with the API and to the observer interface, a response to the call. Executing the instructions may cause the at least one processor to perform any of the methods described herein. In accordance with some embodiments, there is provided a computer-implemented method for securing database entries: generating a journal entry (e.g., a notary journal entry) in a database, wherein the journal entry comprises a row in the database and includes information regarding a notarized transaction (e.g., one or more of information regarding the notarized transaction comprises one or more of a notary identifier, a notary name, a signer name, a signing completion date, a transcript of the notarized transaction, a document description, or a document copy); and using a private key of a cryptographic key pair to generate a cryptographic component (e.g., a cryptographic signature, a cryptographic hash) over one or more fields of the journal entry, wherein veracity of the journal entry is determined by verifying the private key with a public key of the cryptographic key pair.
In some embodiments, the journal entry comprises a plurality of fields comprising the information regarding the notarized transaction.
In some embodiments, the method further comprises verifying the private key of the journal entry with the public key of the cryptographic key pair.
In some embodiments, the method further comprises setting the journal entry to read only after generating the journal entry. In some embodiments, the method further comprises transmitting an alert in response to detecting an attempt to edit the journal entry.
In some embodiments, the generating the journal entry is performed after the notarized transaction is performed.
In some embodiments, the database comprises a distributed ledger (e.g., a blockchain), and generating the journal entry comprises storing the journal entry in the distributed ledger.
In some embodiments there is provided a system comprising at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform a computer-implemented method for securing database entries: generating a journal entry in a database, wherein the journal entry comprises a row in the database and includes information regarding a notarized transaction; and using a private key of a cryptographic key pair to generate a cryptographic component over one or more fields of the journal entry, wherein veracity of the journal entry is determined by verifying the private key with a public key of the cryptographic key pair. The system may be configured to perform any of the methods described herein. In some embodiments there is provided at least one non-transitory computer-readable storage medium having stored thereon instruction which, when executed by at least one processor, cause the at least one processor to perform a computer-implemented method for securing database entries: generating a journal entry in a database, wherein the journal entry comprises a row in the database and includes information regarding a notarized transaction; and using a private key of a cryptographic key pair to generate a cryptographic component over one or more fields of the journal entry, wherein veracity of the journal entry is determined by verifying the private key with a public key of the cryptographic key pair. Executing the instructions may cause the at least one processor to perform any of the methods described herein.
FIG. 1 shows an illustrative online interaction system 100, in accordance with some embodiments. In this example, the online interaction system 100 is configured to facilitate an online signing session between an observer and one or more signers. For instance, the observer may interact with the online interaction system 100 via an observer interface 105, while a signer may interact with the online interaction system 100 via a signer interface 110A or 110B.
In some embodiments, a user interface (e.g., the observer interface 105 or the signer interface 110A or 110B) may be configured to display data received from the online interaction system 100, solicit one or more user inputs, and/or forward one or more received user inputs to the online interaction system 100. For instance, a user interface may be configured to display one or more documents to be signed, prompt a signer to insert a signature at a selected location in a document, send to the online interaction system 100 an indication that the signer has inserted a signature, prompt an observer to insert a seal at a selected location in the document, send to the online interaction system 100 an indication that the observer has inserted a seal, etc.
In some embodiments, a user interface may include a web browser configured to execute one or more scripts received from the online interaction system 100. Additionally, or alternatively, a user interface may include user interface software installed on a client device (e.g., a desktop computer, or a mobile device such as a laptop computer, a tablet computer, a smartphone, etc.).
It should be appreciated that aspects of the present disclosure are not limited to implementing all user interfaces in a common manner. For instance, in some embodiments, a first user interface may be provided via a web browser, whereas a second user interface may be provided as an application running on a client device, or vice versa.
In some embodiments, a user interface may communicate with the online interaction system 100 via one or more network interfaces. Such a network interface may use any suitable networking technology, such as 5G, LTE, WiMAX, WiFi, Ethernet, Bluetooth, etc.
In some embodiments, the observer interface 105 may include a tool bar for assisting an observer in performing one or more acts required by the observer’s commission authority. For instance, the tool bar may allow an observer to easily insert initials, a handwritten signature, a seal, etc. (e.g., via a drag-and-drop operation). Additionally, or alternatively, the online interaction system 100 and/or the observer interface 105 may insert into a document certain information required by the observer’s commission authority, such as the observer’s name, commission number, commission expiration date, etc. Such information may be populated in response to the observer’s input (e.g., via the tool bar), or by default, without the observer’s input.
In some embodiments, the online interaction system 100 captures a video of an online signing session. A video of the notarized transaction may be required to comply with statutes and regulations governing the transaction (e.g., in order for the transaction to have legal effect). The video may be stored in a database (e.g., the notary journal database described herein).
In some embodiments, the online interaction system 100 may additionally or alternatively allow participants (e.g., signers, observers, witnesses, etc.) of the signing session to communicate with each other via an instant messaging system. For example, the online interaction system 100 may provide a chat where session participants may message one or more other session participants. A transcript of the messages sent during the signing session may be generated. The transcript may include each message sent during the signing session, an indication of who sent the message, an indication of who received the message, and/or a time stamp of when the message was sent and/or received. In some embodiments, the chat transcript and video capture of the session may be combined. In some embodiments, the messages sent during the session may be superimposed on the video at the appropriate timestamp at which the message was sent. The transcript and/or combined video capture and transcript may be stored in a database (e.g., the notary journal database described herein). FIG. 2 shows an illustrative onboarding interface 200, in accordance with some embodiments. Similar to the illustrative observer interface 105 in the example of FIG. 1, the onboarding interface 200 may be provided via a web browser, as an application running on a client device, or in another suitable manner.
In some embodiments, the onboarding interface 200 may be used to facilitate a compliance check on an observer who is attempting to sign up to conduct online signing sessions. FIG. 3 shows an illustrative process 300 for such a compliance check. For instance, the process 300 may be performed by the illustrative online interaction system 100 in the example of FIG. 1, which may interact with the observer via the onboarding interface 200.
At act 305, the online interaction system 100 may receive observer identifying information. For instance, in response to the observer’s attempt to sign up, the onboarding interface 200 may prompt the observer to provide identifying information, and may forward the identifying information to the online interaction system 100. Examples of identifying information include, but are not limited to, name, email address, physical address, phone number, authority of commission, commission number, commission expiration date, etc.
In some embodiments, an existing user of the online interaction system 100 may attempt to sign up as an observer. For instance, the user may have already signed up as a title agent, but may wish to conduct online signing sessions, in addition to performing one or more title agent tasks. Accordingly, in some embodiments, multiple profiles may be associated with a common identifier (e.g., email address or phone number) of the user, where each profile may correspond to a different role (e.g., notary, title agent, etc.). A compliance check for each role may be performed based on the respective profile and/or respective requirements.
The inventors have recognized and appreciated that information needed to check compliance may vary depending on commission authority. As an example, some states require an observer to purchase a surety bond to protect the public against a negligent mistake or an intentional misconduct committed by the observer. Different states may have different requirements with respect to a bond amount and/or one or more other aspects of the surety bond.
As another example, some states require an observer to maintain an Errors and Omissions (E&O) insurance policy to protect the observer in case the observer makes an unintentional error or omission. Different states may have different requirements with respect to a coverage amount, a deductible amount, and/or one or more other aspects of the E&O policy. In some embodiments, a coverage amount required may depend on a transaction type.
For instance, a higher coverage amount may be required for a transaction involving real estate, compared to a transaction not involving real estate.
Accordingly, at act 310, the online interaction system 100 may determine one or more compliance requirements based on a commission authority identified by the observer at act 305. For instance, in some embodiments, compliance requirements may be maintained in a database, and may be indexed by commission authority. The online interaction system 100 may use the authority identified by the observer to look up from the database one or more requirements that are applicable to the identified authority.
At act 315, the online interaction system 100 may cause the onboarding interface 200 to prompt the observer to provide compliance information, which may be used by the online interaction system 100 to check whether the observer should be allowed to conduct online signing sessions.
In some embodiments, a compliance requirement identified at act 310 may include program logic, such as program code and/or one or more values encoding the compliance requirement. Such program logic be retrieved from a database using the observer’s commission authority. The online interaction system 100 may be configured to apply the program logic to determine what compliance information is required, and/or whether compliance information provided by the observer satisfies the compliance requirement. For instance, the program logic may indicate whether a bond is required for a given state, and, if so, a required bond amount.
The inventors have recognized and appreciated that, by storing program logic in an entry in a database, changes in compliance requirements may be easily implemented by storing updated program logic into the corresponding entry in the database. However, it should be appreciated that aspects of the present disclosure are not limited to obtaining program logic from a database, or in any particular manner.
In some embodiments, the onboarding interface 200 may be dynamically configured based on the one or more compliance requirements identified at act 310 for the observer’s commission authority. For instance, in response to determining that a surety bond is required, the online interaction system 100 may cause the onboarding interface 200 to display one or more user interface elements (e.g., one or more text field, dropdown menus, etc.) to prompt the observer to enter bond information, such as a bond amount, a bond number, a surety company name, an issue date, etc. Such user interface elements may be omitted if the one or more compliance requirements identified for the observer’s commission authority do not include a bond requirement.
At act 320, the online interaction system 100 may check the compliance information received at act 315 against one or more trusted information sources, such as an illustrative trusted information source 205 in the example of FIG. 2. For instance, the trusted information source 205 may include a database made available by a trusted third party (e.g., the National Notary Association, also known as the NNA).
The online interaction system 100 may access any suitable information from the trusted information source 205. Examples of such information include, but are not limited to, authority of commission, commission number, commission expiration date, phone number, NNA training completion date, background check status, background check date, insurance information, bond information, etc. Any information accessed from a trusted information source may be referred to herein as trusted information.
In some embodiments, the online interaction system 100 may use some or all of the observer identifying information obtained at act 305 to access the trusted information source 205. Examples of such identifying information include, but are not limited to, authority of commission, commission number, first name, last name, phone number, email address, etc. In some embodiments, the observer may be instructed (e.g., via the onboarding interface 200) to provide identifying information that matches their information of record at the trusted information source 205.
In some embodiments, the online interaction system 100 may cause the onboarding interface 200 to display some or all of the trusted information obtained at act 320. The observer may be prompted to confirm accuracy of the trusted information. Additionally, or alternatively, the observer may be invited to edit the trusted information. For instance, the observer may be invited to provide information on an insurance policy that replaces, or supplements an insurance policy indicated in the trusted information. However, it should be appreciated that aspects of the present disclosure are not limited to allowing the observer to edit the trusted information. In some embodiments, certain trusted information may not be edited, such as NNA training completion date, background check status, background check date, etc. In some embodiments, the online interaction system 100 may compare the compliance information obtained at act 315 against the trusted information obtained at act 320. Additionally, or alternatively, the online interaction system 100 may apply the program logic obtained at act 310 to the compliance information and/or the trusted information, to determine if the observer satisfies the one or more compliance requirements. Additionally, or alternatively, the online interaction system 100 may create one or more compliance checking tasks to be performed by a compliance officer, for instance, via an illustrative compliance check interface 210 in the example of FIG. 2.
Although some details of implementation are described above in connection with FIGs. 1-3, it should be appreciated that such details are provided solely for purposes of illustration. For instance, one or more of the functionalities described above in connection with the online interaction system 100 may, additionally or alternatively, be performed by the onboarding interface 200.
Moreover, aspects of the present disclosure are not limited to prompting an observer to provide compliance information at act 315. The inventors have recognized and appreciated that manual entry of information may be error prone. Accordingly, in some embodiments, a compliance check may be performed based on information accessed from one or more trusted sources, without prompting an observer to manually enter information. For instance, the observer may first be prompted to provide sufficient information to identify the observer to the trusted information source 205 (e.g., an NNA ID, a name, an email address, a physical address, a phone number, etc.). That identifying information may then be used to access trusted information from the trusted information source 205. Such trusted information may be viewed and/or edited by the observer, as described above.
The inventors have also recognized and appreciated that, because certain aspects of the process 300 may depend on dynamically obtained information, it may be desirable to perform certain portions of the process 300 in a selected order. For instance, because compliance requirements may vary across different commission authorities, it may be desirable to prompt an observer to provide an authority of commission before other compliance information (e.g., insurance information, bond information, etc.).
Additionally, or alternatively, the observer may be prompted to provide certain identifying information (e.g., an NNA ID, a name, an email address, a physical address, a phone number, etc.) before certain compliance information (e.g., authority of commission, commission number, commission expiration date, etc.). This may allow the online interaction system 100 to immediately begin accessing the trusted information source 205, while the observer is still entering or uploading compliance information. In this manner, the online interaction system 100 may be able to check the compliance information against trusted information as soon as the observer has finished entering or uploading the compliance information.
In some embodiments, an observer may be blocked from further action via the onboarding interface 200 until a selected action has been taken (e.g., providing an authority of commission). However, it should be appreciated that aspects of the present disclosure are not limited to performing actions in any particular order.
Moreover, aspects of the present disclosure are not limited to performing a compliance check when an observer attempts to sign up. In some embodiments, the online interaction system 100 may check compliance on an on-going basis. For instance, the online interaction system 100 may check, periodically (e.g., daily, weekly, monthly, quarterly, annually, etc.), whether an observer has maintained compliance with respect to one or more requirements, and/or whether the observer’s commission is about to expire (e.g., expiring in one day, week, month, quarter, year, etc.). If such an issue is detected, the online interaction system 100 may request that the observer rectify the issue. In some instances, the observer may be prevented from conducting online signing sessions until the issue has been rectified.
In some embodiments, techniques are provided for assisting an observer in preparing for online signing sessions. As an example, a commission authority may require an observer to sign an electronic document by generating an electronic signature over the document using a cryptographic key. Accordingly, in some embodiments, techniques are provided for managing, on behalf of an observer, the observer’s cryptographic key and/or a digital certificate associated therewith.
FIG. 4 shows an illustrative process 400 for managing a digital certificate, in accordance with some embodiments. For instance, the process 400 may be performed by the illustrative online interaction system 100 in the example of FIG. 1, which may interact with an observer via the illustrative onboarding interface 200 in the example of FIG. 2.
At act 405, the online interaction system 100 may receive the observer’s digital certificate and/or a password associated with the digital certificate. For instance, the online interaction system 100 may cause the onboarding interface 200 to prompt the observer to upload the digital certificate and/or provide the password.
In some embodiments, the digital certificate may identify a subject. This may be done in any suitable manner, for instance, based on the subject’s name, email address, physical address, phone number, etc. Additionally, or alternatively, the digital certificate may include a public key of a cryptographic key pair of the subject. Additionally, or alternatively, the digital certificate may include a private key of the cryptographic key pair of the subject, and the private key may be secured using a password known only to the subject.
In some embodiments, the digital certificate may have been issued by a third party certificate authority (e.g., DigiCert, IdenTmst, etc.), and may include a cryptographic signature generated over a portion of the digital certificate using a cryptographic key of the certificate authority. For instance, the cryptographic signature may be generated over the subject’s identifying information, the subject’s public key, and/or one or more other fields of the digital certificate. The cryptographic key may be a private key of a cryptographic key pair of the certificate authority, and the certificate authority may publish a public key of the cryptographic key pair in some suitable manner (e.g., on the certificate authority’s web site).
At act 410, the online interaction system 100 may check the digital certificate obtained at act 405. For instance, the online interaction system 100 may confirm that the digital certificate identifies the observer as the subject. Additionally, or alternatively, the online interaction system 100 may independently access the public key of the certificate authority (e.g., from the certificate authority’s web site), and may use the public key to check the signature in the digital certificate. Thus, the online interaction system 100 may be able to assure that the public key in the digital certificate indeed belongs to the observer.
At act 415, the online interaction system 100 may store the digital certificate and/or the password. At a subsequent time, the online interaction system 100 may use the password to make the private key of the observer available for use in generating a cryptographic signature over a document. For instance, if the private key is stored in the digital certificate itself with password protection, the password may be used to allow access to the private key temporarily for signing. If the private key is stored elsewhere (e.g., by the certificate authority), the password may be used to request that the private key be used to sign a document. Although some details of implementation are described above in connection with FIG. 4, it should be appreciated that such details are provided solely for purposes of illustration. For instance, aspects of the present disclosure are not limited to using a digital certificate issued by a third party certificate authority. In some embodiments, the online interaction system 100 may act as a certificate authority, and may issue digital certificates to observers.
Moreover, aspects of the present disclosure are not limited to managing a digital certificate on behalf of an observer. In some embodiments, the online interaction system 100 may capture an image of a handwritten signature from an observer, and may sign an electronic document on behalf of the observer by inserting the image of the handwritten signature, in addition to, or instead of, a cryptographic signature generated over the document using a private key associated with the observer’s digital certificate. For instance, the cryptographic signature may be generated over the document with the image of the handwritten signature inserted.
FIGs. 5A-C show, respectively, illustrative user interfaces 500, 510, and 520, in accordance with some embodiments. For instance, the user interfaces 500, 510, and 520 may be presented to an observer by the illustrative onboarding interface 200 in the example of FIG. 2, to capture an image of a handwritten signature.
In the example of FIG. 5A, the user interface 500 instructs the observer to handwrite a signature on a piece of paper, and to hold the piece of paper up to a camera (e.g., a camera integrated into a mobile device or a monitor, or a separate webcam). To improve image quality, the user interface 500 may instruct the observer to use a piece of light-colored paper, such as white paper.
Additionally, or alternatively, the user interface 500 may display, to the observer, a video of the signature as viewed through the camera, so that the observer may adjust a distance between the piece of paper and the camera, and/or an angle at which the piece of paper is held. When the observer is satisfied with a view of the signature, the observer may click a “Capture” button to capture a still image.
In the example of FIG. 5B, the user interface 510 allows the observer to edit the image of the signature captured via the user interface 500. For instance, the observer may be allowed to crop and/or rotate the image of the signature. When the observer is satisfied with a cropped and/or rotated image of the signature, the observer may click an “Apply” button to continue. In the example of FIG. 5C, the user interface 520 displays an image of the signature over a signature line, so that the observer may see how the image of the signature may appear when inserted into an electronic document. Additionally, or alternatively, the user interface 520 may allow the observer to make one or more adjustments to the image. For instance, the onboarding interface 200 may include program logic (e.g., in JavaScript) that, when executed by a browser, manipulates the image according to user input. In the example of FIG. 5C, the user interface 520 includes a slide bar via which the observer may cause the onboarding interface 200 to adjust contrast and/or brightness of the image.
In some embodiments, if the observer is not satisfied with the signature’s appearance, the observer may click a “Retake” button to return to the user interface 500 to capture another image. Otherwise, the observer may adopt the cropped, rotated, and/or adjusted image of the signature. In response, the onboarding interface 200 may send the image of the signature to the online interaction system 100.
It should be appreciated that aspects of the present disclosure are not limited to capturing an image of an observer’s handwritten signature via the onboarding interface 200. In some embodiments, the onboarding interface 200 may prompt the observer to upload an image file that has been generated separately. The image file may be in any suitable format, such as Portable Network Graphics (PNG), Joint Photographic Experts Group (JPEG), Graphics Interchange Format (GIF), Tag Image File Format (TIFF), etc.
Moreover, aspects of the present disclosure are not limited to managing, on behalf of an observer, a digital certificate or an image of a handwritten signature. In some embodiments, the online interaction system 100 may generate an image of a seal based on information pertaining to an observer, and may sign an electronic document on behalf of the observer by inserting the image of the seal, in addition to, or instead of, an image of the observer’s handwritten signature, and/or a cryptographic signature generated over the document using a private key associated with the observer’s digital certificate. For instance, the cryptographic signature may be generated over the document, with the image of the handwritten signature and/or the image of the seal inserted.
FIGs. 6A-B show, respectively, illustrative images 600 and 610 of seals, in accordance with some embodiments. For instance, the illustrative images may be generated by the illustrative online interaction system 100 in the example of FIG. 1. In some embodiments, the online interaction system 100 may have a plurality of seal templates corresponding, respectively, to a plurality of commission authorities. For instance, the image 600 may be generated based on a template for the Commonwealth of Virginia, whereas the image 610 may be generated based on a template for the State of Florida.
In some embodiments, a template for a commission authority may store a logo for the authority, and/or a position at which the logo should appear in an image of a seal. Additionally, or alternatively, the template may indicate one or more fields in the seal, respective positions at which the one or more fields should appear in the image of the seal, and/or respective formatting instructions for the one or more fields (e.g., font, size, boldface, italicizing, centering or left/right justifying, etc.). Examples of fields include, but are not limited to, an observer’s name, commission number, commission expiration date, etc.
In some embodiments, the online interaction system 100 may generate an image of a seal based on identifying information obtained at act 305 of the illustrative process 300 in the example of FIG. 3, and/or trusted information obtained at act 320 of the process 300. For instance, the online interaction system 100 may use an authority of commission provided by an observer at act 305 to select a corresponding template, and may populate the template based on a name, a commission number, and a commission expiration date obtained from a trusted information source.
In this manner, the online interaction system 100 may ensure that the seal matches the observer’s information of record at the trusted information source. However, it should be appreciated that aspects of the present disclosure are not limited to using trusted information to generate an image of a seal. Additionally, or alternatively, the seal may include one or more items of information provided by the observer, or obtained in another suitable manner.
The inventors have recognized and appreciated that, in some instances, a text string for a field in the seal may be too long to fit into an amount of space allocated by the template for the field. Accordingly, in some embodiments, the online interaction system 100 may check a length of a text string (e.g., the observer’s name). If the length exceeds a selected threshold, the online interaction system 100 may decrease a font size, and/or wrap the text string over multiple lines.
It should be appreciated that aspects of the present disclosure are not limited to generating an image of a seal. In some embodiments, the onboarding interface 200 may prompt the observer to upload an image file that has been generated separately. The image file may be in any suitable format, such as Portable Network Graphics (PNG), Joint Photographic Experts Group (JPEG), Graphics Interchange Format (GIF), Tag Image File Format (TIFF), etc.
It should also be appreciated that aspects of the present disclosure are not limited to the online interaction system 100 generating an image of a seal. In some embodiments, an image of a seal may be generated by the onboarding interface 200, for example, using an HTMF canvas element.
As described above, the online interaction system 100 may, in some embodiments, create one or more compliance checking tasks to be performed by a compliance officer via the illustrative compliance check interface 210 in the example of FIG. 2. The inventors have recognized and appreciated that a compliance officer may check compliance for multiple observers attempting to sign up. Accordingly, in some embodiments, the compliance check interface 210 may be configured to allow a compliance officer to filter and/or sort profiles of different observers. In this manner, the compliance officer may readily select a profile to review.
The inventors have further recognized and appreciated that, in some instances, an observer may provide compliance information in a piecemeal fashion. For example, an observer may begin providing compliance information, but may realize his/her insurance policy has expired. It may take the observer several days, or even several weeks, to rectify such an issue. It may be inefficient for a compliance officer to simply follow the observer’s progress and review various items of information at disparate times. Accordingly, in some embodiments, the online interaction system 100 may be configured to determine whether an observer has finished providing all relevant information, and the compliance check interface 210 may be configured to allow a compliance officer to filter out profiles that are not yet ready for review.
FIG. 7A shows an illustrative onboarding status diagram 700, in accordance with some embodiments. In this example, there are three onboarding statuses: Invited, Initiated, and Completed. For instance, in response to an observer’s attempt to sign up, the online interaction system 100 may create a profile for the observer. The profile may have a suitable identifier, such as the observer’s name, email address, phone number, NNA ID, etc. The online interaction system 100 may set an onboarding status of the newly created profile to Invited.
In some embodiments, the online interaction system 100 may perform a verification, for example, by sending a randomly generated link and/or code to the observer (e.g., via email or text). In response to the observer clicking the link and/or returning the code (e.g., via the illustrative onboarding interface 200 in the examples of FIG. 2), the online interaction system 100 may change the onboarding status of the observer’s profile from Invited to Initiated.
As described in connection with the example of FIG. 3, the online interaction system 100 may prompt the observer to provide identifying information and/or compliance information via the onboarding interface 200. The online interaction system 100 may be configured to determine whether the observer has provided all relevant information, for instance, based on one or more compliance requirements identified at act 310 in the example of FIG. 3. In response to determining that the observer has provided all relevant information, the online interaction system 100 may change the onboarding status of the observer’s profile from Initiated to Completed.
In some instances, the observer may update one or more items of information after the onboarding status of the observer’s profile has been set to Completed. This may cause the online interaction system 100 to rescind the Completed status. As an example, if the observer has provided a new email address, the online interaction system 100 may return the profile to the Invited status, so that a new verification may be performed (e.g., by sending a new randomly generated code to the new email address). As another example, if the observer has provided a new name, the online interaction system 100 may return the profile to the Initiated status, so that a new handwritten signature may be captured, and/or a new seal may be generated.
While examples of onboarding statuses are shown in FIG. 7A and described above, it should be appreciated that aspects of the present disclosure are not limited to having any particular onboarding status, or any onboarding status at all.
The inventors have recognized and appreciated that it may be inefficient for a compliance officer to review the observer’s profile if the observer has not provided all relevant information. Accordingly, in some embodiments, the compliance check interface 210 may be configured to allow a compliance officer to filter out profiles that are not yet ready for review.
FIG. 8 shows an illustrative list 800 of observer profiles, in accordance with some embodiments. For instance, the list 800 may be presented by the compliance check interface 210 to a compliance officer. The compliance check interface 210 may allow the compliance officer to filter observer profiles based on onboarding status. For example, the compliance officer may use a dropdown menu 802 to select an onboarding status. In this manner, the compliance officer may be able to focus on observer profiles having the selected onboarding status, such as Completed.
It should be appreciated that aspects of the present disclosure are not limited to filtering observer profiles based on onboarding status, or any filtering at all. In some embodiments, the compliance check interface 210 may allow the compliance officer to filter observer profiles based on observer type (e.g., independent, or affiliated with an organization such as a law firm or a title company), observer organization, authority of commission (e.g., state or country), compliance status, accept calls status (e.g., whether an observe is allowed to conduct an online signing session), account status (e.g., whether an observer has conducted at least one online signing session over some selected period of time, such as past three months), availability status (e.g., whether an observer is currently logged in, and is able to conduct an online signing session immediately), training status (e.g., whether an observer is allowed to receive training on how to use the illustrative observer interface 105 in the example of FIG. 1), etc. For instance, an observer may be allowed to conduct an online signing session only if the observer’s profile is compliant, a payment account has been set up for the observer, the observer is not on vacation, and the observer has received training on how to use the observer interface 105.
In some embodiments, the compliance check interface 210 may allow the compliance officer to select an observer profile for review. For instance, the compliance officer may click on an observer’s name (e.g., at 804), which may cause the compliance check interface 210 to display that observer’s profile.
FIGs. 9A-G show various tabs of an illustrative observer profile 900, in accordance with some embodiments. For instance, FIG. 9A shows a main tab that may be displayed in response to a compliance officer clicking an observer’s name in the illustrative list 800 in the example of FIG. 8.
In some embodiments, the main tab may display identifying information of the observer, such as an email address 902. Additionally, or alternatively, the main tab may display one or more statuses associated with the observer’s profile, such as an onboarding status 904. In this example, the onboarding status 904 is Initiated, indicating that the observer has verified that he/she has access to the email address 902 (e.g., as described above in connection with the example of FIG. 7A). FIG. 9B shows a history tab of the observer profile 900. The history tab may log one or more actions performed by the observer and/or one or more compliance officers. In this example, the history tab shows that the observer verified his/her email address at 11:37 AM on 05/24/201, thereby causing the onboarding status to change from Invited to Initiated.
FIG. 9C also shows the history tab of the observer profile 900, albeit at a later time. In this example, the observer has provided insurance information, NNA training information, background check information, digital certificate information, etc., and has created a handwritten signature, handwritten initials, and a seal. Accordingly, the online interaction system 100 may determine that the observer has provided all relevant information, and may change the onboarding status from Initiated to Completed.
As described above, the online interaction system 100 may, in some embodiments, associate a compliance status with the observer’s profile, in addition to, or instead of, an onboarding status. FIG. 7B shows an illustrative compliance status diagram 750, in accordance with some embodiments. In this example, there are three compliance statuses: Needs Review, Compliant, and Non-Compliant. For instance, when the online interaction system 100 creates a profile for an observer in response to the observer’s attempt to sign up, the online interaction system 100 may associate the Needs Review status with the newly created profile. Subsequently, the online interaction system 100 may associate the Compliant or Non-compliant status with the profile (e.g., depending on an outcome of a review by a compliance officer).
While examples of compliance statuses are shown in FIG. 7B and described above, it should be appreciated that aspects of the present disclosure are not limited to having any particular compliance status, or any compliance status at all.
FIGs. 9D-E show the main tab of the illustrative observer profile 900 in the example of FIG. 9A, albeit at a later time. In the example of FIG. 9D, the onboarding status 904 has been changed from Initiated to Completed, indicating that the observer profile 900 is ready for review by a compliance officer.
In some embodiments, the main tab of the illustrative observer profile 900 may display compliance information, in addition to, or instead of, identifying information of the observer.
For instance, a compliance officer may scroll down from a first portion of the main tab (shown in FIG. 9D) to a second portion of the main tab (shown in FIG. 9E) to review compliance information. Such compliance information may have been entered by the observer and/or retrieved from a trusted source (e.g., as described in connection with the example of FIG. 3).
Additionally, or alternatively, the compliance officer may review one or more documents uploaded by the observer. FIG. 9F shows a documents tab of the observer profile 900. In this example, the documents tab allows the compliance officer to view copies of the observer’s insurance policy and commission.
In some instances, the observer may upload multiple versions of a document. Accordingly, in some embodiments, the documents tab may track all versions and respective timestamps. This may allow the compliance officer to review a current version and/or one or more past versions of the document, for example, to ensure there is no gap.
Returning to the example of FIG. 9D, the compliance officer may, upon completing his/her review, use a dropdown menu 906 to indicate whether the observer profile 900 is considered Compliant or Non-Compliant. In some embodiments, the dropdown menu 906 may be disabled if the onboarding status 904 is not Completed. This may prevent the compliance officer from accidentally marking the observer profile 900 as being Compliant when the onboarding status 904 is still Invited or Initiated.
In some embodiments, if the compliance officer selects Non-Compliant from the dropdown menu 906, he/she may be prompted to indicate one or more reasons, for example, in a notes tab of the observer profile 900. In this manner, when the observer profile 900 is reviewed again in the future, the compliance officer (or a different compliance officer) may be able to quickly identify one or more outstanding issues to be rectified.
Additionally, or alternatively, in response to the compliance officer selecting Non- Compliant, the online interaction system 100 may send a notification to the observer (e.g., via email, text, or another messaging application). The notification may include the one or more reasons indicated by the compliance officer, and/or one or more suggested actions. For instance, a suggested action may be to upload an additional document requested by the compliance officer.
In some embodiments, the online interaction system 100 may update the compliance status in response to a change in the observer profile 900. For instance, referring again to the example of FIG. 7B, the compliance status may revert to Needs Review if the observer uploads a new document. This may happen regardless of whether the observer profile 900 was Compliant or Non-Compliant.
In some embodiments, in response to the observer making a change to the observer profile 900, the online interaction system 100 may send a notification to the same compliance officer who reviewed the observer profile 900, or a different compliance officer (e.g., to balance workload among multiple compliance officers). This may be done in any suitable manner, for example, via email, text, or another messaging application. The compliance officer may use the history tab of the observer profile 900 to quickly determine what has changed. For instance, in the example of FIG. 9G, the compliance officer may determine that the observer has uploaded a new document. In this manner, the compliance office may only review the new document, without duplicating any work that was previously done.
The inventors have recognized and appreciated that it may be desirable to provide training to an observer on how to use the illustrative observer interface 105 in the example of FIG. 1. For instance, it may be desirable to provide a realistic experience to a trainee by allowing the trainee to actually use the observer interface 105. However, if a trainee is allowed to conduct an online signing session in which a signer signs a real document, the trainee may make a mistake, which may jeopardize a legal effect of the signed document. While it may be possible to have a supervisor join the signing session to ensure the trainee does not make a mistake, such an approach may be inefficient. Accordingly, in some embodiments, techniques are provided for simulating an online signing session, so that a trainee may be able to use the observer interface 105 without performing any act that may have a legal effect.
In some embodiments, one or more training documents may be added to a document database managed by the illustrative online interaction system 100 in the example of FIG. 1. Such a document may have fixed content from a real document template (e.g., a power of attorney, an authorization for delivery of mail to an agent, etc.), but may have variable content that is fictitious (e.g., fictitious name, address, phone number, etc.).
In some embodiments, a trainee may be allowed conduct a simulated signing session via the observer interface 105. The simulated signing session may be carried out between the observer interface 105 and the online interaction system 100 in the same way as a real signing session, except a training document may be used, instead of a real document, and there may be no video feed. FIG. 10A shows an illustrative screen 1050 of the illustrative observer interface 105 in the example of FIG. 1, in accordance with some embodiments. In this example, the screen 1050 is presented to an observer in training during a simulated signing session.
FIG. 10B shows a portion of the illustrative screen 1050 in the example of FIG. 10A, in accordance with some embodiments. In this example, a trainee is practicing inserting a graphical seal 1052 at a designated area of a training document.
In some embodiments, the screen 1050 may be rendered using the same software code (e.g., in-browser script such as Javascript, or stand-alone software) that is used to render a screen during a real signing session. Thus, the trainee may be able to practice using all functionalities of the observer interface 105, such as inserting a graphical seal, a handwritten signature, initials, etc.
However, the inventors have recognized and appreciated some disadvantages of carrying out a simulated signing session between the observer interface 105 and the online interaction system 100 in the same way as a real signing session. For instance, under this approach, one or more modifications may be made to the observer interface 105 and/or the online interaction system 100. As an example, the online interaction system 100 may be modified to recognize whether a signing session is real or simulated. If the signing session is simulated, the online interaction system 100 may not create a journal entry, and may not persist the signed document. By contrast, if the signing session is real, the online interaction system 100 may create a journal entry, and may persist the signed document.
As another example, if the signing session is simulated, the online interaction system 100 may log information that may be used to assess a trainee’s performance, such as a number of times the trainee moved a graphical seal, a final placement and/or one or more intermediate placements of the graphical seal, whether the trainee typed his/her name on a line where he/she should have inserted a handwritten signature, whether the trainee recognized and corrected that error, etc. By contrast, if the signing session is real, the online interaction system 100 may not log such information.
Thus, this approach may result in one version of the observer interface 105 or the online interaction system 100 for real signing sessions, and a different version for simulated signing sessions. The inventors have recognized and appreciated that it may be cumbersome to maintain different versions of the observer interface 105 or the online interaction system 100. Accordingly, in some embodiments, techniques are provided for simulating an online signing session, without modifying the observer interface 105 or the online interaction system 100, or with fewer or less significant modification(s). For instance, a simulation agent may be provided to process application programming interface (API) calls made by the observer interface 105 to the online interaction system 100.
The simulation agent may be implemented in any suitable manner. For instance, the simulation agent may be implemented on a client device, and may intercept API calls made by the observer interface 105. As an example, the observer interface 105 and the simulation agent may be implemented using in-browser script, such as Javascript. As another example, the observer interface 105 and the simulation agent may be implemented as stand-alone software installed on the client device.
Additionally, or alternatively, the simulation agent may be implemented on a server device, which may be the same as, or different from, a server device on which the online interaction system 100 is hosted. The observer interface 105 may be configured to direct API calls to the simulation agent, instead of the online interaction system 100, during a simulated signing session.
In some embodiments, when a trainee performs an action (e.g., inserting a graphical seal at a certain location in a document), the observer interface 105 may make a corresponding API call as the observer interface 105 would during a real signing session. The simulation agent may respond to the API call (e.g., with success or failure). The online interaction system 100 may not receive the API call at all.
In some embodiments, the observer interface 105 may direct the API call to the simulation agent. Additionally, or alternatively, the observer interface 105 may direct the API call to the online interaction system 100, but the simulation agent may intercept the API call. In this manner, the observer interface 105 and/or the online interaction system 100 may be agnostic to whether a signing session is real or simulated.
In some embodiments, training-related processing may be performed by the simulation agent. For example, the simulation agent may log information that may be used to assess a trainee’s performance, such as a number of times the trainee moved a graphical seal, a final placement and/or one or more intermediate placements of the graphical seal, whether the trainee typed his/her name on a line where he/she should have inserted a handwritten signature, whether the trainee recognized and corrected that error, etc.
In some embodiments, in response to a trainee inserting an annotation, the observer interface 105 may generate an API call with a data field indicating the annotation. For instance, the data field may indicate an annotation type (e.g., seal, initials, signature, etc.), a location of the annotation, a size of the annotation, etc. Upon receiving the API call, the simulation agent may determine whether an annotation of the indicated type and/or the indicated size is expected at the indicated location.
The inventors have recognized and appreciated various challenges in configuring the simulation agent to respond to API calls from the observer interface 105. For instance, API responses expected by the observer interface 105 may have tens, or even hundreds, of data fields. It may be challenging to configure the simulation agent to provide appropriate data values to the observer interface 105, so that the observer interface 105 may deliver a realistic experience to a trainee.
In some embodiments, a data schema may be provided for API responses expected by the observer interface 105. For instance, a data field in an expected API response may have an associated type and/or one or more associated conditions. As an example, a signer name field may store a string having a length that is no more than a selected maximum. As another example, a transaction date field may store a current date. As another example, a number of required seals field may store an integer that is non-negative, and is no larger than a selected maximum.
In some embodiments, a simulation agent may be configured to generate one or more data values according to a data schema. For instance, a signer address field may have a house number subfield, a street name subfield, a city subfield, a state subfield, and/or a postal code subfield. The house number subfield may store a positive integer with at most five digits, the street name subfield may store a non-empty string with at most 25 characters, the city subfield may store a non-empty string with at most 15 characters, the state subfield may store a two-letter string from a set of state abbreviations, and/or the postal code subfield may store a positive integer with at most five digits (displayed with one or more leading zeros to obtain exactly five digits). The simulation agent may be configured to randomly select, for each subfield, a value that has the corresponding type and/or satisfies the corresponding condition(s). It should be appreciated that aspects of the present disclosure are not limited to having any particular data schema, or any data schema at all. In some embodiments, a data schema may indicate a relationship between multiple data fields, in addition to, or instead of, a type and/or one or more conditions for an individual data field.
The inventors have recognized and appreciated that, while random selection of data values may be efficient, such an approach may not be appropriate for all data fields. For instance, for some data fields, it may be desirable to have content selected based on a type of training being conducted. As an example, a document field may store a Uniform Resource Locator (URL) for a training document to be used during a simulated signing session, and a document title field may store a title of the training document. Accordingly, in some embodiments, in response to a trainee selecting a training document for a simulated signing session, a corresponding URL and a corresponding title may be used for the document field and the document title field, respectively.
Additionally, or alternatively, for some data fields, it may be desirable to have content that is dynamically determined by the simulation agent’s program logic. As an example, a number of required seals field may be initialized to an appropriate non-negative integer (e.g., based on a training document being used). In response to a trainee inserting a seal, the observer interface 105 may generate an API call with a data field indicating the seal (e.g., as described above). Upon receiving the API call, the simulation agent may determine whether the seal is inserted at a correct location. If the seal is inserted at a correct location, the simulation agent may decrement the number of required seals field. If the seal is not inserted at a correct location, the simulation agent may generate an exception with an appropriate error message to be displayed by the observer interface 105 to the trainee.
Although some details of implementation are described above, it should be appreciated that such details are provided solely for purposes of illustration. For instance, aspects of the present disclosure are not limited to selecting a value for a data field any particular manner. In some embodiments, the simulation agent may be configured to determine, for each data field, whether the data field has an associated method for initializing and/or updating the data field (e.g., as described above). If the data field does not have an associated method for initializing and/or updating, the simulation agent may randomly select a value for the data field, for example, according to a data schema. FIG. 11 shows an illustrative observer journal database 1100, in accordance with some embodiments. For instance, upon conclusion of an online notary meeting, the illustrative online interaction system 100 in the example of FIG. 1 may create a journal entry for the meeting, and may store the journal entry into the observer journal database 700.
In some embodiments, each notary journal entry may be stored as a row in the observer journal database 1100. Pertinent information may be stored in respective fields in the row, such as an identifier of a notary who conducted the meeting, a name of the notary, respective name(s) of one or more signers, a signing completion date, a transcript of the transaction (e.g., a transcript of messages transmitted by the meeting participants via the online interaction system 100), a description of a document signed, a copy of the signed document, a cryptographic signature generated over the signed document using a private key of the notary, etc.
Below is a non-limiting example of a row in the observer journal database 1100.
<NotaryJoumalEntry id: "fffefbc7-e7d7-42f0-alcb-e70814acaf0b", notarial_act_id: 50474, notary_state: "Virginia", notary _id: 367142, notarial_act_time: "2020-06-17 07:53:18", notarial_act_value: " acknowledgement" , document_name: "test_doc_l .pdf" , principal_name: "Jane Doe", principal_address: {"city"=>"Boston", "linel"=>"745 Boylston St",
"line2"=>" Floor 6", "state"=>"MA", "postal"=>'O2116", " country" =>" US"}, identification_methods: ["kba", "credential_analysis"], identification's suer: "MA", identification_type: "driver_license" , identification's sue_date: "2000-01-01 00:00:00", identification_expiry_date: "2030-01-01 00:00:00", fee_charged: nil, transaction_id: nil, request_date: nil, identification_number: nil, row_signature: " MIGIAklB eYV5IbXVFC3 KK0FdsT04LjLhx 1 +L3hj 6pE7 c VhCiAn+OOOhADi/3 WXI F8BxPaKgjUODL8LrpWjXd09dMBCcCOToCQgD+pUkmqW5SXtY9qu68TyF4JPveZQqOeZ YMq J 3 lGj NSr J Wblu 8 UBdBzqcHOpUDcBD5rSfQHvV3feMFcP4veTFGs7w==", additional_fields: { }>
In some embodiments, the online notarization system 100 may be configured to provide tamper evidence for one or more entries in the notary journal database 700. For instance, the online notarization system 100 may use a private key to generate a cryptographic signature over one or more fields of an entry, and may store the cryptographic signature in a separate field in the entry. The private key may be from a key pair of the online notarization system 100.
In this manner, integrity and/or authenticity of the one or more fields may be checked by using a public key of the key pair of the online notarization system 100 to verify the cryptographic signature. If an attacker modifies the one or more fields, the attacker may be unable to generate a new cryptographic signature that would be successfully verified using the public key, because the attacker may have no access to the private key.
The cryptographic signature for an entry may be generated in any suitable manner. For instance, the cryptographic signature may be generated prior to, simultaneously with, or after storing the entry into the notary journal database 700. If the cryptographic signature is generated after storing the entry into the notary journal database 700, the one or more fields may be read out of the notary journal database 700, to be used in generating the cryptographic signature.
In some embodiments, the online notarization system 100 may combine the one or more fields prior to generating the cryptographic signature. For instance, the online notarization system 100 may convert each of the one or more fields into a text string, and may combine one or more resulting text strings via concatenation. The cryptographic signature may then be generated over the concatenated text string.
It should be appreciated that aspects of the present disclosure are not limited to generating a single cryptographic signature over one or more fields. In some embodiments, the online notarization system 100 may generate respective cryptographic signatures over multiple fields. The cryptographic signatures may be stored and used for subsequent verification of the corresponding fields.
It also should be appreciated that aspects of the present disclosure are not limited to using a cryptographic signature to provide tamper evidence. In some embodiments, a cryptographic hash may be used instead of, or addition to, a cryptographic signature. For instance, the online notarization system 100 may combine one or more fields in an entry in some suitable manner (e.g., by converting to text), and may generate a cryptographic hash over the combined one or more fields.
In some embodiments, the online notarization system 100 may generate respective cryptographic hashes over multiple fields. The cryptographic hashes may be stored and used for subsequent verification of the corresponding fields. Additionally, or alternatively, a suitable hash tree technique may be used to generate one or more additional hashes from the cryptographic hashes. Such additional hashes may be stored to allow efficient verification of the corresponding fields.
In some embodiments, a cryptographic signature/hash generated from one or more fields in an entry may be stored in another field in the same entry. However, aspects of the present disclosure are not so limited. In some embodiments, a cryptographic signature/hash may be stored separately, for example, in a storage separate from the notary journal database 700. An identifier of an entry from which the cryptographic signature/hash is generated may be used to access the cryptographic signature/hash from the separate storage.
The inventors have recognized and appreciated that if an attacker is able to gain access to the online notarization system 100, the attacker may be able to modify one or more fields in an entry, and then use the private key of the online notarization system 100 to generate a new cryptographic signature that would be successfully verified using the public key of the online notarization system 100. Accordingly, in some embodiments, an access permission in the notary journal database 700 may be set to prevent an attacker from modifying an entry.
For instance, once an entry has been created in the notary journal database 700 (e.g., by the online notarization system 100), the notary journal database 700 may not permit any modification to the entry. Thus, existing entries in the notary journal database 700 may be read only, while new entries may be added. Additionally, or alternatively, the notary journal database 700 may be configured to trigger an alert (e.g., to one or more database administrators) in response to an attempt to change one or more access permissions.
The inventors have recognized and appreciated that, while it may be desirable to make existing entries in the notary journal database 700 read only (e.g., for reasons discussed above), there may be legitimate reasons to add information to an existing entry. Accordingly, in some embodiments, an entry in the notary journal database 700 may include a field (e.g., additional_fields in the above example) that stores a pointer to a separate data structure, which may be a hash object or some other suitable data structure. The content of this field (namely, the pointer to the separate data structure) may be included when generating a cryptographic signature over the entry, but the content of the separate data structure itself may not be. In this manner, information may be added to the separate data structure, while the pointer may remain unchanged, so that the cryptographic signature may still be successfully verified using the public key of the online notarization system 100.
In some embodiments, the notary journal database 700 may be implemented using a distributed ledger, such as a blockchain. For instance, one or more notary journal entries may be recorded on a blockchain via a transaction processed by a network of nodes that collectively manage the blockchain. The blockchain may be permissioned, so that access to the one or more notary journal entries may be restricted. Additionally, or alternatively, a public chain may be used, and the one or more notary journal entries may be encrypted and/or hashed to provide privacy.
In some embodiments, the blockchain may include a plurality of blocks, where each block may include a plurality of transactions. In some embodiments, the plurality of transactions may be ordered, for example, chronologically. Additionally, or alternatively, each newly added block may be linked to a latest previous block. Such a structure may be resistant to tampering, and may therefore be used to confirm whether a given transaction did take place, and/or when the transaction took place. For instance, a block may be added to the blockchain only if all nodes (or a subset of nodes with sufficient computation power) in a network implementing the blockchain agree on the block.
In some embodiments, a block generating node (sometimes called a miner) may invest computation power to generate a new block that is linked to a latest previous block. The fastest node that is able to solve a computationally intensive mathematical puzzle (e.g., identifying a preimage of a hash with a certain number of leading zeros) may be rewarded with an internal digital asset (e.g., a bitcoin). Depending on how much computation power is available in the network at a given point in time, a more or less complex mathematical puzzle may be used. In this manner, blocks may be generated within a selected time window, and conflicts may be reduced. It should be appreciated that aspects of the present disclosure are not limited to using a proof-of-work approach to achieve distributed consensus. In some embodiments, a proof-of- stake approach may be used. It should also be appreciated that any suitable blockchain implementation may be used, such as Ethereum, Hyperledger Fabric, etc.
Furthermore, aspects of the present disclosure are not limited to using a blockchain to implement a distributed ledger. In some embodiments, one or more directed acyclic graphs (e.g., IOTA Tangle), hashgraphs (e.g. Swirlds), hash trees (e.g., Guardtime keyless signatures infrastructure), and/or distributed ledgers with no globally- shared chain (e.g., R3 Corda), may be used in addition to, or instead of, one or more blockchains.
FIG. 12 shows, schematically, an illustrative computer 1000 on which any aspect of the present disclosure may be implemented.
In the example shown in FIG. 12, the computer 1000 includes a processing unit 1001 having one or more computer hardware processors and one or more articles of manufacture that comprise at least one non-transitory computer-readable medium (e.g., memory 1002) that may include, for example, volatile and/or non-volatile memory. The memory 1002 may store one or more instructions to program the processing unit 1001 to perform any of the functions described herein. The computer 1000 may also include other types of non-transitory computer-readable media, such as storage 1005 (e.g., one or more disk drives) in addition to the memory 1002. The storage 1005 may also store one or more application programs and/or resources used by application programs (e.g., software libraries), which may be loaded into the memory 1002. To perform any of the illustrative functionalities described herein, processing unit 1001 may execute one or more processor-executable instructions stored in the one or more non-transitory computer-readable media (e.g., the memory 1002, the storage 1005, etc.), which may serve as non-transitory computer-readable media storing processor-executable instructions for execution by the processing unit 1001.
The computer 1000 may have one or more input devices and/or output devices, such as devices 1006 and 1007 illustrated in FIG. 12. These devices may be used, for instance, to present a user interface. Examples of output devices that may be used to provide a user interface include printers, display screens, and other devices for visual output, speakers and other devices for audible output, braille displays and other devices for haptic output, etc. Examples of input devices that may be used for a user interface include keyboards, pointing devices (e.g., mice, touch pads, and digitizing tablets), microphones, etc. For instance, the input devices 1007 may include a microphone for capturing audio signals, and the output devices 1006 may include a display screen for visually rendering, and/or a speaker for audibly rendering, recognized text.
In the example shown in FIG. 11, the computer 1000 also includes one or more network interfaces (e.g., the network interface 1010) to enable communication via various networks (e.g., the network 1020). Examples of networks include local area networks (e.g., an enterprise network), wide area networks (e.g., the Internet), etc. Such networks may be based on any suitable technology operating according to any suitable protocol, and may include wireless networks and/or wired networks (e.g., fiber optic networks).
Having thus described several aspects of at least one embodiment, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications, and improvements are intended to be within the spirit and scope of the present disclosure. Accordingly, the foregoing descriptions and drawings are by way of example only.
The above-described embodiments of the present disclosure can be implemented in any of numerous ways. For example, the embodiments may be implemented using hardware, software, or a combination thereof. When implemented in software, the software code may be executed on any suitable processor or collection of processors, whether provided in a single computer or distributed among multiple computers.
Also, the various methods or processes outlined herein may be coded as software that is executable on one or more processors running any one of a variety of operating systems or platforms. Such software may be written using any of a number of suitable programming languages and/or programming tools, including scripting languages and/or scripting tools. In some instances, such software may be compiled as executable machine language code or intermediate code that is executed on a framework or virtual machine. Additionally, or alternatively, such software may be interpreted.
The techniques disclosed herein may be embodied as a non-transitory computer-readable medium (or multiple non-transitory computer-readable media) (e.g., a computer memory, one or more floppy discs, compact discs, optical discs, magnetic tapes, flash memories, circuit configurations in Field Programmable Gate Arrays or other semiconductor devices, or other non-transitory, tangible computer storage medium) encoded with one or more programs that, when executed on one or more processors, perform methods that implement the various embodiments of the present disclosure discussed above. The computer-readable medium or media may be portable, such that the program or programs stored thereon may be loaded onto one or more different computers or other processors to implement various aspects of the present disclosure as discussed above.
The terms “program” or “software” are used herein to refer to any type of computer code or set of computer-executable instructions that may be employed to program one or more processors to implement various aspects of the present disclosure as discussed above. Moreover, it should be appreciated that according to one aspect of this embodiment, one or more computer programs that, when executed, perform methods of the present disclosure need not reside on a single computer or processor, but may be distributed in a modular fashion amongst a number of different computers or processors to implement various aspects of the present disclosure.
Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Program modules may include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Functionalities of the program modules may be combined or distributed as desired in various embodiments.
Also, data structures may be stored in computer-readable media in any suitable form. For simplicity of illustration, data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields to locations in a computer-readable medium that convey how the fields are related. However, any suitable mechanism may be used to relate information in fields of a data structure, including through the use of pointers, tags, or other mechanisms that establish how the data elements are related.
Various features and aspects of the present disclosure may be used alone, in any combination of two or more, or in a variety of arrangements not specifically discussed in the embodiments described in the foregoing, and are therefore not limited to the details and arrangement of components set forth in the foregoing description or illustrated in the drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments. Also, the techniques disclosed herein may be embodied as methods, of which examples have been provided. The acts performed as part of a method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different from illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
Use of ordinal terms such as “first,” “second,” “third,” etc. in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.
Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” “having,” “containing,” “involving,” “based on,” “according to,” “encoding,” and variations thereof herein, is meant to encompass the items listed thereafter and equivalents thereof as well as additional items.

Claims

CLAIMS What is claimed is:
1. A computer-implemented method for determining whether to authorize a user to perform transactions on an online interaction system comprising: receiving information identifying the user, wherein the information identifying the user includes a commission authority; determining, based on the information identifying the user, one or more compliance requirements applicable to the user; obtaining compliance information based on the one or more compliance requirements applicable to the user; determining whether the one or more compliance requirements applicable to the user are satisfied based on the compliance information; and in response to determining that the one or more compliance requirements applicable to the user are satisfied, authorizing the user to perform transactions on the online interaction system.
2. The computer- implemented method of claim 1, wherein the commission authority comprises a commission granting the user authority to act as a notary.
3. The computer- implemented method of any of claims 1-2, further comprising prompting, via an interface of the online interaction system, the user to provide the information identifying the user.
4. The computer- implemented method of any of claims 1-3, wherein the computer- implemented method is performed periodically with respect to the user.
5. The computer- implemented method of any of claims 1-4, wherein the information identifying the user comprises one or more of a name of the user, an email address of the user, a physical address of the user, a phone number of the user, a commission number of the user, or a commission expiration date of the user.
6. The computer- implemented method of any of claims 1-5, wherein determining the one or more compliance requirements applicable to the user comprises: retrieving, based on the commission authority included in the information identifying the user, the one or more compliance requirements from a database indexed by commission authority.
7. The computer- implemented method of any of claims 1-6, wherein the compliance information is received from the user.
8. The computer-implemented method of claim 7, further comprising prompting, via an interface of the online interaction system, the user to provide the compliance information, wherein the user interface is configured based on the one or more compliance requirements.
9. The computer-implemented method of any of claims 1-8, wherein determining whether the one or more compliance requirements applicable to the user are satisfied comprises: determining, using a trusted third party information source, whether the compliance information is correct.
10. The computer-implemented method of claim 9, wherein the trusted third party information source is the National Notary Association.
11. The computer- implemented method of any of claims 1-10, wherein the compliance information comprises one or more of a commission authority, a commission number, a commission expiration, a phone number, a date of training completion, information regarding a background check of the user, insurance information, or bond information.
12. The computer- implemented method of any of claims 1-11, wherein obtaining the one or more compliance requirements comprises: obtaining, using the commission authority, one or more values encoding the one or more compliance requirements from a database; and applying the one or more values encoding the one or more compliance requirements to determine the one or more compliance requirements.
13. The computer-implemented of any of claims 1-12, further comprising, prior to authorizing the user to perform transactions on the online interaction system, manually reviewing the information identifying the user and/or the compliance information.
14. A system comprising: at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform any of the methods of claims 1-13.
15. At least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed by at least one processor, cause the at least one processor to perform any of the methods of claims 1-13.
16. A computer implemented-method for managing a digital certificate of a user which generates an electronic signature of the user over a document using a cryptographic key, the computer- implemented method comprising: receiving the digital certificate; determining whether the digital certificate is compliant, wherein determining whether the digital certificate is compliant comprises determining whether the digital certificate identifies the user as a subject of the electronic signature; and in response to determining that the digital certificate is compliant, storing the digital certificate in a database.
17. The computer-implemented method of claim 16, wherein the digital certificate is received from the user.
18. The computer-implemented method of claim 17, further comprising receiving, from the user, a password associated with the digital certificate.
19. The computer- implemented method of any of claims 16-18, wherein determining whether the digital certificate identifies the user comprises determining whether a public key belonging to the user is associated with the cryptographic key used to generate the electronic signature.
20. The computer- implemented method of any of claims 16-19, wherein the digital certificate is issued by a third party certificate authority.
21. The computer- implemented method of any of claims 16-20, wherein determining whether the digital certificate is compliant comprises accessing a public key of a certificate authority that issued the digital certificate and using the public key of the certificate authority to confirm the electronic signature is accurate.
22. The computer-implemented method of any of claims 16-21, further comprising, in response to determining that the digital certificate is compliant, enabling the user to apply the digital certificate to the document.
23. A system comprising: at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform any of the methods of claims 16-22.
24. At least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed by at least one processor, cause the at least one processor to perform any of the methods of claims 16-22.
25. A computer-implemented method for simulating a transaction on an online interaction system configured to communicate with an observer interface to perform transactions, the computer- implemented method comprising: based on an indication that the transaction is to be simulated: receiving, with an application programming interface (API), a call transmitted by the observer interface to the online interaction system, wherein the API intercepts the call transmitted by the observer interface before the call is received by the online interaction system; transmitting, with the API and to the observer interface, a response to the call.
26. The computer- implemented method of claim 25, further comprising: logging, with the API, one or more interactions of a user with the observer interface; and assessing performance of the user based on the one or more interactions logged by the API.
27. The computer-implemented method of claim 26, wherein assessing the performance of the user comprises determining whether a location of an annotation inserted by the user via the observer interface is correct.
28. The computer-implemented method of claim 27, wherein the annotation comprises one or more of a seal, a signature, or initials.
29. The computer-implemented method of any of claims 26-28, wherein assessing the performance of the user comprises determining whether a type of an annotation inserted by the user via the observer interface is correct, wherein the type of the annotation is one of handwritten or electronic.
30. The computer-implemented method of any of claims 26-29, wherein assessing the performance of the user comprises determining whether a size of an annotation inserted by a user via the observer interface is correct.
31. The computer- implemented method of any of claims 25-30, wherein the response to the call is randomly generated based on a type and/or one or more associated conditions of an expected response.
32. The computer- implemented method of claim 31, wherein the type of the expected response comprises one of a signer name, a house number, a street name, a city, a state, or a postal code.
33. The computer- implemented method of claim 31, wherein the associated conditions of the expected response comprise one or more of a character limit or a character type.
34. The computer-implemented method of any of claims 25-33, further comprising: based on an indication that the transaction is not simulated: receiving, with the online interaction system, the call transmitted by the observer interface.
35. A system comprising: at least one processor; and at least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed, cause the at least one processor to perform any of the methods of claims 25-34.
36. At least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed by at least one processor, cause the at least one processor to perform any of the methods of claims 25-34.
37. A computer-implemented method for securing database entries: generating a journal entry in a database, wherein the journal entry comprises a row in the database and includes information regarding a notarized transaction; and using a private key of a cryptographic key pair to generate a cryptographic component over one or more fields of the journal entry, wherein veracity of the journal entry is determined by verifying the private key with a public key of the cryptographic key pair.
38. The computer-implemented method of claim 37, wherein the journal entry comprises a notary journal entry.
39. The computer-implemented method of any of claims 37-38, wherein the journal entry comprises a plurality of fields comprising the information regarding the notarized transaction.
40. The computer-implemented method of claim 39, wherein the information regarding the notarized transaction comprises one or more of a notary identifier, a notary name, a signer name, a signing completion date, a transcript of the notarized transaction, a document description, or a document copy.
41. The computer- implemented method of any of claims 37-40, wherein the cryptographic component comprises a cryptographic signature.
42. The computer-implemented method of any of claims 37-41, wherein the cryptographic component comprises a cryptographic hash.
43. The computer- implemented method of any of claims 37-42, further comprising verifying the private key of the journal entry with the public key of the cryptographic key pair.
44. The computer-implemented method of any of claims 37-43, further comprising setting the journal entry to read-only after generating the journal entry.
45. The computer- implemented method of claim 44, further comprising transmitting an alert in response to detecting an attempt to edit the journal entry.
46. The computer-implemented method of any of claims 37-45, wherein the generating the journal entry is performed after the notarized transaction is performed.
47. The computer- implemented method of any of claims 37-46, wherein the database comprises a distributed ledger, and generating the journal entry comprises storing the journal entry in the distributed ledger.
48. The computer-implemented method of claim 47, wherein the distributed ledger comprises a blockchain.
49. A system comprising: at least one processor; and at least one non-transitory computer-readable storage medium having instructions stored thereon which, when executed, cause the at least one processor to perform any of the methods of claims 37-48.
50. At least one non-transitory computer-readable storage medium having stored thereon instructions which, when executed by at least one processor, cause the at least one processor to perform any of the methods of claims 37-48.
EP22724188.2A 2021-04-29 2022-04-28 Systems and methods for facilitating observer interactions with an online interaction system Pending EP4330892A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163181881P 2021-04-29 2021-04-29
US202163183588P 2021-05-03 2021-05-03
US202163210814P 2021-06-15 2021-06-15
PCT/US2022/026750 WO2022232403A1 (en) 2021-04-29 2022-04-28 Systems and methods for facilitating observer interactions with an online interaction system

Publications (1)

Publication Number Publication Date
EP4330892A1 true EP4330892A1 (en) 2024-03-06

Family

ID=81748396

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22724188.2A Pending EP4330892A1 (en) 2021-04-29 2022-04-28 Systems and methods for facilitating observer interactions with an online interaction system

Country Status (2)

Country Link
EP (1) EP4330892A1 (en)
WO (1) WO2022232403A1 (en)

Also Published As

Publication number Publication date
WO2022232403A1 (en) 2022-11-03

Similar Documents

Publication Publication Date Title
US11900491B2 (en) Systems and methods for executing and delivering electronic documents
US11057353B2 (en) Systems, methods, and devices for implementing a smart contract on a distributed ledger technology platform
US10999079B2 (en) System and method for high trust cloud digital signing and workflow automation in health sciences
US9798710B2 (en) Systems and methods for distributed electronic signature documents including version control
CN111771194A (en) System and method for generating and maintaining immutable digital conference records within distributed network nodes
US9984242B2 (en) Attestation for electronic signatures
US8949706B2 (en) Systems and methods for distributed electronic signature documents
US10511653B2 (en) Discussion-based document collaboration
AU2017208203A1 (en) Customizable secure data exchange environment
GB2560671A (en) Systems and methods of secure data exchange
US11356278B2 (en) Blockchain driven embedded video and digital signatures on signed documents
US20120290847A1 (en) System and method for reliably preserving web-based evidence
CN114444131A (en) Document auditing method and computer storage medium
WO2022232403A1 (en) Systems and methods for facilitating observer interactions with an online interaction system
CN110704862A (en) Block chain-based personal file management method and device, electronic equipment and medium
KR102466487B1 (en) Method and apparatus for providing legal services
KR102648350B1 (en) Method and apparatus for delivering signed content
US20200396087A1 (en) Systems and methods to timestamp and authenticate digital documents using a secure ledger

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20231114

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR