Invitation email has no expiration and can be used multiple times

Where does the bug appear (feature/product)?

Somewhere else…

Describe the Bug

If the user’s access to Cursor is revoked from the organization, they can still use the invitation email (or rather the link in it) to get back to the Enterprise plan. This creates an administration problem, especially in large organizations.

Steps to Reproduce

  1. Send an email invitation to a user. → user gets invitation email
  2. User accepts the invitation → Account status in Cursor settings is changed from Free to Enterprise, and the user is added to the members list in the Dashboard
  3. Remove user in the Dashboard → Account status in Cursor settings is changed from Enterprise to Free, the user is not displayed in the members list in the Dashboard
  4. User accepts the invitation from the first invitation email.

Expected Behavior

User gets an error message that the invitation has expired

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.2.44 (Universal)
VSCode Version: 1.105.1
Commit: 20adc1003928b0f1b99305dbaf845656ff81f5d0

Does this stop you from using the Cursor

No - Cursor works, but with this issue

Hey @Oleg_Grudko!

The “invite by email” feature is essentially a convenient way to send the team’s invite link to a specific person, but the link itself is not restricted to that recipient. Anyone with access to the link can use it to join the team, and it remains valid until it expires

I recommend treating the invite link as sensitive and sharing it only with people you want to join your team.

Single Sign On might be a better fit for teams who want more control over who can access a team. With SSO configured, users must authenticate with your IdP to join the team, so even if someone receives an invite link, they won’t be able to use it unless they’ve been granted access to Cursor in your IdP.

Ok, I assumed that invitation links are unique to the organization and user/invitation, but obviously, they are not. Doesn’t it open a vulnerability where still active invitation links can be stolen//sold/given away? How often are invitation links rotated? It seems the Cursor team offloaded account management to the Customers, and now I need to double-check if any of the laid-off and revoked engineers re-appear in the members list.
Thank you for the SSO option, though, need to investigate this approach.