Business rules belong in settings
Hard-coding a judgement turns every disagreement into a feature request. What counts as a healthy project. How long a silence is too long. How far back time may be logged. Each one is an opinion about how a company runs, and each differs between firms that would otherwise share a product.
Thirty-one tenant settings across seven categories, and administrators can add more.
Where the constant comes from
Almost always from the first customer. Somebody asks what makes a project healthy, an answer gets agreed in a meeting, and the answer becomes a number in the code.
The number is right for that company. It becomes wrong the moment a second company arrives with a different delivery rhythm, and by then it is threaded through reports.
The tell is a support conversation that ends in explaining why a figure is what it is, rather than in changing it.
What is configurable here
Thirty-one settings sit across seven categories. General and attendance. Employee support and feedback. Integrations, project health, and chat notifications.
Project health has its own category with several settings, so how a project is scored is a tenant decision rather than a constant. The meeting gap warning is one of them, defaulting to fourteen days.
Attendance settings include the four edges of the self-serve check-in window, and the master switch that defaults to off.
Administrators can add settings and categories, which means the list grows with the tenant instead of waiting for a release.
- Project health scoring, including the meeting gap threshold.
- Attendance windows and the self-serve master switch.
- The environment flag, which reroutes notifications to a test channel.
- Maintenance mode.
- Chat channel targets for reports and digests.
The guard that shows why this is more than a form
One setting names the channel where meeting digests are posted. Those digests can contain an AI risk assessment about a client project.
So the system refuses a channel name that ends with the company suffix used for shared client channels. A configuration mistake that would have sent confidential meeting signals into a client's chat is blocked before it can be saved.
That is the part most settings screens miss. A setting with real consequences needs a guard, not only a text box, and the guard belongs next to the setting rather than in a warning note.
What should not be a setting
Configurability has a cost, and an option nobody understands is worse than a default somebody chose.
Our line is simple. A setting for anything companies differ on. A fixed behaviour where one answer is just correct.
Attendance respecting the holiday calendar is correct everywhere, so it is not a setting. What makes a project healthy is not, so it is.
The same goes for corrections. A missed punch always becomes a request with an approver, never a silent edit, because a record anyone can quietly change is wrong everywhere.
What a setting owes the person reading it
A configurable rule is only useful if somebody can work out what it does without asking an engineer.
So each one needs a name that says the effect, not the mechanism. A default that is a reasonable answer rather than a placeholder. And a stated consequence, because the cost of a wrong setting is rarely visible from the form.
The ones with real consequences need more than that. A guard, a confirmation, or a restriction on what can be typed, sitting next to the field rather than in a note somebody reads once.
Without those, a settings screen becomes a place people change things hopefully and then change back.
Configuration as a record of decisions
There is a second use for these screens that is easy to miss. Taken together, they are a written record of how your company decided to run.
How long a silence is tolerated. How far back time may be logged. How wide the check-in window sits around a shift. Somebody chose each of those, and the value is the decision.
Which is a good reason to review them occasionally with the people affected, rather than only when something breaks. A setting nobody has looked at in two years is usually describing a company that has changed.
And it is a reason to record why, somewhere, even briefly. A number with no reasoning behind it gets changed by the next person on instinct.
The version of this that goes wrong
Configurability has a failure mode of its own, and it is worth naming so this does not read as an argument for more options.
A product that makes everything a setting has pushed its design work onto the customer. Every new buyer now faces a hundred decisions before anything works, and most of them will guess.
Guessed configuration is worse than an opinionated default, because nobody can tell later whether a value was chosen or landed on.
The better shape is a strong default with a visible way to change it. Somebody who never opens the screen gets a sensible answer. Somebody who disagrees gets a short path to a different one.
Thirty-one settings is a manageable number for that. Three hundred would not be, and the difference is not technical.
Questions people ask
How many tenant settings are there?
Thirty-one across seven categories, and administrators can add both settings and categories without waiting for a release.
Is project health scoring configurable?
Yes. Project health has its own settings category, so how a project is scored is a tenant decision rather than a fixed rule.
What stops a misconfigured notification channel?
A guard on the digest channel setting refuses a name matching the pattern used for shared client channels, so confidential meeting signals cannot be routed there by mistake.