← All posts

Stop students sharing logins on video courses

How to limit login sharing on a WordPress video course: device limits per account, reading session data, flags for unusual viewing, and when to just ask.

The short answer: cap how many devices one account can watch on at the same time, put the account holder’s name on the video, and check your session data for accounts that behave like several people. A limit of two devices covers a student’s laptop and phone and stops a shared login being useful to a group. Most sharing ends there. For the few accounts that keep tripping the limit, look at their history and talk to them before you lock anything.

This guide covers why sharing happens, how a concurrent stream limit works in practice, how to read the data for patterns, and what MediaShield does at each step, including what it does not do.

Why login sharing happens

It helps to know who you are dealing with, because the response should match.

  • Households. A parent buys a course and a teenager watches it too. Often harmless, sometimes intended.
  • Study groups. Classmates split the cost of one seat. The most common case on exam-prep and skills courses.
  • Teams. A manager buys one seat and passes it around the office. Common on professional and B2B courses.
  • Resellers. Someone sells access to a login they bought. Rare, and the one that actually costs you serious money.

The first three are not malicious. They are people optimising cost. A stream limit makes the shared login inconvenient enough that buying a second seat is easier, and a watermark makes everyone in the group see the buyer’s name. That combination converts some sharers into customers without a single angry email. Resellers need more: the data in the later sections helps you find them.

Concurrent stream limits, explained

A concurrent stream limit counts how many devices are watching on one account right now, and refuses a new stream once the limit is reached. It does not limit how many devices an account can ever use, which would punish a student who switches from laptop to phone. It limits simultaneous use, which is what a group sharing a login looks like.

In MediaShield the setting is Max Concurrent Streams, under MediaShield > Settings > Concurrent Streams. The default is 2. When a third device tries to start a video, it is refused with “Too many active streams. Please close another video first.” It is worth telling students in your welcome email that a seat covers two devices at once, so the message is not a surprise.

How the count stays fair:

  • Heartbeats. The player checks in every 30 seconds while a video plays. A device that has not checked in for 5 minutes stops counting, so a student who closes their laptop lid is not locked out of their phone for long.
  • Closing a tab ends the stream. The browser tells MediaShield as the page closes, so the slot frees immediately.
  • One page, one device. Several players on the same page count as one device, not several.
  • Logged-in accounts only. Guests are never counted. If you turn Require Login off for a free preview, guests watch without a limit, because there is no account to share.

Choosing the number:

AudienceSuggested limitWhy
Individual learners2Laptop plus phone
Family or household plans3 to 4Several people by design
Per-seat corporate licences1One seat, one person
Live cohort with replays2Watching the replay while on a call is common

A tight limit is not automatically better. Every legitimate student who hits it is a support ticket. Start at 2 and adjust from what you see.

Enforcement when everyone logs in at once

The moment a stream limit is tested is often the busiest one: a new module drops, an email goes out, and a shared login is opened by five people within seconds. A limit that checks “how many streams are open” and then opens one can let several through at the same instant.

MediaShield enforces the limit per account under a database lock, so two devices starting at the same moment are counted one after the other, and the second one beyond the limit is refused. It is also why guests are handled on a separate path: an anonymous visitor never competes with a member for a slot.

You do not have to configure any of this. It matters because a limit that only works when the site is quiet is not a limit.

Reading session data for patterns

The stream limit handles the simultaneous case. Sharing that happens in shifts, one person in the morning and another at night, never hits it. That is where your session data earns its keep.

Every playback at Standard or Strict protection is a watch session tied to the account. Open MediaShield > Viewers to see each student with videos watched, average completion and last active time, then open a student for their history: every video started, how far they got and when. Patterns worth a second look:

  • Too much, too fast. An account that has finished an entire course in a weekend, far faster than your typical student.
  • Duplicated progress. The same lesson watched to completion several times on the same day.
  • Odd hours, every day. Sessions spread across the whole day and night, more like several time zones than one person.
  • Volume against seats. A video with far more sessions than the number of students enrolled.

None of these proves sharing. A keen student can binge a course. They are a reason to look closer, not to act. See watch analytics and analytics and milestones.

Suspicious viewing flags in Pro

MediaShield Pro adds an Alerts screen that flags unusual viewing automatically. It currently flags:

  • Multiple IP addresses. One account starting sessions from several IP addresses inside a time window. This is the flag most closely tied to sharing.
  • Developer tools opened while a video is playing.
  • Rapid seeking. Jumping past 80 percent of a video within 30 seconds of starting it, which looks like someone skipping to grab the end.

Detection Sensitivity tunes the IP flag. Low flags 10 or more IPs in 24 hours, Medium (the default) 5 or more in 12 hours, and High 3 or more in 6 hours. Medium suits most sites. Students on mobile data change IP more than you might expect, so High produces more false positives.

Each flag can be dismissed, or the student marked as a Safe User so their flags stop. Be clear about one thing: these are flags on a screen. MediaShield does not send an alert email when one is raised. The weekly digest email includes the count of unresolved flags, so set a reminder to open the Alerts screen. Pro’s CSV export of watch sessions also lets you sort and filter the raw data in a spreadsheet when you are investigating one account. See Pro analytics and data export.

Make the shared login visible

The stream limit stops simultaneous sharing; the watermark discourages the rest. At Standard protection MediaShield shows the account holder’s display name and IP over the video, moving every 30 seconds by default. Pro can add email and user ID. When a friend watches on a borrowed login, they see the buyer’s name on every lesson, and the buyer knows it. That small social cost does a lot of the work. See viewer watermark and video watermarks for WordPress.

When to talk to the student instead

Most accounts that look shared belong to students who would happily pay the right price if they were asked. Before you block anyone:

  1. Look at the history for the account. Is it really several people, or one enthusiastic one?
  2. Send a friendly note. “We noticed your account is being used on several devices. A seat covers two at once; if your team needs more, here is a link for extra seats.” This converts more often than a lockout.
  3. Offer the right product. If households or teams keep showing up, a family or team plan with a higher limit is a sales opportunity, not a policy problem.
  4. Act when it is clearly resale. If an account is plainly being sold on, end its access. MediaShield can terminate every active stream for an account through an administrator REST call (there is no admin button for it today), and removing the role the videos need, or deactivating the account, stops new ones. See access control.

Put the device limit in your terms of sale, too. Students rarely argue with a rule they were told about up front.

Common questions

Will a stream limit lock out students who switch devices?

No. The limit counts simultaneous streams, not total devices. A device that stops checking in for 5 minutes no longer counts, and closing the tab frees the slot immediately, so moving from laptop to phone works as students expect.

Does MediaShield email me when it detects sharing?

No. Pro flags suspicious viewing, such as one account on many IP addresses, on its Alerts screen, and the weekly digest email reports how many flags are unresolved. It does not send an alert email for each one, so check the screen regularly.

Do guests count towards the limit?

No. The limit applies to logged-in accounts only. If you allow guests on a free preview by turning Require Login off, they are not limited, because there is no account to share.

Is the stream limit a Pro feature?

No. Max Concurrent Streams is in the free plugin, along with the viewer watermark and per-student analytics. Pro adds the suspicious viewing flags, realtime viewers and CSV export. See pricing.

What customers say on Trustpilot

WBComDesigns is amazing!

WBComDesigns is amazing. The WP plugins and themes are of top notch quality with lots of features and updated very frequently. Supports are very responsive and helpful. I use Reign with TutorLMS, and the experience is surprisingly smooth. The recently launched BuddyNext Pro and MediaShield Pro are…

Hoang PhanVN