Developer Portal

Build bots with explicit access to your community.

Independently hosted bots can hold their own encryption keys and process authorized messages on your infrastructure. Incoming webhooks and server-hosted flow bots are separate paths whose content is readable by Cloak. Choose the model that fits the data your integration handles.

What you can build

Full-E2EE membership

Independently hosted bots can join as encrypted members and decrypt authorized content on their own infrastructure. Incoming webhooks and server-hosted flow bots use service-readable content instead.

Slash commands

Register commands with typed options and respond inline. Cloak renders the picker, your bot gets a clean payload.

File attachments

Send and receive encrypted files in any server your bot belongs to, with the same vault pipeline the apps use.

Threads and polls

Open threads, reply inside them, and create or tally polls. Everything a member can do, your bot can automate.

Up and running in minutes

Create a bot in the portal, grab its token, and the SDK handles the rest: connection, encryption, key storage, and event dispatch.

  • 1.Create a bot and copy its one-time token.
  • 2.Install the SDK and wire up your first event handler.
  • 3.Mint an invite link and add the bot to a server.
bot.mjs
npm i @cloak-software/bot-sdk

import { Client } from '@cloak-software/bot-sdk'

const client = new Client({ token: process.env.CLOAK_BOT_TOKEN })

client.on('messageCreate', async (message) => {
  if (message.content === '!ping') {
    await message.reply('pong')
  }
})

client.login()