Azure Content Moderator PII, video and human-review migration map

Last updated:

There is no single endpoint that replaces every Azure Content Moderator feature: text compatibility, PII detection, video analysis and human review require separate migration decisions. Keep supported text-screening fields with the compatibility Actor, or move to Content Safety's different semantics, while routing broader PII to Azure Language and rebuilding video and review workflows.

Verified on October 4, 2026 against the linked Microsoft documentation and the Actor's current request parser, PII patterns, handler, README and pricing configuration.

Microsoft's Content Moderator documentation gives March 15, 2027, while its lifecycle table gives April 1, 2027. Plan for the earlier date and confirm your subscription's notice; the main migration guide explains the request and taxonomy changes.

Route each feature explicitly

Here, “direct” means the supported HTTP route and field shape can remain; it does not mean identical detection results. Microsoft's migration map establishes the separate-service routes below.

Existing featureRoute to evaluateMigration classCompatibility Actor boundary
Text ProcessText/ScreenKeep the text Actor, or adopt Content Safety text analysisDirect supported contract with Actor; different semantics on Content SafetyRaw text body and old field names; independent models and lists
PII detectionAzure AI Language PII detection for a broader entity workflowDifferent service and response semanticsLimited pattern-based Email, IPA, Phone, Address, SSN fields
Custom term listsContent Safety blocklistsDifferent management and matching semanticslistId does not load your custom lists
Image classificationContent Safety image analysisDifferent categories and responseNo image endpoint
Image OCR / facesAzure AI Vision / Azure AI Face respectivelySeparate servicesNeither supported
Video moderationExtract frames, analyze images, and screen an audio transcriptNo direct video replacementNo video endpoint
Review API / human-review toolEvaluate Content Safety Studio and your review applicationNo direct legacy API replacement establishedNo reviewer queue, callbacks or review storage

PII: preserve fields or adopt a separate entity service

The text Actor only includes PII when requested with PII=True. Its patterns cover email, IPv4/IPv6, US/UK phones, valid-format US SSNs and US street addresses with state/ZIP. They do not constitute a universal entity detector: names, passports, arbitrary national identifiers and worldwide phone/address formats are outside this contract.

bash
curl --fail-with-body -X POST "https://dropin-apis--content-moderator-compat.apify.actor/contentmoderator/moderate/v1.0/ProcessText/Screen?language=eng&PII=True&classify=True" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: text/plain" \
  --data-binary 'Please reply to support@example.com.'

The body limit is 1,024 JavaScript string code units; the parser uses text.length, so a supplementary character such as an emoji consumes two. Supported content types are text/plain, text/html, text/xml and text/markdown. Apify authenticates the Bearer token; an old Ocp-Apim-Subscription-Key header is ignored.

Azure Language's PII feature provides entity recognition and redaction capabilities. For migration, map its results to your application deliberately: validate entity categories, language coverage, offsets and redacted output on your own samples. An empty match list from either service is evidence about that detector's coverage, not proof a document contains no personal information.

Video: build and verify a pipeline

Microsoft recommends sampling frames for image analysis and analyzing an audio transcription separately. Its guide does not offer a direct replacement for the old video API. Microsoft video migration guidance

A practical migration needs to retain the source time for each frame and transcript segment, combine those results under your own policy, and route uncertain segments for review. Test a short harmful scene between sampled frames and a harmful audio passage without an accompanying image: coarse frame sampling can miss either case.

The public-media URL transcription guide can supply segment-timed text from a direct media file. Transcription itself is not video moderation, and the text compatibility Actor does not extract frames or combine decisions.

Human review: a flag is not a review system

Microsoft maps the old Review API to Content Safety Studio as web-based monitoring. Its Studio overview describes testing, moderation workflows and monitoring; that does not establish drop-in support for your old review IDs, reviewer assignments or callbacks.

Inventory those dependencies before switching. Demonstrate how an item enters a queue, who can decide, how a callback or polling client learns the outcome, and how you retain the decision history. Validate these behaviors in the chosen system rather than treating a dashboard as evidence of API compatibility.

The text Actor's Classification.ReviewRecommended is just a boolean: for English classification it becomes true when any approximate Category1/2/3 score reaches 0.5. Category2 is a proxy, max(Category1, 0.3 × obscene), and misses flirty but otherwise clean text. Non-English classification is omitted. The Actor never assigns a reviewer or persists a review decision.

Custom policies and validation

listId requests continue with the built-in list; a nonzero custom ID gets an X-Compat-Warning header. Custom lists are not migrated. autocorrect=True returns AutoCorrectedText equal to normalized text, with no spelling correction. Check those headers and behaviors before relying on old policy settings.

Run known positive and negative samples for every retained feature. Separate detector quality from workflow quality: a correct PII match does not prove redaction happened, and a recommended review does not prove a reviewer received the item. DoneLatch evidence checks can record your tests after an agent's final edit.

For supported text screening, the price is $0.001 per text-screened event ($1 per 1,000) plus Apify's run-start charge. Validation failures have no text event. At the configured spending cap, the handler returns 429 with Error.Code: TooManyRequests.

Try the text-compatible Content Moderator Actor when your requirement is the bounded text contract above.

FAQ

Is Azure AI Content Safety a PII replacement?

Its text harm-analysis endpoint does not replace PII detection. Microsoft routes PII to Azure AI Language. The compatibility Actor keeps limited pattern-based PII fields for supported text requests.

Can I send a video to the compatibility Actor?

No. It only screens text. Microsoft's migration route requires a separate frame/image and audio/transcript pipeline, with your own time mapping and policy decisions.

Does ReviewRecommended create a human-review task?

No. It is a classification flag. A review queue, reviewer permissions, notifications, decisions and history require a separate workflow.

Will my Azure custom term list still run?

No. The Actor uses its built-in list, and a nonzero listId returns a compatibility-warning header. Export and migrate your list into the replacement system separately.