TheArtificer/PRIVACY.md

8.2 KiB

The Artificer's Privacy Policy

Information relating to Discord Interactions

Public Bot Information

Publicly available versions of The Artificer#8166 (herein referred to as The Bot or Bot) do not track or collect user information via Discord.

Upon inviting The Bot to a user's guild, The Bot sends the guild name, Discord Guild ID, and current count of guild members to Burn_E99#1062 (herein referred to as The Developer) via a private Discord Guild. The guild name, Discord Guild ID, and current count of guild members are only used to roughly gage how popular The Bot is and to determine if The Bot's hosting solution needs to be improved. These pieces of information will never be sold or shared with anyone.

Like all Discord bots, The Bot reads every message that it is allowed to, meaning if The Bot is allowed to see a channel in a guild, it reads every new message sent in said channel. This is due to the way the Discord API itself is designed. The Bot does not read any messages sent in the past.

  • Messages that do not begin with The Bot's command prefix are not saved or stored anywhere. Messages that do not begin with The Bot's command prefix are ignored and not processed.
  • Messages that do begin with The Bot's command prefix do not log user data, and most commands to not log any data. The commands that log data are the report command (in Discord, this command is known as [[report or [[r) and the API enable/disable commands (in Discord, these commands are known as [[api enable, [[api allow, [[api disable, and [[api block).
    • The report command only stores the text placed within the message that is directly after the command (herein referred to as The Report Text). This command is entirely optional, meaning users never need to run this command under normal usage of The Bot. This command is only intended to be used to report roll commands that did not output what was expected. This command will accept any value for The Report Text, thus it is up to the user to remove any sensitive information before sending the command. The Report Text is stored in a private Discord Guild in a channel that only The Developer can see. The Report Text is solely used to improve The Bot, either by providing a feature suggestions or alerting The Developer to bugs that need patched.
    • The API enable/disable commands only stores the Discord Guild ID upon usage. These commands are entirely optional, meaning users never need to run this command under normal usage of The Bot. These commands only need to be used when the user desires to utilize the optional API. Discord Guild IDs are internal IDs generated and provided by Discord. The Bot only uses the stored Discord Guild IDs to ensure that API users cannot interact with Guilds that do not allow it or to check if an API user is a member of said Guild. The Guild IDs are only visible to The Developer thru direct database administration. This direct database administration is only used when there are issues with The Bot's database.

All commands contribute to a global counter to track the number of times a command is used. These counters do not keep track of where commands were run, only counting the number of times the command has been called. These counters have no way of being tracked back to the individual commands run by the users.

If the Discord interaction is not explicitly mentioned above, it does not collect any information at all.

Private Bot Information

Privately hosted versions of The Artificer (in other words, bots running The Artificer's source code, but not running under the publicly available Bot, The Artificer#8166) (herein referred to as Rehosts or Rehost) may be running in DEVMODE, a mode that allows the Rehost to log every roll command used. This mode is intended for development use only, and only allows the roll command to function in the Guild specified in config.ts as config.devServer. The Developer is not responsible for Rehosts, thus Rehosts of The Bot are not recommended to be used.

All policies described in Public Bot Information apply to Rehosts.

Due to the nature of open source code, Rehosts may not use the same codebase that is available in this repository. The Developer does not moderate what other developers do to this codebase. This means that if you are not using the publicly available Bot and instead using a Rehost, this Rehost could collect any information it desires.

Information relating to the Optional API Interactions

The Bot's API (herein referred to as The API) does not automatically collect any information. Users utilizing The API are required to provide a small amount of information before using The API.

When generating and API Key, the user must submit two pieces of information to be stored in The Bot's database: their Discord User ID and an email address.

  • The Discord User ID is only used to link a single API Key to a single Discord user and to authenticate the user when using The API. The stored User IDs are only visible to The Developer thru direct database administration. This direct database administration is only used when there are issues with The Bot's database.
  • The user's email address is only used to send the user their generated API Key and to act as method of contact if an issue with their API Key arises. The stored email addresses will only be used for reasons relating to The API. The stored email addresses will never be sold or shared with anyone. The stored email addresses are only visible to The Developer thru direct database administration. This direct database administration is only used when there are issues with The Bot's database.

In order to use The API, the user must provide The Bot with Discord Channel IDs. These Channel IDs are stored and used to restrict The API's usage to desired Discord Channels. These Channel IDs can be viewed by the user that submitted them via The API. The user cannot view Channel IDs that they did not submit and link to their API Key. The stored Channel IDs are also visible to The Developer thru direct database administration. This direct database administration is only used when there are issues with The Bot's database.

When using The API's roll endpoint (herein referred to as The Roll Endpoint), users acknowledge that every roll they request will be logged. The Roll Endpoint specifically logs the input string (provided by the user), the result string (generated by The Bot using the input string and sent to Discord in the requested channel), the creation timestamp, and the Discord Message ID of the result message sent by The Bot. This information stored is used only to identify and prevent API abuse. This information is only visible to The Developer thru direct database administration. This direct database administration is only used when there are issues with The Bot's database. This information will only be reviewed when The Developer is notified of possible API abuse.

Deleting Your Data

API Data Deletion

If you would like to remove all of your submitted data, this can easily be done using the BUTTON NAME button on The Bot's API Tools. This will delete all Discord Channel ID/Discord User ID combos that you have submitted. This will also delete your API key entry, completely removing your email address and Discord User ID from The Bot's database.

If you would like your Discord Guild ID to be removed from The Bot's database, a Guild Owner or Administrator needs to run [[api delete. This will remove your Discord Guild's ID from The Bot's database, reverting it back to the default setting of blocking The API.

Discord Command Data Deletion

If you would like to ensure that all of your submitted reports are removed from The Bot's private development server, please contact The Developer via Discord (by sending a direct message to Burn_E99#1062) or via email (ean@milligan.dev) with a message along the lines of "Please remove all of my submitted reports from your development server.". Submitted reports are deleted from the server as they are processed, which happens roughly once a week, but this can be accelerated if requested.