LearnMicrosoft Teams › 4 · Meetings & events

Recording and transcription: storage and controls

Press Record and you start a pipeline across three services with an expiry timer most tenants don't know they set. Where the file lands, who can see it, and when it self-deletes are all policy — none of it is in the meeting window.

The flow — what actually happens

Plain-language first; the packet-level view underneath each step is what you'd see in a Wireshark trace, and what healthy looks like.

  1. Record starts (if three gates agree)

    The button works only when the ORGANIZER'S policy allows recording, the PRESSER'S policy allows them to start it, and compliance settings (e.g. a no-record label) don't forbid it. Everyone gets the banner; consent-required regions can demand explicit acceptance first.

    On the wire The service, not the client, records — closing your laptop doesn't stop it. Proof: the recording continues in your absence and the audit log attributes the start to the presser.
  2. The file lands — WHERE depends on the meeting type

    Non-channel meetings: the RECORDER'S OneDrive (Recordings folder). Channel meetings: the channel's SharePoint folder. This one rule explains most 'recording vanished' tickets: the recorder left the company, their OneDrive died on schedule, the recording died with it.

    On the wire The chat link is a pointer to the SPO/OneDrive file — permissions live on the FILE. Audit log shows the upload; the file's ACL shows who can actually play it.
  3. Transcription runs beside it

    If transcription is on (its own policy switch — remember the 7-of-11 verdict), speech-to-text with speaker attribution is generated and stored with the meeting. Copilot and intelligent recap FEED on this artifact — no transcript, no meeting AI. That dependency chain is the most common 'Copilot is broken' cause.

    On the wire Transcript is a separate artifact (visible in the meeting's Recap tab, exportable, eDiscoverable). Its existence for a given meeting proves the policy chain end to end.
  4. The expiry timer ticks

    Recordings auto-delete after the policy's NewMeetingRecordingExpirationDays (default 120). Users get a heads-up and owners can extend, but silent estates lose recordings on schedule and call it a bug. Legal-hold content is exempt; retention policies can override in both directions.

    On the wire The expiry stamp sits on the file (visible in OneDrive/SPO details); deletions land in the recycle bin with normal restore windows — the 'vanished' recording is usually sitting there.

The control map

Question Controlling switch
Can meetings be recorded at all Organizer's AllowCloudRecording
Can THIS person hit record Their own policy + role
Is transcription available AllowTranscription (per policy instance!)
Auto-expiry NewMeetingRecordingExpirationDays (-1 = never)
Who can view File ACL at landing site (attendees get access by default; channel = channel members)
External/guest downloads The SPO/OneDrive sharing rules of the landing site — not a Teams setting

Design decisions worth making deliberately

  1. Expiry: 120 days default. Legal may want shorter, enablement teams longer — pick per policy group, don't inherit the default unknowingly (it's in our scan; you can see today's value on the matrix).
  2. Who records: limiting to organizers (AllowRecordingStorageOutsideRegion, role-based options) reduces the orphaned-OneDrive problem.
  3. Leaver playbook: recordings in a leaver's OneDrive follow OneDrive retention — the manager-access window is your copy-out period; after that, eDiscovery.

What to watch (proofs)

  • Policy census: Get-CsTeamsMeetingPolicy | ft Identity, AllowCloudRecording, AllowTranscription, NewMeetingRecordingExpirationDays — all instances, not Global (serv365's verdict engine literally alerts on the transcription column).
  • A recording's true home + ACL: the file in SPO/OneDrive > Manage access — who can play it, provably.
  • Expiry in action: any recording file's details pane shows its expiration date; audit log records the auto-deletion when it fires.
  • The Copilot dependency: meeting without transcript → Recap/Copilot unavailable; flip AllowTranscription for a test policy and watch the feature light up.

PowerShell for this concept

Discussion

No messages yet — start the thread.

Sign in with your email to join the discussion — we send a one-time link, no password.