Palette

Stop digging through systems.

Close deals, approve POs, and query data without leaving your keyboard.

Palette
Deal
Sales & Operations
DealOpen deal and related recordsEnterOpen next level
Approve POSubmit PO to the right approver
Create QuoteGenerate quote from pipeline data
Download QuoteExport approved quote in one click
Sanka, Inc.Mayu Kawasaki
Policy BuilderDraft
Object
Invoice
Trigger
before_write (/v1/execute)
Scope
Invoice update
Required approval
Director
1

amount > 1000

ConditionAmount threshold
2

currency is required

ConditionRequired field
3

Deny write + reason code amount_exceeds_limit

ActionDeterministic

Validated on save and applied to /v1/execute immediately.

policy_definition.json
{
  "policy_key": "invoice_update_guard",
  "object_type": "invoice",
  "action": "update",
  "rules": [
    {
      "rule_key": "invoice_amount_limit",
      "status": "active",
      "priority": 10,
      "rule_definition": {
        "type": "max_value",
        "field": "amount",
        "max": 1000
      },
      "reason_code": "amount_exceeds_limit",
      "reason_message": "Amount exceeds policy limit."
    },
    {
      "rule_key": "invoice_required_currency",
      "status": "active",
      "priority": 20,
      "rule_definition": {
        "type": "required_fields",
        "fields": ["currency"]
      },
      "reason_code": "missing_required_fields",
      "reason_message": "Required fields are missing."
    }
  ]
}

Policies are stored as JSON (GovernanceRule.rule_definition / GovernancePolicyVersion.rule_snapshot) and evaluated by /v1/execute.

Workflow

Workflow

If you have repetitive work or things to complete while you sleep, Workflow is a good fit.

Workflow
month-end workflow
Automation
Month-End CloseRun reconciliation and posting tasksEnterOpen next level
Notify OwnersSend assignment and due-date alerts
Collect InputsGather missing data from teams
Schedule RunQueue nightly run while you sleep
Sanka, Inc.Mayu Kawasaki
invoice_approval.py
import json
import requests
JWT = "YOUR_ACCESS_TOKEN"
H = {"Authorization": f"Bearer {JWT}", "Content-Type": "application/json"}
P = {"workspace_id":"12345678","object_type":"invoice","operation":"update","target_id":"0001","payload":{"vendor":"Apple","currency":"USD","line_items":[{"item_name":"MacBook Pro 14-inch","quantity":1,"unit_price":2000}],"notes":"macbook-purchase-request"},"dry_run":True}
run = requests.post("https://api.sanka.com/v1/execute", json=P, headers=H, timeout=15).json()
result = {"decision": run["data"]["decision"], "reasons": run["data"]["reasons"]}
print("decision:", result["decision"])
print("reasons:", result["reasons"])
with open("invoice_approve_dryrun.json", "w", encoding="utf-8") as f:
    json.dump(result, f, ensure_ascii=False, indent=2)
print("saved:", "invoice_approve_dryrun.json")
invoice_approve_dryrun.json
decisiondenied
reason_count1

reasons

  • code: approval_required_over_limit
  • message: MacBook Pro 14-inch (USD 2,000) requires director approval
  • field_path: payload.line_items[0].unit_price

This payload returns directly to UI, so users instantly know what to fix.

Governance

Governance

We built a policy engine that AI can't break.
Ensure every action complies with company standards.

Governance
invoice over limit
Policy Engine
Deny Writereason: amount_exceeds_limitEnter
Require ApprovalEscalate to director approval
Policy Versionv3.2.1 matched before write
Audit LogStore execution trace automatically
Sanka, Inc.Mayu Kawasaki
V

Versioned Logic

AppLog with full context preservation

v3.2.1 Current2026-02-12
permissionstax_ratesallocation_logicapproval_chain
v3.1.0 Jan snapshot2026-01-15
v2.9.4 Q3 audit2025-11-03
  • Freeze the versioned logic itself. Store permissions, tax rates, allocation logic, and approval logs exactly as they were at that moment.
  • Trusted timestamps. Sanka signs "this data was sealed in this state on [date]" to increase evidentiary value.
I

Immutable Snapshots

WORM - Write Once, Read Many

WORM PROTECTED
WRITE0xa3f8...c21d2026-01-15T09:00:00ZSEALED
READ0xa3f8...c21d2026-02-12T14:32:11ZVERIFIED
DELETE-2026-02-12T14:33:00ZREJECTED
Signed by Sanka (third-party) - Retention: 7 years - Tamper-proof
  • No modification. No deletion. WORM technology prevents changes during retention. LLM-generated code cannot bypass this record.
  • Third-party sealed. Even if models evolve, you do not lose the "WHY" behind data decisions.
Data

Data

Unify data and integrate with other apps
for ultra-fast performance.

Data
sync snowflake
Data and Integrations
Snowflake SyncPull latest warehouse snapshotEnterOpen next level
HubSpot DealsUpdate CRM-linked records
QuickBooksPush approved accounting entries
Export ReportShare governed dataset to BI tools
Sanka, Inc.Mayu Kawasaki
R

RBAC

Role-Based Access Control

User Management
CFO
readwriteapproveexport
All ledgers
Auditor
read
Snapshot v3.2.1 only
AI Agent
readsuggest
Policy-gated writes
Partner
read
Allocated projects
  • Auditor ReadOnly portal. Issue time-limited API keys with access scoped to a specific snapshot.
  • Time-limited API keys. Grant external access that expires automatically and remains policy-gated.
S

Integrations and Serverless

Pull data in. Run jobs out.

Snowflake
Databricks
AWS S3
GCP BigQuery
Serverless Tasks
monthly_reconciliation0 3 1 * *4m 32s
tax_calc_batch0 2 * * 112m 08s
audit_snapshot_exporton_demand1m 15s
  • Bring your own data. Pull from Snowflake, Databricks, or cloud storage while Sanka enforces policy and audit layers.
  • Long-running jobs and batch processing. Run reconciliation, tax calculations, and export tasks serverlessly with full audit trails.

Try our products for free before any commitment.