Geo-fencing for video: country rules that hold at playback
Geo-fencing for video on Flicknexs: block or allow countries for the whole platform or one title, enforced at playback from the viewer IP, on every plan.
Flicknexs enforces geo-fencing at the moment of playback using a platform-wide country list, optional per-title lists on videos, series and audio, and an IP geolocation lookup for each request.
Trusted by industry leaders
50+ OTT platforms powered by Flicknexs
Quick answer: Geo-fencing for video restricts playback by the country a viewer is watching from, so a title licensed for one territory cannot be started from another. Flicknexs includes a platform-wide block or allow list plus per-title country lists for videos, series and audio on every plan, looks up the viewer country from the request IP, and refuses playback.
Flicknexs provides geo-fencing as part of its white-label OTT platform. Flicknexs enforces geo-fencing at the moment of playback using a platform-wide country list, optional per-title lists on videos, series and audio, and an IP geolocation lookup for each request.
Why geo-fencing for video decides what you are allowed to sell
Almost every content license is written by territory. A regional broadcaster holds a match for one country, a distributor holds a film for a list of markets, a course publisher has an exclusive partner in one region and cannot compete there. If your streaming service cannot prove that viewers outside the licensed territory are refused, the licensor either declines the deal or prices the risk into it. Geo-fencing is therefore less a security feature than a commercial one: it is the mechanism that turns a territory clause on paper into a refusal on screen, and the first thing a rights team checks in a platform demo.
Flicknexs keeps the mechanism simple on purpose. There is one switch that turns geo-fencing on for the platform, a choice between a block list and an allow list, and the same pair of lists available on each video, series and audio item for the titles whose license differs from your default. The viewer country comes from an IP geolocation lookup on the playback request. A blocked viewer sees a refusal instead of a stream. Nothing has to be configured in the delivery layer or in the apps, because the decision is made by the platform before a playback URL is issued.
Two external references shape how this works. Country codes follow the ISO 3166-1 standard, which is why the admin lists two-letter codes rather than free-text names and why a territory clause should be translated into those codes before setup. The accuracy of IP geolocation itself is a known limit, and the IETF RFC 8805 document on self-published IP geolocation feeds explains how networks publish where their address ranges sit and why mobile carrier ranges and VPN exits blur the picture. Read that document before you promise a licensor more than IP-based enforcement can honestly deliver.
What geo-fencing does in the Flicknexs platform
Every row below is in the platform code and switches on from the admin. The lookup itself is a per-request country check, not a per-app rule set.
Platform switch
A single on or off setting enables geo-fencing for the whole service in one place.
Block list
Enter the countries that must not play anything; every other country is allowed.
Allow list
Enter the only countries that may play; every other country is refused.
Per-title lists
Videos, series and audio items each carry their own block or allow countries on top.
Playback enforcement
The check runs when a viewer requests playback, before any stream URL is issued.
IP geolocation
The viewer country comes from a geolocation lookup on the request IP address.
Refusal message
A blocked viewer sees a plain refusal message in the player rather than a broken page.
Same rule everywhere
Web, Android, iOS, Android TV and Fire TV apps all receive the same platform decision.
Source: Flicknexs platform documentation and architecture specification, 2026-09-03.
How geo-fencing for video works, request by request
The whole feature is a decision made on the playback request. These six items describe what the admin exposes and what the viewer experiences.
One platform switch and one list style
In Settings, the geo-fencing section has an on-off switch and a choice between a block list and an allow list. A block list names the countries that are refused and lets everyone else through. An allow list names the only countries that may play and refuses everyone else. You pick one style for the platform; the same style then applies to the per-title lists so the logic stays readable for whoever maintains it after you.
Country entry uses standard two-letter codes
Countries are chosen from a list keyed on ISO 3166-1 two-letter codes. This matters when translating a contract: a clause that says the Nordic region needs to become the specific codes for each country, and a clause that names a territory that is not a country, such as a region within one, cannot be expressed and should be raised with the licensor before you sign rather than after.
Per-title lists sit on top of the platform list
Open any video, series or audio item and the same block or allow fields appear. A per-title list narrows what the platform already allows; it does not widen it. If the platform allow list is twelve countries and a film is licensed for three, the film gets a three-country allow list and plays only where both lists agree. Series-level rules cover every episode so you do not repeat the entry per episode.
The country comes from the request IP
When a viewer presses play, the platform sends the request IP address to a geolocation lookup service and receives a country code. That code is compared with the platform list and then with the per-title list. Nothing in the viewer profile, the billing address or the app store region is used, so a subscriber who moves abroad is treated as being where they are watching from, which is what most license clauses intend.
A refused viewer gets a message, not a stream
If either list refuses the country, the platform declines the playback request and the player shows a refusal message. No playback URL is issued and no segments are downloaded, so there is nothing cached on the device. The message text is under your control; a clear sentence naming the reason keeps the support desk from guessing whether the viewer hit a billing problem or a country rule.
Every app receives the same decision
Because the decision is made by the platform before a URL exists, the web player and the Android, iOS, Android TV and Fire TV apps behave the same way. There is no separate rule set per app, which is a limit described below, but it also means you cannot accidentally leave a television app open to a country you closed on web. One list, one decision, every screen.
How to set up geo-fencing in the Flicknexs admin
Five steps, starting from the contract rather than the admin, because the list style should follow the license language.
- 1
Translate each license into country codes
Before touching the admin, write down every territory clause in your contracts as ISO 3166-1 codes. Note which titles share your platform default and which are narrower. If a clause names a region that is not a country, ask the licensor which country codes they mean. This sheet becomes the source of truth for every later change.
- 2
Choose block or allow for the platform
Open Settings, then Geo-fencing. If your rights cover most of the world with a few exclusions, choose a block list and enter the exclusions. If your rights are a short schedule of named markets, choose an allow list and enter only those. Allow lists fail safe: a new country you forgot is refused rather than admitted.
- 3
Enter the platform list and switch geo-fencing on
Select the countries, save, then turn the switch on. Write the refusal message so it names the cause in plain language and points to a support address. Keep the message free of legal jargon; the viewer reading it is usually a paying subscriber traveling, not a pirate, and a kind sentence saves a chargeback.
- 4
Add per-title lists for narrower titles
Open each video, series or audio item whose license is tighter than the platform default and enter its own block or allow countries in the access section. Use series-level rules so episodes inherit them. Check your sheet from step one as you go and tick each title off; a missed title is the most common audit finding.
- 5
Test from inside and outside the territory
Play a test title from a normal connection in an allowed country and confirm it streams. Then route a test device through a blocked country and confirm the refusal message appears on web and in at least one device app. Repeat for one per-title restricted title. Record the results with dates; licensors sometimes ask for evidence.
Limits and tradeoffs of geo-fencing for video
These are the four points most vendor pages leave out. A licensor will raise them, so it is better that you raise them first.
A VPN or proxy can defeat an IP country check
The lookup uses the request IP. A viewer whose VPN exits in an allowed country will pass. Flicknexs does not block VPN ranges or detect proxies, and no country-level check can. Most territory clauses accept IP-based enforcement as commercially reasonable because the alternative, identity-based residency checks, is impractical; make sure your clause says so before you rely on it.
Geolocation accuracy is good at country level, not perfect
IP databases place addresses by country with high but not complete accuracy. Mobile carrier ranges, corporate networks that exit in another country and satellite links can be placed wrongly. Expect a small number of support tickets from legitimate viewers near borders or on unusual networks, and give support a way to verify and respond rather than a script that says nothing can be done.
Rules are per platform and per title, not per app
There is one decision for a country, applied to every app. You cannot allow a country on web while blocking it on Android TV, and you cannot set a rule for one store region. If a license limits a title to one device type, that is an access-rule or catalog-assignment question rather than a geo-fencing one, and it should be scoped separately.
Geo-fencing decides who starts playback, not what happens after
The check happens on the playback request. It does not encrypt the stream, prevent a screen recording or expire a link; those are the signed-URL and DRM layers covered on the DRM video protection page. Treat geo-fencing as the territory gate in front of the paywall, and pair it with the other layers when a contract asks for more than a country rule.
Blocking a country also blocks its paying subscribers
A subscriber who bought a plan at home and travels into a blocked country is refused like everyone else, because the platform only sees the request IP. Say so in your terms and in the refusal message. Some operators keep a small selection of titles licensed worldwide so travelers still find something to watch, which turns a complaint into a shrug.
A regional news channel working through its rights
A worked example for a regional news channel that streams its own bulletins worldwide and licensed sports highlights for one country.
The channel produces daily bulletins, weekly current-affairs programs and a live stream of its evening news. All of that is its own copyright and it wants the diaspora audience abroad, so the platform-wide geo-fencing stays generous: a block list with two countries where local law makes streaming news a liability. On the F3 plan the channel runs web, Android, iOS, Android TV and Fire TV apps, and the two-country block applies to all of them the moment the switch goes on.
Sports highlights are different. The channel buys a package of match clips licensed for its home country only, delivered as a series with new episodes each weekend. Instead of touching the platform list, the editor opens the series in the admin and enters a one-country allow list. Every episode inherits it. When the rights company asks for evidence, the channel sends screenshots of the series access section, plus a dated log of a test device routed through a neighboring country receiving the refusal message on web and on Android TV.
Two weeks after launch, support receives a ticket from a viewer on a corporate network who is inside the home country but is refused because the network exits abroad. Support checks the logged devices report on the video analytics page, confirms the account history, and explains the limit with a link to the terms; the viewer switches to a home connection and watches. The channel notes the case in its license file as an example of IP placement error, which the rights company already understands.
Pre-launch checklist for geo-fencing
Run these ten checks on the day before the catalog opens and keep the results with your license files.
- Every territory clause in every contract is written as ISO 3166-1 codes on one sheet that names the owner of that sheet.
- The platform list style, block or allow, matches the shape of your rights and is documented alongside the code sheet.
- The geo-fencing switch is on in production and the same setting has been checked again after the last deployment.
- Each title with a narrower license has a per-title list, and series-level rules are used so no episode is missed.
- The refusal message names the cause plainly and gives a support address, and it has been read by the support lead.
- A test device routed through a blocked country receives the refusal on web and in one television app, with dated screenshots.
- A test device in an allowed country plays a platform-default title and a per-title restricted title without a refusal.
- Support has a written answer for travelers, corporate networks and mobile carriers whose IP is placed in the wrong country.
- Your terms of service tell subscribers that playback depends on the country they are watching from, not their billing address.
- The signed-URL flag and the paywall rules for restricted titles are set, because geo-fencing alone does not expire a link.
How geo-fencing interacts with the device apps and monetization
The country rule sits in front of the paywall and behind none of the apps, which is exactly where a territory gate belongs.
Every device app receives the same decision because the platform makes it before a stream URL exists. The web player, the Android and iOS apps, and the Android TV and Fire TV apps show the same refusal message for a blocked country, and the add-on Roku, Samsung, LG and Apple TV apps inherit the rule the same way when they are built. There is no per-app rule set, so the app pages on this site do not list separate geo settings; what they list is which apps each plan includes. The DRM video protection page explains the layers that sit next to the country check, and the video CDN page shows what the delivery layer does after the platform has said yes.
On the revenue side, geo-fencing shapes what you can sell where. A pay-per-view title licensed for one country should carry both a per-title country list and a price on the video paywall page, because a purchase from an allowed country that later plays from a blocked one will be refused at playback and end in a support ticket. Subscriptions sold through the payment gateways page are not country-aware on their own; the country check happens at playback, not at checkout, so keep the plan description honest about where the catalog can be watched.
Advertising follows the same logic. If you run ad-supported titles with server-side ad insertion on linear channels, the ad decision happens after the country gate, so blocked viewers generate no impressions and allowed viewers can be targeted by the same country the platform already resolved. That keeps impression reports clean for an advertiser who bought a single market, which is the kind of detail a media buyer checks before renewing.
Which plan includes geo-fencing
Standard layers
Geo-fencing is part of every plan. The platform switch, the block and allow lists, the per-title lists on videos, series and audio, the IP geolocation lookup and the refusal message are all in the platform code and available from day one. There is no add-on and no per-country fee. F1 Standard is the web-only plan, with 300 GB of storage and 20 TB of bandwidth yearly; see our pricing page for current plan and pricing details.
Pricing & billing
F1 Standard includes 300 GB of storage and 20 TB of bandwidth yearly for website streaming; see our pricing page for current plan and pricing details. F2 Super includes 300 GB of storage and 20 TB of bandwidth yearly, and adds native Android and iOS mobile apps; see our pricing page for current plan and pricing details. F3 Premium includes 1 TB of storage and 10 TB of bandwidth monthly, and adds Android TV and Fire TV apps; see our pricing page for current plan and pricing details. F4 Enterprise includes 2 TB of storage and 20 TB of bandwidth monthly and adds dedicated support to everything in F3; Samsung, LG, Roku and Apple TV apps are add-ons on any plan. See our pricing page for current plan and pricing details.
Annual savings
TV apps are available as add-ons on any plan, allowing you to expand your reach to more devices; see our pricing page for current plan and pricing details. Plans are flat fees and Flicknexs takes no commission on your revenue; payment-gateway fees are between you and your gateway. See our pricing page for current plan and pricing details. The country rule applies to every app in every plan, including the add-on television apps, without any separate configuration.
Conclusion: what to do next
Already on Flicknexs
If you already run on Flicknexs, open Settings and confirm the geo-fencing switch is on in production, then compare the platform list with your license sheet. Next, open each title with a narrower license and check its per-title list. Finally, test one blocked country from a real device and file the screenshots with the contract. Most operators find one missed title on the first pass, which is why the pass is worth doing.
Choosing a platform
If you are choosing a platform, ask how country enforcement is applied: at playback by the platform, at the delivery layer by configuration, or in each app separately. Ask whether per-title rules exist and whether series-level rules cover episodes. Ask what a blocked viewer sees. The answers tell you how much manual work each new license will create for your team, which matters more than the feature name on a comparison grid.
Before a rights call
Read the companion pages before a rights negotiation. The DRM video protection page explains what happens after a viewer is allowed to start, including signed URLs, the watermark and encryption on request. The video paywall page shows how per-title prices and rental windows combine with country lists. The video CDN page covers the delivery layer. Together they let you answer a licensor in one reply.
Frequently Asked Questions
Everything you need to know about geo-fencing on Flicknexs.
Yes. The platform switch, block and allow lists, per-title lists on videos, series and audio, the IP geolocation lookup and the refusal message are in the platform code on every plan, from the web-only Professional plan through F4 Enterprise. There is no add-on fee and no per-country charge, according to our pricing page.
On each playback request, the platform sends the request IP address to a geolocation lookup service and receives a country code. That code is checked against the platform list and then against any per-title list. The viewer profile, billing address and app store region are not used, so the decision reflects where the viewer is watching from.
Yes. Every video, series and audio item has its own block or allow country fields in the admin. A per-title list narrows the platform list; it never widens it. Series-level rules apply to every episode, so a licensed sports package or a regional film can be restricted without changing your platform default.
The playback request is refused before any stream URL is issued and the player shows the refusal message you wrote in the admin. No segments are downloaded. The same message appears on web and in every device app, so support receives one consistent description rather than a different symptom per platform.
No. The check uses the request IP, so a VPN exiting in an allowed country passes. Flicknexs does not detect proxies or block VPN ranges, and no country-level check can. Most license clauses accept IP-based enforcement as commercially reasonable; confirm that your clause does before relying on it.
No. Rules are per platform and per title, applied identically to web, Android, iOS, Android TV, Fire TV and the add-on television apps. There is no per-app or per-store rule set. If a license limits a title to a device type, handle that through catalog assignment rather than geo-fencing.
Use an allow list when your rights are a short schedule of named markets, because a forgotten country is refused rather than admitted. Use a block list when you hold worldwide rights with a few exclusions. Choose one style for the platform and keep the per-title lists consistent so the logic stays readable.
They are refused at playback like any other viewer in that country, because the platform sees only the request IP. Say this in your terms and in the refusal message. Some operators keep a set of worldwide-licensed titles available so travelers still have something to watch during the trip.
Country-level IP geolocation is accurate for the large majority of connections but not all. Mobile carrier ranges, corporate networks that exit abroad and satellite links can be placed in the wrong country. Give your support team a short procedure for those cases instead of a script that says nothing can be done.
The platform list applies to every playback request, including live streams. Per-title lists are available on videos, series and audio items, so a licensed audio catalog or a regional podcast can carry its own countries. Check a live event from a blocked country during rehearsal, exactly as you would a video.
No. Geo-fencing decides whether a viewer in a given country may start playback. DRM encrypts the stream so it cannot be decrypted outside a licensed player, and on Flicknexs it is arranged through the delivery layer on request as part of an enterprise plan. Many contracts need only the country rule; some need both.
Take dated screenshots of the platform and per-title settings and of the refusal message on a device routed through a blocked country, and keep the logged devices report from analytics for any disputed account. Licensors generally accept this evidence together with your terms of service describing IP-based enforcement.