Why These Components Live in Your Tenant
Azure Communication Services — your tenant
Remote Expert joins calls as the actual signed-in Teams user — not as a guest or bot. The backend exchanges each user’s Teams identity for an ACS calling token. The ACS resource is provisioned in your tenant so that your users join meetings created in your tenant as internal participants: when the ACS resource sits outside the user’s tenant, participants are treated as external and must be admitted from the meeting lobby. Hosting ACS in your tenant also keeps call media in your Azure environment, in the region you choose — and the keys remain yours to rotate, monitor, or revoke at any time, giving you full control over the integration.Microsoft Entra ID app registration — your tenant
The app registration enables Teams SSO: it verifies each meeting participant’s identity inside the Teams meeting, with no separate usernames or passwords collected by Altoura. It also grants the delegated Microsoft Graph permissions (see Appendix A) that let the backend act strictly as the signed-in user — for example creating the meeting and sending invites as that user — never on its own. Because the registration lives in your tenant and is consented by your admin, you control the permissions and can revoke consent at any time.Frequently Asked Questions
Your two key questions
Will Altoura misuse our ACS key / connection string?
Will Altoura misuse our ACS key / connection string?
- You can rotate/regenerate the ACS keys at any time in the Azure portal, which immediately invalidates the shared key.
- You can monitor all usage of the ACS resource via Azure Monitor metrics and logs in your own tenant.
- We recommend periodic key rotation as policy; provide the new value to Altoura via a secure channel.
Will the contacts shown in the Remote Expert contact list be used or stored by Altoura?
Will the contacts shown in the Remote Expert contact list be used or stored by Altoura?
Contacts.Read, User.Read.All) — read strictly on behalf of the signed-in user, only while they are signed in, and only data that user is already permitted to see.Contact and directory data is fetched transiently from Microsoft Graph and is not cached or retained by the Altoura backend. On each request the backend calls Graph, returns the result to the client, and does not write that directory payload to Redis, the database, or any other store; there is no application-side cache.That data is used only to support delivery of the Remote Expert session. Altoura does not sell, license, or share it with unrelated third parties, and does not use it for advertising or analytics — consistent with Altoura’s Data Processing Agreement and Privacy Policy.Identity, permissions & consent
What permissions does the app request, and are they delegated or application?
What permissions does the app request, and are they delegated or application?
User.Read.All lets a signed-in user list eligible experts and resolve participant identities. See Appendix A for the full list and purpose of each.How is sign-in handled, and how many Entra apps are involved?
How is sign-in handled, and how many Entra apps are involved?
- Application sign-in — the Altoura Frontline application authenticates users through a single-tenant Entra ID app (limited to your tenant).
- Teams meeting verification — the multitenant Entra ID app covered in this guide is used only to verify users within the Teams meeting via Teams SSO, so participants from different tenants can be authenticated during a remote assist session.
Why is the meeting-verification app multitenant — is that less secure?
Why is the meeting-verification app multitenant — is that less secure?
How are the client secret and ACS key rotated, and how are secrets stored?
How are the client secret and ACS key rotated, and how are secrets stored?
Data protection
Is data encrypted in transit?
Is data encrypted in transit?
Is data encrypted at rest, and what does Altoura store?
Is data encrypted at rest, and what does Altoura store?
Are Remote Expert sessions recorded?
Are Remote Expert sessions recorded?
Where is data stored (residency)?
Where is data stored (residency)?
Network & isolation
What endpoints need to be allowlisted?
What endpoints need to be allowlisted?
- Remote Expert web app:
https://remote-expert-web.altoura.com - Secure API / portal:
https://api.altoura.com,https://portal.altoura.com,https://login.altoura.com,https://apivnext.altoura.com - Blob Storage:
https://altourajade.blob.core.windows.net· Storage CDN:https://altouranext.azureedge.net - Web PubSub:
https://altourateamsapp.webpubsub.azure.comandwss://altourateamsapp.webpubsub.azure.com - Standard Microsoft Teams, Microsoft Graph, and Azure Communication Services endpoints.
How is one tenant's data isolated from another?
How is one tenant's data isolated from another?
OrganizationID in a shared Azure SQL database, with access enforced through authenticated user–organization roles; Remote Expert Graph/ACS configuration is isolated per SSO domain. Where required, dedicated Azure deployments provide physical separation; otherwise Redis and Storage are shared per deployment with entity-level (session / project) partitioning.In the meeting flow, the backend also identifies each session by the tenant (tid) and audience claims in the validated SSO token, and all Graph access is delegated to the signed-in user.
