ConceptReviewed 2026-09-29

User accounts: invitations, status and sign-in

How a person gets an account (by invitation), the four user statuses and how they are derived, how long an invitation link lives, what happens at sign-in with and without two-factor authentication, how long a session lasts, and what deactivation does.

User accounts: invitations, status and sign-in

A user is a person who can sign in to your organization. Their email is their sign-in name (there are no usernames), they hold one role, and their account is always in one of four statuses: Invited, Invitation expired, Active or Inactive. Nobody creates a user with a password: people are invited, and they choose their own password from the emailed link.

How it works in NirmaanOne

Invitations

An administrator (the Create permission on Users) fills in Invite New User on Users: email, first name, optional last name and phone, and the one Role. Send invitation creates the account without a password, stamps an expiry on it, and emails "You are invited to <organization>" with a link to the Join <organization> page. The email must not belong to any account anywhere in the system, or the invitation is refused with "An account with this email already exists."

The link lives for the number of hours set under Invitation links expire after (hours) on Organization: 1 to 720 hours (30 days), 72 by default. The hours are fixed on the account at the moment the invitation is sent, so changing the setting later affects only invitations sent or resent afterwards. Whatever the setting, a link is never accepted more than 90 days after it was made.

  • Resend invitation issues a fresh link and a fresh expiry; the earlier link stops working (the join page says "This invitation cannot be used" and "This link is invalid, has expired, or was already used.").
  • Revoke invitation deletes the pending account. It is only possible while the invitation is unaccepted; afterwards you deactivate the user instead ("This invitation was already accepted.").
  • An invited person who tries to sign in before accepting sees "This account has a pending invitation. Open the invitation email to set a password first."

Accepting

On the join page the invitee sees their email and role, chooses a password (at least 8 characters with a letter and a digit) and clicks Accept invitation. That sets the password, marks the email verified (the link reached the mailbox), records the acceptance and signs them in; they land on the dashboard with "Welcome to NirmaanOne!". If the organization requires two-factor authentication, the new user is limited to My Profile until they set it up.

The four statuses

The status is never stored; it is read from the account each time:

Status Meaning
Inactive Account active is off. This wins over everything else.
Invitation expired No password yet, invitation not accepted, and the expiry has passed.
Invited No password yet, invitation not accepted, expiry still ahead.
Active Everyone else: the invitation was accepted (or the account was created at sign-up).

Send invitation → Invited; time passes → Invitation expired; Resend → Invited again; accept → Active; Deactivate → Inactive; Reactivate → Active (or back to Invited or Invitation expired if they had never accepted).

Signing in

Sign in takes the email and password. A wrong pair answers "The email or password is incorrect." whether the email exists or not, and every refused attempt is recorded in the audit trail with its reason. When the account has two-factor authentication on, the password is step one and a 6-digit authenticator code (or a backup code) is step two, to be entered within 5 minutes (see Two-factor sign-in). A successful sign-in stamps Last sign in and is recorded too.

A session stays signed in as long as it is used at least once a day: the working token lasts 15 minutes and is renewed silently, and each renewal starts a fresh one-day window. There is no other time limit, so someone who uses NirmaanOne every day is not asked to sign in again. Your permissions are recomputed at each renewal, which is why a role change takes up to 15 minutes to reach you. Signing out in one browser tab signs out every tab of that browser; the other tabs show the plain sign-in page.

Sign out everywhere on My Profile ends every session of the user at once, on every browser and device including the one in use, and stops every AI connection made before that moment, which then has to be connected again.

Passwords, verification and email

  • Forgot your password? emails a one-hour, single-use reset link to an existing active account; the page says the same thing whether or not the address exists, so it cannot be used to guess emails.
  • Resetting or changing the password ends every other session of the user (and any AI connection made before that moment).
  • A verification link ("Verify your email address") is valid for 24 hours. An unverified email blocks nothing for 30 days after the account was created; the amber banner and My Profile show the date. After it, sign-in is refused until the email is verified ("Verify your email address to sign in. We have sent a new verification link to <email>."), each refused attempt sends a fresh link, a running session ends at its next renewal, and AI connections stop. Accepting an invitation verifies the email, so invited users never meet this.
  • The email cannot be changed, by the user or by an administrator. Invite the person again under the new address and deactivate the old account.

Two-factor authentication

Each user turns it on for themselves on My Profile, unless the organization requires it, in which case users without it can open only My Profile until they set it up and nobody can turn their own off. A user who has lost both the authenticator and the backup codes is reset by an administrator with Reset two-factor on Users (see Reset a user's two-factor authentication): two-factor is removed, every session ends and the user signs in with the password alone. Nobody can reset their own; an administrator locked out with no other administrator to help contacts NirmaanOne support.

Deactivating

Deactivate (the Edit permission on Users) ends every session of the user at once ("<email> will be signed out everywhere and unable to sign in until reactivated."), stops their AI connections, and marks their contact inactive. You cannot deactivate your own account. Accepted users are never deleted, so their bookings, postings and audit entries keep a valid author. Reactivate restores them with the role they had.

Every user is also a contact

When a user is invited, a contact of type User is created with their name, phone and email, and it is kept in step afterwards (name and phone edits on My Profile, the active flag on deactivation). That is how the office can pick a colleague on a record. The contact cannot be deleted while the user exists ("This contact is a user of the system; deactivate the user instead"). If the User contact type is missing under Lookups the invitation still goes out, but no contact is created.

Example

On Monday 28 September 2026 at 10:15 the administrator of Shree Siddhi Developers invites kavita.rao@shreesiddhi.in as an Accountant. The organization keeps the default 72 hours, so the link is valid until Thursday 1 October at 10:15 and the row shows Invited.

Kavita is on leave and opens the email on Friday 2 October. The join page says "This invitation has expired. Ask your administrator to send a new one." and her row on Users now reads Invitation expired (a filter on the grid finds such rows). The administrator clicks Resend invitation; the toast reads "Invitation re-sent to kavita.rao@shreesiddhi.in." and a new 72-hour link goes out. The old link from Monday no longer works even though it is inside its 90-day ceiling, because the resend replaced it.

Kavita accepts on Friday afternoon, chooses a password and lands on the dashboard: status Active, Last sign in stamped, email Verified, and a contact "Kavita Rao" of type User now exists under Contacts. Since the organization requires two-factor authentication, she sees the red banner and sets up her authenticator on My Profile before any other page will load data.

Eighteen months later Kavita resigns. The administrator clicks Deactivate on her row: she is signed out everywhere, her row reads Inactive, her contact turns inactive, and every voucher and receipt she recorded still names her as the author in its History.

Where you see it

Related

  • UsersScreen

    The people in your organization: invite new users, change their role, deactivate or reactivate them, reset a lost two-factor authentication, and resend or revoke pending invitations.

  • OrganizationScreen

    Your organization's profile and policies: name and invitation expiry, the two-factor requirement, the AI connectors switch, the help-assistant recording switch, the project defaults every project inherits (RERA gate, estimate validity, the two chargeable areas, carpet area offered, revenue method and trigger) and the effective-dated rules: the RERA escrow share that splits every sweep of a project's collection account, TDS on sales and booking cancellation.

  • Join <organization> (Accept invitation)Screen

    The page the invitation email opens: choose your password and join the organization that invited you, with the role the administrator gave you.

  • Sign inScreen

    Sign in to NirmaanOne with your email and password, and with a 6-digit code or a backup code when your account has two-factor authentication.

  • Forgot your password?Screen

    Ask for a password reset link by email when you can't remember your password.

  • Choose a new passwordScreen

    The page the password reset email opens: choose a new password, which signs you out everywhere so you can sign in again with it.

  • Verify emailScreen

    The page the verification link in your email opens: it confirms your email address, or lets you ask for a new link when the old one has expired.

  • My ProfileScreen

    Your own account: see your email, organization and roles, change your name and phone, change your password, turn two-factor authentication on or off, and sign out everywhere.

  • Create your organizationScreen

    Start a new organization in NirmaanOne: enter its name, GSTIN, your email and a password, and you become its administrator.

  • Two-factor sign-inScreen

    Turn on two-factor authentication with an authenticator app, sign in with a 6-digit code or a backup code, manage your backup codes, and what happens when your organization requires it.

  • ContactsScreen

    The master list of every person your organization deals with, with a panel to add, edit, deactivate or delete a contact and see who changed the record.

  • Audit logScreen

    The organization-wide change log: every create, change and delete, every sign-in (including refused ones), sign-out and downloaded file, with who did it, when, from where and what changed.

  • Roles and permissionsConcept

    What a permission is (a module plus an action), how roles bundle permissions, the twelve default roles and what each is meant for, the one-role-per-user rule, and when a change reaches a signed-in user.

  • Audit trail and record historyConcept

    What an audit entry records (who changed what, when, from where, with before and after values), how entries group into a record's history and a project's history, and who may read them.

  • AI connectorsConcept

    How an AI assistant such as Claude or ChatGPT connects to NirmaanOne, acts as one user within that user's role, what it can and cannot do, and how connections are watched and stopped.

  • Reset a user's two-factor authenticationHow-to

    When a user has lost both their authenticator app and their backup codes, an administrator resets their two-factor authentication from Settings > Users so they can sign in again with their password.