Lost account access

As a part of its privacy policy, NoBleme will protect your anonymity as much as possible. This means that you will never be sent any emails that could be used to link you to your identity on the website, or asking you to provide your password. On top of that, automated password recovery systems can be used in a few nefarious ways that we would rather not have to deal with. With this context in mind, NoBleme decided to not implement an automated account recovery process.

If you have lost access to your account (forgotten username, forgotten password, or otherwise), the only way to recover that access is to go on NoBleme's NoBleme's IRC chat server and ask for a website administrator to manually reset your account's password. No need to worry about identity usurpation, there is a strict process in place that will allow the administrator to verify your identity before doing the resetting.



Behind the scenes

NoBleme's design choices and development methods

NoBleme is a fully handcrafted website, developed entirely from scratch by Éric Bisceglia (known online as Bad). Ever since its launch in 2005, NoBleme's policy on development has been to be as public as possible: its source code is publicly available, its roadmap allows you to follow the development progress, devblogs keep you updated on what is going on, and this very page does its best to explain which philosophies and technologies are used in NoBleme's development.

The creed of NoBleme's design

When working on content or features for NoBleme, the following guidelines are always taken into account in order to achieve the best possible and most inclusive user experience.

Free to use and ad-free: The Internet is a wonderful place for creativity and self expression, hijacked in far too many places by advertisements, sponsored content, and begging for money. In NoBleme's case, the website shall forever remain free to use and ad-free. The running costs are entirely covered and budgetted for. NoBleme is a passion project. I do not accept donations. Just enjoy the service.

Privacy oriented: As stated in our privacy policy, we highly respect your privacy and your right to stay anonymous if you desire. As you can see in your personal data, we only collect the strict minimum amount of personal data required to run the website, and will never share or sell it to third parties.

Consider all user experiences: Dark patterns are strictly prohibited. All of NoBleme's content is tested not only on a desktop computer, but also simulated as being viewed on several different mobile phones and tablets. Screen readers for visually impaired people are also taken into account. While it is impossible to guarantee the best user experience on all devices, all of them should be considered when designing pages.

Educational transparency: The role of a developer is not just to write code, it is also to share knowledge with other developers, so that we might all become collectively better at our craft. NoBleme's source code should always be heavily commented, to the extent that one should be able to understand what is going on in a source code file even without knowledge of the programming languages being used.

Gender neutrality: Every piece of text on NoBleme should be gender neutral. The default pronoun in use should be `they`, unless referring to specific people. Neutral forms are preferred for traditionally gendered nouns (eg. mailperson over mailman).

Sensitivity: When writing text for NoBleme, a conscious effort should always be made to mind the sensitivities of potential readers. This goes further than simply not using slurs: common triggering topics should ideally be avoided, or at least preceded by a warning, and an effort in educating oneself on any sensitive topics (race, identity, politics, mental health, etc.) should always be done before writing about them.

NoBleme's technological stack
Here is the exhaustive list of all applications, services, and technologies used in the process of developing, maintaining, and administrating NoBleme:
NoBleme's source code

The entirety of NoBleme's source code has been publicly open sourced: NoBleme on Github.

Reasons for open sourcing NoBleme include transparency (allowing you to check that our privacy policy contains no lies), education (allowing you to satisfy your curiosity about how things work), security (allowing everyone to help in finding bugs and vulnerabilities on the website), and personal convictions (leading by example - I believe open sourcing should be the norm and not the exception).

NoBleme's source code is protected by the very permissive MIT license, which allows you to use any piece of code from NoBleme in your own projects without asking for permission first. The only condition is to properly credit NoBleme when reusing some of its code - as outlined in the LICENSE.MD file and in our legal notice.

As the website has been started in 2005, and despite a few major rewrites, the way the website is coded might seem "old fashioned": all of the source code follows a procedural paradigm (there are no objects or classes). Despite this approach, and despite using technologies which often get labeled as "outdated" (PHP, MySQL), NoBleme's source code uses the latest versions available of every technology in its stack, respects modern standards, and keeps evolving over time.

Every file in the source code is heavily commented, to the point where you should be able to understand what is going on in the codebase even if you're not familiar with the languages used. The README.MD file explains how the codebase is structured, aswell as how to install a local copy of NoBleme.

Contributing to NoBleme's source code

NoBleme is open to contributions, as stated in CONTRIBUTING.MD. Bug fixes should be submitted as a pull request on the `develop` branch of the repository. If you spot a bug but don't want to fix it or can't be bothered doing a pull request, that's perfectly fine: please use our bug report form instead. For any bigger contributions (refactoring, features), please discuss it on the #dev channel of NoBleme's IRC server before getting started.