# Building a Simple Notary Platform

Through this tutorial, we will utilize direct interaction with the Sign Protocol [Smart Contract](/for-builders/index-1/index/index/index/isp.md), the [NPM SDK](/for-builders/index-1/npm-sdk.md), and the Indexing Service's APIs to query for attestations.

### Problem Statement: A Basic IRL Notary Platform

For simplicity, let's assume that Bob needs to sign a contract physically and needs the signature notarized by a second person, Alice. With digital signatures, anybody can validate the signature using public keys, but for signatures in real life, this cannot be easily done. How can we be sure that Bob signed instead of another person forging his signature? Enter Alice, a trusted notary. Alice's whole job is centered around attesting that the person signing a contract is who they say they are. If people know they can trust Alice, they know that Bob did indeed sign the contract if Alice says so. We will implement a system where Alice can attest Bob's signature using attestations on Sign Protocol.

### Finished Code

The finished code from this tutorial can be found [here](https://github.com/EthSign/sign-protocol-sdk-tutorial).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sign.global/for-builders/getting-started/tutorials/building-a-simple-notary-platform.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
