EP4330892A1 - Systèmes et procédés destinés à faciliter des interactions d'observateurs avec un système d'interaction en ligne - Google Patents
Systèmes et procédés destinés à faciliter des interactions d'observateurs avec un système d'interaction en ligneInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government 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.
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Systèmes et procédés d'aide à des observateurs indépendants dans la réalisation de sessions de signature en ligne conformément aux exigences de leur autorité de commission respective. Certains aspects concernent des techniques permettant de déterminer s'il faut autoriser un utilisateur à effectuer des transactions sur un système d'interaction en ligne. Certains aspects concernent des techniques de gestion d'un certificat numérique d'un utilisateur. Certains aspects concernent des techniques de simulation d'une transaction sur un système d'interaction en ligne configuré pour communiquer avec une interface d'observateur pour effectuer des transactions. Certains aspects concernent des techniques de sécurisation d'entrées de base de données de journal notarial.
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 (fr) | 2021-04-29 | 2022-04-28 | Systèmes et procédés destinés à faciliter des interactions d'observateurs avec un système d'interaction en ligne |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4330892A1 true EP4330892A1 (fr) | 2024-03-06 |
Family
ID=81748396
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP22724188.2A Pending EP4330892A1 (fr) | 2021-04-29 | 2022-04-28 | Systèmes et procédés destinés à faciliter des interactions d'observateurs avec un système d'interaction en ligne |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP4330892A1 (fr) |
| WO (1) | WO2022232403A1 (fr) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12210819B2 (en) * | 2022-08-31 | 2025-01-28 | Docusign, Inc. | Dynamic implementation of document management system capabilities in third party integrations |
| DE102023113422A1 (de) * | 2023-05-23 | 2024-12-12 | Bundesdruckerei Gmbh | Fernsignaturdienst unter Verwendung eines Instant-Messaging-Dienstes |
-
2022
- 2022-04-28 EP EP22724188.2A patent/EP4330892A1/fr active Pending
- 2022-04-28 WO PCT/US2022/026750 patent/WO2022232403A1/fr not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2022232403A1 (fr) | 2022-11-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20240169457A1 (en) | Systems and methods for executing and delivering electronic documents | |
| US12457200B2 (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 | |
| CN111771194B (zh) | 用于在分布式网络节点内生成和维护不可变的数字会议记录的系统和方法 | |
| US9251131B2 (en) | Systems and methods for distributed electronic signature documents including version control | |
| US9984242B2 (en) | Attestation for electronic signatures | |
| US8949706B2 (en) | Systems and methods for distributed electronic signature documents | |
| US11582044B2 (en) | Systems and methods to timestamp and authenticate digital documents using a secure ledger | |
| AU2017208203A1 (en) | Customizable secure data exchange environment | |
| US20220368535A1 (en) | Blockchain driven embedded video and digital signatures on signed documents | |
| US20120290847A1 (en) | System and method for reliably preserving web-based evidence | |
| WO2022232403A1 (fr) | Systèmes et procédés destinés à faciliter des interactions d'observateurs avec un système d'interaction en ligne | |
| CN114444131A (zh) | 文档审核方法及计算机存储介质 | |
| KR102928014B1 (ko) | 서명된 컨텐츠를 전달하는 방법 및 장치 | |
| US12210819B2 (en) | Dynamic implementation of document management system capabilities in third party integrations | |
| US20260128909A1 (en) | Cryptographically Verifiable Certificates On Blockchains | |
| KR102466487B1 (ko) | 법무 서비스 제공 방법 및 장치 | |
| CN110704862A (zh) | 基于区块链的个人档案管理方法、装置、电子设备及介质 | |
| bin Md Puad et al. | UTHM Student Attendance System Using Blockchain Technology | |
| KR20250165929A (ko) | 전자 계약 서비스 방법 및 장치 | |
| WO2025264506A2 (fr) | Interface utilisateur | |
| HK40073993A (en) | Document auditing method and computer storage medium | |
| KR20240075368A (ko) | 인스턴트 메시징 서비스에서 대화 기반 전자 계약 방법 및 장치 |
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 |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) |