Plain-English declaration of exactly what Momentum sees, what it doesn't, and the design choices that keep modeler privacy intact. Read this. Share it with your team. Push back if anything looks off.
Momentum has four parts:
The complete list of event types the addin emits - there are no hidden ones. Source code: Source/Core/ActivityEvent.cs in the Momentum addin.
| Event | What's logged |
|---|---|
SessionStart | Timestamp, Windows username, machine name, Revit version |
SessionEnd | Timestamp, "Revit closing" |
DocumentOpened | Timestamp, file path (e.g. Autodesk Docs://Project-X/Building.rvt) |
DocumentClosed | Timestamp |
DocumentSaved / SavedAs | Timestamp. Counted toward "saves per session." File contents are not transmitted. |
DocumentSynced | Timestamp, "cloud" indicator. Counted toward syncs per session. |
DocumentChanged | Timestamp + the count of elements added/modified/deleted (e.g., "Drag (+2/~34/-0)"). The element identities and the actual changed data are NOT logged. |
ViewActivated | Timestamp, view type + name (e.g., FloorPlan: 1ST FLOOR - DUCTWORK) |
IdleSpanStart / End | Timestamps. Idle threshold is configurable per workspace (default 15 min). |
WarningResolved | Timestamp, count of Revit warnings cleared |
Note | Diagnostic strings (Revit version, Autodesk username). Not free-text or sensitive. |
The idle detector is the part of Momentum closest to "monitoring." Here is what it actually does.
Once per timer tick, the addin calls a single Win32 API:
BOOL GetLastInputInfo(LASTINPUTINFO* plii);
This API returns one number: the millisecond count of the last keyboard or mouse event on the system. It does not return:
This is the same API that Windows screensavers use to know whether to engage. Momentum uses it strictly to distinguish "modeler is at the desk" from "modeler walked away."
If the input timestamp is recent (within your idle threshold, default 15 min), the addin treats the modeler as active. If it stays silent past the threshold, an IdleSpanStart event is logged. When input resumes, an IdleSpanEnd event closes the span.
That is the entire idle mechanism. There is no foreground-app detection, no window-title capture, no per-application time tracking.
On first Revit launch, the addin asks you to pick how much detail Momentum captures. The choice is yours, not your admin's - and filtering happens at the source, so events below your chosen tier are never recorded, locally or in the cloud.
| Tier | What's captured | What's not |
|---|---|---|
| Full (default) | Sessions, project + view names, edits, saves, syncs, idle/active. Same as every prior version of Momentum. | - |
| Project-level | Sessions, project assignments (via document name), save/sync counts, idle/active intervals, warning resolutions. | No view-by-view tracking. No per-edit element counts. |
| Hours only | Sessions, project assignments, idle/active intervals. Just enough to compute hours-per-project-per-day for billing. | No edits, no saves, no syncs, no view changes captured at all. |
Your workspace admin can see which tier you picked (it shows up in the Modeler acknowledgments card on their dashboard), but they don't get to override your choice. Some workspaces may require Full for billing reasons - if so, you'll be told before the notice closes.
The local session JSON file on your machine (%AppData%\Momentum\sessions\) reflects your choice too - if you picked Hours-only, the local file only contains hours data. We don't capture more locally and hide it from the server.
Momentum has three kinds of users. Each one sees a different slice of the workspace by design - team-wide visibility is gated to admins only, modelers see their own work, and the addin works for modelers who never touch the dashboard at all.
| Capability | Admin | Member (signed-in modeler) | Revit-only modeler |
|---|---|---|---|
| Dashboard access | |||
| Sign in to /dashboard | Yes | Yes | No (Revit only) |
| See Live Now table (who's currently in Revit) | Yes | No | No |
| See full team session tables (everyone's active/idle) | Yes | No | No |
| See Team roster + management controls | Yes | No | No |
| See own session history | Yes | Yes | No (request from admin) |
| See own assigned tasks | Yes | Yes | Via Revit "My Tasks" panel |
| Presentation Mode toggle (hide tracking columns for screen-sharing) | Yes | No | N/A |
| Tasks & projects | |||
| Create / edit / delete tasks | Yes | No (read-only) | No |
| Mark assigned task done / dismissed | Yes | Yes (own tasks) | Yes (via addin) |
| Create / edit / delete projects | Yes | No | No |
| Drop an idea (suggest a feature) | Yes | Yes | No |
| Workspace + billing | |||
| Generate invitations to add new modelers | Yes | No | No |
| Promote / demote / remove members | Yes | No | N/A |
| Download per-tenant Revit installer | Yes | No | N/A |
| View / change Stripe subscription | Yes | No | N/A |
| Cancel workspace | Yes | No | N/A |
| Studio-tier features | |||
| Configure idle threshold per workspace | Studio admins only | No | N/A |
| Configure outbound webhooks (Integrations) | Studio admins only | No | N/A |
| Override modeler display names | Yes | No | N/A |
| Data + privacy | |||
| Export own session data | Yes (whole workspace) | Request from admin | Request from admin |
| Request data deletion | Yes (whole workspace) | Request from admin | Request from admin |
| Acknowledge monitoring notice in addin | Yes (per-machine) | Yes (per-machine) | Yes (per-machine) |
Roles aren't just UI hints - they're enforced server-side at every layer:
tenantId, role, and app:'momentum' on every signed-in user's ID token.requireStudio(), updateMember, createInvite, etc.). The dashboard hides admin-only buttons for members; the server rejects the calls anyway if anyone tries to bypass the UI.For transparency about what Momentum could plausibly do but doesn't:
You should give your modelers written notice that Momentum is in use. Several US states require it (Connecticut, Delaware, New York), and most jurisdictions either require or strongly recommend it. We've made this easy: this page is shareable as-is, and we're happy to help you draft a notice. Email Info@getmomentum.studio if you want a template.
For modelers in the EU/UK or California, additional rights apply under the GDPR and CCPA/CPRA - see the Privacy Policy for details.
Reasonable concern. Here are the questions worth pushing on:
If you have other questions, email Info@getmomentum.studio. We'll answer honestly.