Skip to content

Handling code of conduct reports

This guide is for maintainers. It describes how we handle reports made under the code of conduct. It is published so that reporters and the wider community can see how reports are handled.

In this guide, "responders" means the maintainers handling a report.

Principles

  • Take every report seriously, and treat the reporter with respect.
  • Protect the safety and privacy of the reporter and of anyone affected.
  • Be fair to the person reported. Hear their side before deciding, unless doing so would put someone at risk.
  • Keep records minimal and restricted.
  • Act in proportion to the impact, following the code of conduct's enforcement guidelines.

How reports arrive

Reports are sent to contact@baibu.id. A report may also reach a maintainer directly, in person, or through a GitHub comment. Whatever the route, the maintainer who receives it forwards it to contact@baibu.id, or records it there, so that every report is handled in the same way. Do not discuss a report in public issues, pull requests, discussions or chat channels.

If something posted in a project space needs urgent action (for example, someone's personal information or a threat), any maintainer may hide or remove it straight away, then follow this guide.

Acknowledgement

Acknowledge every report within 14 days. The acknowledgement:

  • confirms that the report has been received;
  • names the responders handling it;
  • explains what happens next and roughly when the reporter will hear back;
  • asks whether the reporter has any immediate safety concerns, and how they would like to be contacted.

Confidentiality

  • The reporter's identity and the details of the report are shared only with the responders who need them.
  • Do not reveal the reporter's identity to the person reported without the reporter's consent. If the facts make the reporter identifiable, tell the reporter before you contact the person reported.
  • Do not share details outside the responders, except where the law requires it or where someone is at risk of serious harm.
  • Public statements about a case, if any are needed, say only what action was taken. They do not name the reporter.

Conflicts of interest

A responder must recuse themselves if they:

  • are the person reported, or the reporter;
  • have a close personal or working relationship with either of them; or
  • feel for any reason that they cannot be impartial.

A recused responder takes no part in the investigation or decision and does not see the case records. If a report concerns a maintainer, that maintainer is recused, and the remaining responders handle it. If every maintainer has a conflict, ask a trusted person outside the project, such as a code of conduct responder from another open-source community, to handle it, and tell the reporter who that is.

Investigation

  1. Assess urgency. If anyone is at immediate risk, act first: remove content, restrict access or block an account as needed. Then continue.
  2. Understand the report. Read the report and gather the public evidence: links, screenshots, commit or comment history. If anything is unclear, ask the reporter. Do not ask them to repeat the full account if you can avoid it.
  3. Hear from the person reported. Tell them what behaviour has been reported, without identifying the reporter unless they have agreed, and give them a chance to respond. Skip this step only if contacting them would put someone at risk.
  4. Talk to witnesses if needed, with the reporter's agreement.
  5. Decide. Responders decide together whether the code of conduct was breached and what to do. Aim to decide within 60 days of the report. If it will take longer, tell the reporter.

Applying the enforcement ladder

The code of conduct sets out four levels. Choose the level that fits the impact of the behaviour, not the seniority of the person involved.

Level When Action
1. Correction Inappropriate language or other unprofessional or unwelcome behaviour Private written warning explaining what was wrong and why. A public apology may be requested.
2. Warning A single incident or series of actions that breach the code Written warning with consequences for continued behaviour. No interaction with the people involved for a set period.
3. Temporary ban A serious breach, including sustained inappropriate behaviour Temporary ban from all interaction with the community for a set period, enforced through GitHub blocks and access removal.
4. Permanent ban A pattern of breaches, harassment of an individual, or aggression toward or disparagement of groups of people Permanent ban from all public interaction with the community.

Notes:

  • You may start at any level. A serious first incident can go straight to a ban.
  • Repeated behaviour after a correction or warning moves up the ladder.
  • Remove or edit content that breaches the code, whatever level is applied.
  • If the person reported has maintainer, triage or write access, review that access as part of the decision.
  • Tell the person reported, in writing, what was decided, why, how long any restriction lasts, and how to appeal.

Records

Keep records minimal and access-restricted.

  • Record only what is needed: the date, a short summary of the report, the people involved, the evidence relied on, the decision and the reason, and the dates of each step.
  • Store records in a location that only maintainers handling conduct reports can access. Do not store them in this repository, in GitHub issues or in any public place.
  • Recused maintainers do not have access to the record of that case.
  • Keep records only as long as needed to handle the case, any appeal, and repeat behaviour. Review them at least once a year and delete records that are no longer needed.

Appeals

The person reported, or the reporter, can appeal a decision by writing to contact@baibu.id within 30 days of being told the outcome.

  • An appeal is reviewed by maintainers who were not involved in the original decision, where possible.
  • The appeal reviewers may confirm, change or reverse the decision.
  • Restrictions stay in place while the appeal is reviewed.
  • Aim to decide an appeal within 60 days. The appeal decision is final.

What to tell the reporter

Keep the reporter informed throughout. At a minimum, tell them:

  • that the report has been received (within 14 days);
  • if the investigation will take longer than expected;
  • the outcome: whether the code of conduct was breached, and the action taken in general terms. Share as much as you can without disclosing private details about the other person beyond what the reporter needs for their own safety;
  • that they can appeal, and how.

If no action is taken, explain why. Thank the reporter. Reporting takes effort and can be stressful.

Changes to this guide

Propose changes to this guide through a pull request. A governance document, due in the third quarter of the project, may change who acts as responders.