veil

Ask your Discord members for a card

Most Discord scams in a community start with someone who looks like a member or a moderator. When members have a Veil card, everyone can check who is who from the account itself, and the server can mark who has linked one.

Written on

What a member’s card is#

Veil is the public directory of cryptographic identities. A card ties a person’s keys to the accounts people know them by, with Discord as one of them and GitHub, email, a domain or the Fediverse beside it. Anyone can look the person up by one of those accounts and check the card in their own browser. Someone who steals their Discord account still can’t sign as them, because the keys stay on their devices.

Making a card takes a minute at veil.pub/start. There is no password, and Veil never sees a private key. Linking Discord is one sign-in with Discord, which tells Veil only who the account is.

What the Veil app does in your server#

Add the Veil app to the server. It needs one permission, Manage Roles, and it reads no messages. Members then use slash commands themselves:

  • /veil link gives the member a Veil-linked role when their Discord account is on a card. The app creates the role the first time, with no permissions of its own, so you decide what it unlocks.
  • /veil card shows anyone’s card, by Discord user, card number, address, email, domain or key. Right-clicking a member and choosing Veil card under Apps does the same.
  • /veil verify gives the server’s verdict on a signed message someone pasted in the channel, names the card that signed it and links to the check in your own browser.

Once a day the app looks again at every member it gave a role to. Someone who has closed their card or unlinked Discord loses the role. The app only takes roles away on that pass, and a member gets one back by running /veil link again.

A staff list people can check#

If your community has an organisation card, link the server to it with /veil server link and confirm from the organisation’s card. Members of the organisation who run /veil link also get a Staff role, and /veil staff lists the accepted members with their roles. Each membership is signed by the organisation and by the member, so nobody can put themselves on that list.

When someone with a moderator’s name and picture sends a direct message, a member can right-click them and see in a second whether that account is on the moderator’s card.

What the community gets#

An impostor with a copied name has a different Discord ID and no card, or a card without the accounts people know. A hijacked account still shows the right card, but the thief can’t sign with it, and its owner can mark the account as stolen so lookups warn about it. For announcements that matter, such as a new link or a wallet address, your staff can sign the message with their card and anyone can check it on veil.pub/verify.

Asking for a card doesn’t lock anyone out. A role is something you choose to require, for example to post links or to enter a trading channel, and members without a card can still read and talk wherever you allow them.

Questions#

Does the app need to read messages?

No. It works from slash commands and right-click menus, and the only permission it asks a server for is Manage Roles.

What does Veil learn about our server?

For a linked server, the server’s ID and name and the Discord ID of whoever linked it. For roles, the app looks up the Discord ID of members who run /veil link, and each day of those who have a role.

Do members need to use Veil’s chat?

No. The card works on its own, and Discord stays where your community lives. The Veil chat is there for people who want it.

Can a member fake the Veil-linked role?

Only the app gives the role, and only after the directory finds a card with that Discord account. The daily pass takes it away when the link is gone.