FinOps Policies as Code
Define cloud cost policies in YAML. Evaluate against real AWS accounts. Get actionable findings. No AI required — deterministic by default.
What is SOFE?
Policies as YAML
Define FinOps rules in version-controlled YAML files. What to check, thresholds, severity, and actions — all declarative.
AWS Collectors
22 collectors that read real data from your AWS accounts. Costs, resources, usage, tags — everything needed to evaluate policies.
Deterministic Engine
No AI, no LLMs, no surprises. Policies evaluate to pass/fail with evidence. Reproducible, auditable, fast.
How it works
# policy: check for untagged resources
apiVersion: sofe/v1
kind: Policy
metadata:
name: require-cost-center-tag
severity: high
spec:
collector: aws.resource-tags
condition:
missing_tag: "CostCenter"
action:
type: finding
message: "Resource missing CostCenter tag"Features
22 AWS Collectors
EC2, RDS, Lambda, S3, EBS, CloudWatch, Cost Explorer, and more
20+ Built-in Policies
Idle resources, missing tags, oversized instances, budget thresholds
Go CLI
sofe-cli binary — evaluate policies from terminal, CI/CD, or cron
FastAPI Server
REST API for evaluations — integrate with dashboards, Slack, or custom tools
Catalog UI
Browse collectors, policies, and findings visually in your browser
PyPI Package
pip install sofe — use as a library in your own Python scripts
Part of the ecosystem
SOFE is the deterministic engine. Combine with FinOptix for AI reasoning, or BYaML for architecture governance.
Policy engine. Collects data, evaluates rules, produces findings. Deterministic.
AI reasoning layer. Explains costs, generates recommendations, runs investigations.
Architecture protocol. Defines what's deployed, validates structure, maps costs.
Quick Start
pip install sofe
from sofe import PolicyEngine
engine = PolicyEngine()
engine.load_policies("./policies/")
findings = engine.evaluate(profile="default")
for f in findings:
print(f"{f.severity}: {f.message}")# Install Go CLI go install github.com/breakingthecloud/sofe-cli@latest # Run evaluation sofe eval --profile default --policies ./policies/ sofe serve --port 8080 # Start API server
Browse the catalog
Explore all 22 collectors, 20+ policies, and see what SOFE can check in your infrastructure.