SDK
Go SDK
Send Cuitty events from Go services with a context-aware client.
Go SDK
Status: Preview. The Go SDK is on the Phase 3 roadmap. Use the wire protocol until then.
Planned API
c := cuitty.New(cuitty.Config{
PortalURL: "https://app.cuitty.com",
ProjectID: id,
APIKey: key,
})
c.Audit(ctx, cuitty.AuditEvent{
Actor: "alice@example.com",
Action: "secret.rotate",
Resource: "stripe.live_key",
})
Wire-protocol equivalent today
package main
import (
"bytes"
"crypto/hmac"
"crypto/sha256"
"encoding/hex"
"net/http"
"os"
)
func main() {
body := []byte(`{"events":[{"type":"audit","ts":"2026-04-27T12:00:00Z","data":{"actor":"alice@example.com","action":"secret.rotate","resource":"stripe.live_key"}}]}`)
mac := hmac.New(sha256.New, []byte(os.Getenv("CUITTY_WEBHOOK_SECRET")))
mac.Write(body)
sig := hex.EncodeToString(mac.Sum(nil))
req, _ := http.NewRequest("POST", "https://app.cuitty.com/api/ingest",
bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer "+os.Getenv("CUITTY_API_KEY"))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-Cuitty-Signature", sig)
http.DefaultClient.Do(req)
}
Live performance numbers
See live benchmarks at https://benchmarks.cuitty.com/sdks/go.