!!NOTE: Supertype is currently in a pre-launch demo. This README
is subject to change and is currently catered towards getting demo vendors up and running. If you are interested in piloting with Supertype or have further questions, please contact Supertype directly!!
The GoImplement encryption library is a low-touch API client library that simplifies the process of producing data to and consuming data from the Supertype data network. While all of this functionality is accessible through standard libraries or basic encryption libraries for most languages, GoImplement's goal is make the developer's life as easy as possible.
Demo attributes can be found at https://demo.supertype.io. The available attributes to produce to and consume from are:
master-bedroom
guest-bedroom
kids-bedroom
garage
bathroom
kitchen
living-room
laundry-room
Currently, any data type is acceptable to produce, although data types will be restricted when actually signing up for a pilot program or production vendor account with Supertype.
Your public key
, as well as a demo user's supertypeID
and userKey
are available to copy upon account creation at https://app.supertype.io.
YOUR SECRET KEY MUST BE SAVED UPON VENDOR ACCOUNT CREATION.
package main
import (
"fmt"
"os"
goimplement "github.com/super-type/goImplement/goImplement"
)
func main() {
// In production, supertypeID and userKey should be stored by the vendor when the consumer connects to Supertype within the vendor's app.
observation := "<YOUR INPUT STRING HERE>"
attribute := "<YOUR ATTRIBUTE HERE. SEE AVAILABLE ATTRIBUTES AT https://demo.supertype.io"
supertypeID := os.Getenv("supertypeID") // Or copy from dashboard!
pk := os.Getenv("pk") // Or copy from dashboard!
sk := os.Getenv("sk") // Save on account creation!
userKey := os.Getenv("userKey") // Or copy from dashboard!
err := goimplement.Produce(observation, attribute, supertypeID, sk, pk, userKey)
if err != nil {
fmt.Printf("err: %v\n", err)
}
fmt.Println("Produced data to Supertype")
}
package main
import (
"fmt"
"os"
goimplement "github.com/super-type/goImplement/goImplement"
)
func main() {
// In production, supertypeID and userKey should be stored by the vendor when the consumer connects to Supertype within the vendor's app.
attribute := "<YOUR ATTRIBUTE HERE. SEE AVAILABLE ATTRIBUTES AT https://demo.supertype.io"
supertypeID := os.Getenv("supertypeID") // Or copy from dashboard!
pk := os.Getenv("pk") // Or copy from dashboard!
sk := os.Getenv("sk") // Save on account creation!
userKey := os.Getenv("userKey") // Or copy from dashboard!
obs, err := goimplement.Consume(attribute, supertypeID, sk, pk, userKey)
if err != nil {
fmt.Printf("err: %v\n", err)
}
fmt.Printf("obs: %v\n", *obs)
}