Skip to main content

What this check does

DSALTA lists the site’s people with the connected token and reads each member’s two-factor flag. A member whose flag is not reported as enabled counts as not enabled.
This check also runs on 25 other integrations — see MFA should be enabled for all users for the full list.
This check reads the live people list on every run, not the Access page, and applies the same member filter as the sync: client users, collaborators, contacts, service accounts, observers, pending invitations and deleted people are not counted. A member whose two-factor flag is missing counts as not enabled. If Teamwork.com returns no members at all — which cannot happen on a working token, because the token’s own person is always listed — the run ends in an error rather than a pass, so a broken credential is never mistaken for full two-factor coverage.
Passes when: Every member of the Teamwork.com site has two-factor authentication enabled. A member without a readable flag counts as not enabled, and the check needs at least one member to evaluate.

Why this matters

Teamwork.com site members can read project plans, client conversations and uploaded files, and every member holds a personal API token with their own permissions. Two-factor authentication on every member keeps a stolen password from being used to reach that work.

How to fix

Enforce two-factor authentication in Teamwork.com
  1. Ask each flagged member to sign in to Teamwork.com, click the profile icon (bottom left), open Edit My Details, and enable two-factor authentication.
  2. As the site owner, open Settings → Security and require two-factor authentication for all users, so that no member can leave it off.
  3. Run the check again from Compliance → Tests, or wait for the next scheduled run, and confirm no member is still reported without two-factor authentication.
Once resolved, DSALTA records a 200 (compliant) result on this test’s Source Data tab at the next scheduled run.

Frequently asked questions

Once a day, at 02:00 America/New_York, while the integration is connected. A run is skipped entirely if the integration is not in a connected state, or if the test has been deactivated.To see a fix reflected sooner, open the test from Compliance → Tests and click Run in the Run Test row. You need Full Access to run a test on demand.
The Status column answers “did the check run?”, not “did I pass”. Completed means DSALTA reached your system and finished evaluating — a check that ran and found a problem is still Completed.To see what it found, open the test and read the result code on the Source Data tab. 200 means nothing to fix; 204 means the check did not apply to your environment; 207 means it ran and found a compliance gap you need to act on. See Understanding test results.
Usually not. On an integration-powered check, Failed means DSALTA was blocked and could not evaluate it — result code 403 (a missing permission) or 428 (a setting DSALTA still needs from you). Code 500 means the run failed on DSALTA’s side.A genuine compliance gap does not turn the list red — it runs to completion and shows 207.
Deactivate it: open the test from Compliance → Tests, then use the ⋮ menu at the top right of the panel and choose Deactivate Test. It applies immediately, with no confirmation step.Write your justification in the Comments tab before you deactivate. Once deactivated, every other tab is grayed out, so Comments is the only place an auditor can read why — see Test detail.
No. DSALTA only reads. It never creates, modifies, or deletes resources, and every remediation step is performed by your team directly in the third-party product.