IntermediateAutomation Engine v1

Credentials

Credential Vault menyimpan secret milik masing-masing user dan hanya membuka nilainya ke trusted capability saat execution.

User-owned credential

Setiap tenant menyimpan alias credential miliknya sendiri. AI/plugin tidak memakai API key bersama milik platform.

text
User A
└─ OPENAI_KERJA → secret A

User B
└─ AI_PRIBADI → secret B

Menggunakan alias

js
aksi: {
  gunakan: "ai.chat",
  credential: "OPENAI_KERJA",
  input: { prompt: "{command.args}" },
  simpan: "hasil"
}

Alias credential valid menggunakan huruf/angka/underscore dan compiler mengumpulkan dependency credential dari flow.

Secret path

text
GatewayScript: "OPENAI_KERJA"
        ↓
Capability Registry
        ↓
Credential Vault
        ↓ decrypt backend
Trusted plugin handler
        ↓
credential.values.apiKey
  • Secret tidak masuk session data.
  • Secret tidak masuk compiled JSON.
  • Secret tidak dikembalikan oleh API read credential.
  • Secret tidak diberikan ke GatewayScript.
  • Plugin hanya menerima values ketika capability user tersebut dijalankan.

Publish preflight

Capability dapat mendeklarasikan credential type dan required fields. Publish dapat diblok ketika alias missing, disabled, type mismatch, atau required field tidak tersedia.

Praktik yang disarankan

  • Gunakan alias yang menjelaskan environment, misalnya OPENAI_PRODUCTION atau PAYMENT_TEST.
  • Jangan menyalin secret ke source script.
  • Rotasi credential dari provider ketika diduga bocor.
  • Hapus credential yang tidak dipakai setelah memastikan dependency flow sudah dipindahkan.