Security

What the CLI does with your secrets, endpoints and data.

Secrets are references, never values.

A credential field accepts only secret("NAME"). A quoted literal is a parse error.

amicu.hcl
resource "deployment" "chat" {
  model    = model.qwen.id
  hardware = hardware_profile.gpu.id
  runtime  = "vllm"
  api_key  = secret("CHAT_API_KEY")
}
terminal
$ amicu planPlan: 1 action(s).   + deployment.chat      action:   create      hardware: gpu.l4      api_key:  ****** (secret "CHAT_API_KEY")

The value is read from your environment at apply. It never reaches the plan, the state or the command line.

Features

Endpoints are tested, not trusted.

After each apply, amicu sends anonymous requests to the new endpoint and expects a rejection.

endpoint check
after apply: GET /v1/models 1  no credentials      401/4032  gateway only        401/4033  Bearer <api_key>    2xx Open at 1 or 2: endpoint stopped,apply fails.Unverifiable: not reported asdeployed.
amicu.hcl
resource "hardware_profile" "dev" {
  # endpoint binds 127.0.0.1
  provider = "local"
}

resource "deployment" "chat" {
  model    = model.qwen.id
  hardware = hardware_profile.dev.id
  runtime  = "llama_cpp"
  api_key  = secret("LOCAL_API_KEY")
}

Off-machine deployments require an api_key. Local ones bind loopback only, and the key reaches the service through a 0600 file.

Your files, your network.

State is a file in your project. The CLI sends no telemetry.

state
.amicu/state/state.json holds  resource graph from the last apply  endpoint URLs, ids, loopback or public  secret references (the name) never holds  secret values or API keys  Modal tokens, proxy tokens, HF_TOKEN  prompts or completions
network
connections the CLI makes validate, fmt, init, doctor  noneplan  none, or Modal if state holds  a Modal deploymentapply on this machine  127.0.0.1:<port>apply on Modal  api.modal.com:443  your Modal endpoint No telemetry, analytics or updatechecks.

State still describes your infrastructure, so keep it out of public repositories.

Found a vulnerability?

Report it privately through a GitHub security advisory. Please do not file a public issue.