docs.sigit.io/approach.md
_ 30dcc722b1
All checks were successful
Release to Production / build_and_release (push) Successful in 27s
fix: create
2025-03-06 18:32:24 +00:00

2.2 KiB

SIGit

Flow

  • Create Event
  • Sign Event
  • COMPLETE EVENT

sigit is made up of:

  • pointers, notifications, components (events)
  • files (encrypted blobs)
  • all events are private (giftwrapped)

Create Event Component - kind X1

Signer should display:

You are signing an Agreement template for the following npubs:
- npub1
- npub2

Ensure this event is sourced from a trusted SIGit instance.
  • Signed by Creator
  • NOT published by default
  • fileData{}
  • counterpartyData{}
  • markData{}

This data is all stored inside the X1 blob Verifications take place on all the elements in X2 (todo: list them)


File pointer

Signer should say: "You are verifying that the following files exist:"

And list the full urls (blossom url + hash)

  • signed by sender
  • NOT PUBLISHED by default
  • points to encrypted blossom blob (BB)
{"content":"",
 "kind": XX, --tbd
 "tags"[ 
   
   ["filehash","$(hash)"],
   ["blossomUrls","url1","blossom2"], --optional
   ["engine": "SIGIT"]
 ] 
}

Encrypted Blob from XX

Contains:

  • Create Event
  • Files
  • OTS?

Creation flow

sequenceDiagram
    autoNumber
    actor u as Creator
    participant s as SIGit Website
    participant b as Blossom Server
    participant r as Relay

    u->>s: Signs NIP-98 <br> AUTH event
    Note over s: Prepare SIGit <br> pack (docs, marks,<br>counterparties)
    u->>s: Signs <br>CREATE event 
    Note over s: ZIP and ENCRYPT <br> SIGit pack
    s->>b: Upload to Blossom
    u->>s: Signs POINTER event
    Note over s: Gift wrap pointer <br>+ decryption key
    s->>r: <br>DM each counterparty

Sign flow

sequenceDiagram
    autoNumber
    actor u as Signer
    participant s as SIGit Website
    participant b as Blossom Server
    participant r as Relay

    u->>s: Signs NIP-98 <br> AUTH event
    r->>s: Fetch NIP-17 DMs
    Note over s: Prepare SIGit <br> pack (docs, marks,<br>counterparties)
    u->>s: Signs <br>CREATE event 
    Note over s: ZIP and ENCRYPT <br> SIGit pack
    s->>b: Upload to Blossom
    u->>s: Signs POINTER event
    Note over s: Gift wrap pointer <br>+ decryption key
    s->>r: <br>DM each counterparty