Getting Started

Welcome to GameSmith Vector Governance. This guide will help you set up and configure your first governance policies.

Quick Installation

Install the GameSmith CLI using npm, pip, or download the binary directly.

terminal
# Using npm
npm install -g @gamesmith/cli

# Using pip
pip install gamesmith-cli

# Initialize your project
gamesmith init

Configuration

Create a gamesmith.yaml file in your project root:

version: "1.0"

project:
  name: "my-vector-app"
  environment: "production"

vector_stores:
  - name: "pinecone-prod"
    provider: "pinecone"
    index: "embeddings"

governance:
  acl_enabled: true
  audit_enabled: true
  retention_days: 90

Authentication

GameSmith supports multiple authentication methods including API keys, OAuth 2.0, and SAML SSO.

API Keys

Generate API keys from the dashboard for programmatic access.

OAuth 2.0

Integrate with your existing identity provider using OAuth 2.0.

SAML SSO

Enterprise SSO support for Okta, Azure AD, and more.

mTLS

Mutual TLS for service-to-service authentication.

Access Control

Define granular permissions for users and services accessing your vector stores.

Role-Based Access Control (RBAC)

roles:
  - name: "admin"
    permissions:
      - "vectors:*"
      - "policies:*"
      - "audit:read"

  - name: "data-scientist"
    permissions:
      - "vectors:read"
      - "vectors:write"
      - "vectors:query"

  - name: "auditor"
    permissions:
      - "audit:read"
      - "vectors:read"

Auditing

Every operation on your vector stores is logged with full context for compliance and debugging.

Audit Log Schema

{
  "timestamp": "2024-01-15T10:30:00Z",
  "action": "vectors:query",
  "actor": {
    "id": "user_abc123",
    "type": "user",
    "ip": "192.168.1.1"
  },
  "resource": {
    "namespace": "production",
    "index": "embeddings"
  },
  "result": "success",
  "latency_ms": 23
}

Retention Policies

Automate data lifecycle management with configurable retention rules.

retention:
  default_policy: "90-days"
  
  policies:
    - name: "compliance"
      duration: "7-years"
      archive: true
      storage_class: "glacier"
    
    - name: "temporary"
      duration: "30-days"
      auto_delete: true

API Reference

Full REST API documentation for programmatic access.

GET /api/v1/policies
List all policies
POST /api/v1/policies
Create a policy
GET /api/v1/audit/logs
Query audit logs
PUT /api/v1/retention/{id}
Update retention

SDK

Official SDKs available for Python, TypeScript, Go, and more.

Python SDK Example

from gamesmith import Client

client = Client(api_key="gs_xxx")

# Create a policy
policy = client.policies.create(
    name="production-acl",
    rules=[
        {"role": "data-scientist", 
         "permissions": ["read", "query"]}
    ]
)

# Query audit logs
logs = client.audit.query(
    start_time="2024-01-01",
    action="vectors:query"
)