Community Contract Guidelines

What is the process?

1 – Submit your information via the Contract Submission Form

2 – A Hacktoria Discord Server admin with the “Confidant” or “Overseer” role will reach out to inform you the Contract is being built.

2 – This admin will check the following and other details if needed:

  • We make sure this feature is not misused for malicious intent
  • We make sure the contract does not rely on very temporary resources
  • We keep hateful content out of Hacktoria

4 – You’re informed when you’re contract goes live via Discord.

Note: All communication between you, your players and Hacktoria staff happens via Discord. Make sure you can receive DM’s from people you share a server with and are in the Hacktoria Discord with the Discord name provided in the form.

the Secret ID

On your first time creating a contract, we’ll provide you a “Secret ID”. Together with your Callsign/Nickname this will identify you for subsequent submissions, link all your Contracts together and provide verification if you ever request a bug fix/change. Do not share this secret with anyone except the Hacktoria team.

What do we provide?

  • A custom Contract Card for your Contract, with your name, the name of your Contract and a cool graphic
  • Guidance on making a Contract and help in with ensuring it’s functioning
  • Hacktoria promotes your Contract on social media and Discord
  • Assistance and brainstorming to help make your Contract better

Rules for Contracts

  • You are responsible for the functioning and user support of your Contract
  • You are responsible for hosting any additional materials (downloads like a VM for example)
  • Hacktoria may refuse or remove any Contract at our discretion
  • No hateful content, calls for violence, sexism or other harmful material
  • Contract briefing and answer instruction in English

Best Practices

To ensure your Contract is as awesome as possible, we’ll share some best practices and tricks we’ve learned while operating Hacktoria.

Use permanent resources

If your Contract relies on specific social media posts, current events or other time limited materials. Or if it relies on things that can be deleted at any moment, this will jeopardize the functioning of your Contract. Try to use resources that are very unlikely to be deleted, break or otherwise are subjective to change.

Clear markers

Making sure the player is aware that whatever they find is actually part of your Contract. Leave any ambiguity about finding the correct step out of the process. If you’re for example using a Twitter account (archived or not), mark the account clearly as being part of your challenge. This prevents endless rabbit holes and keeps people from interacting with real people and organizations who have nothing to do with your Contract.

Good password instructions

The end of all Contracts is opening the FlagFile, which contains a unique and collectible Contract Card. This means the answer to your Contract is a password for a ZIP file. Provide clear instructions on formatting, the allowed characters and length if needed.

  • Coordinates can be tricky, may we suggest what what3words instead?
  • People search in different language, be clear about the expected language
  • Provide information about using full names, abbreviations or other notations

Leave out ambiguity

Guessing can be a fun part of a challenge, but make sure the answers aren’t too far fetched. Making a good challenge is about using skills and processes to uncover something. When leaving answers up for too much interpretation, you can be sure a lot of people will follow a completely different thought process than you did. And end up not finding anything.

Have fun!

It’s immensely rewarding and very interesting to see people interact with challenges you set out. There will always be surprises and things you didn’t think of. All of that is fine and part of the process. By making challenges with your expertise (and yes you have that, leave the impostor syndrome at the door!), you create learning opportunities for a lot of people.