Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsPC HealthRecommendedCrashes, freezes, slowdowns? Check your PC nowSpot repairable issues before they interrupt work.Check PC×
FREEDOM251

Freedom251 › Blog › API migration

How to Migrate from Google Perspective API Before Its 2026 Sunset

By Freedom251 Team · · 12 min read

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Start now, even though Perspective API remains available until December 31, 2026. Google and Jigsaw have stopped accepting new usage and quota requests after February 2026 and say, “We will not be offering direct migration support.” A safe replacement is not a blind endpoint swap: preserve your application’s moderation contract behind an adapter, rebuild thresholds against human labels, run the new service in shadow mode, and canary traffic with a tested rollback. A self-hosted, Perspective-compatible endpoint minimizes code changes; a broader policy API is better when you need image moderation, custom rules, PII, or spam detection.

Why should you migrate from Perspective API before December 31, 2026?

The official Perspective API/Jigsaw sunset announcement says, “The service will remain active until December 31, 2026.” It also says, “We will not be offering direct migration support.” Existing clients therefore have a fixed period to operate and test, but no vendor-led transition plan to rely on.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

New usage and quota requests were handled only until February 2026. That matters if your product is adding traffic, languages, or new production clients: an existing integration may continue to work while expansion becomes difficult or impossible. Treat the remaining service life as a migration window, not as a reason to wait until the final weeks.

  • Keep Perspective available as a reference: use it to capture current decisions while the replacement is evaluated.
  • Freeze a contract: document every request field, response field, attribute, language code, threshold, timeout, retry, and downstream action.
  • Revalidate policy: scores from another provider are not numerically interchangeable with Perspective scores.
  • Plan a controlled cutover: shadow traffic first, then canary a small percentage with an immediate rollback path.

What exactly must be preserved when replacing Perspective?

Perspective is a machine-learning API that scores the perceived impact of comments. Its developer documentation describes the AnalyzeComment and SuggestCommentScore methods, attributes, and language handling. Your application usually depends on more than the HTTP request: it depends on how scores become moderation actions.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

Inventory the wire contract

For each client, endpoint, and production version, capture representative requests and responses. Record field names and data types, whether fields are optional, and how your code behaves when an attribute is absent. Include the exact attributes used in production, especially toxicity-related scores, rather than only the attributes mentioned in an old integration guide.

Inventory language behavior

List every language code sent by your product, the languages users actually submit, and the fallback behavior when a language is unsupported or omitted. A replacement may accept different codes, auto-detect language, or return a score with a different confidence profile. Keep language normalization in the adapter so application code does not acquire provider-specific branches.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Inventory decisions and operational assumptions

Write down the score ranges and the actions they trigger: publish immediately, hold for review, reject, queue for escalation, or apply a user penalty. Also capture rate limits, timeout values, retry rules, idempotency assumptions, audit-log fields, and retention settings. These operational details are part of the moderation contract because changing them can alter user-visible outcomes even when model scores look similar.

Which replacement approach is right for your product?

There is no universal drop-in replacement. Two practical paths solve different problems: a self-hosted endpoint that aims for Perspective-compatible requests and responses, or a managed API with a broader policy model.

Path A: a self-hosted, Perspective-compatible endpoint

ExtraLenses says it can run with Docker Compose, provide sentence-level tagging, and accept a Perspective-compatible request and response format. Its documentation says existing integrations can work by changing the base URL and lists Artalk support. The vendor describes this as “Migration is a config edit, not a project.” Those are vendor claims, so verify them with your own payloads, languages, and load profile.

ExtraLenses lists $500 per year per site (ExtraLenses, 2026) and says comment text stays on the operator’s infrastructure. The price and data-location statements require procurement verification, including what counts as a site, whether support or updates are included, and what happens when a subscription ends.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Best fit: publishers, forums, and communities that require data sovereignty, predictable annual pricing, or minimal application changes.
  • Questions to verify: model quality for your languages, supported attributes, throughput, upgrade process, observability, security updates, backup requirements, and commercial SLA.
  • Operational trade-off: you own deployment, capacity, patching, incident response, and monitoring instead of outsourcing those tasks to a managed provider.

Path B: a broader policy-driven moderation API

Paxmod’s comparison describes text and image moderation, custom policies, PII and spam detection, and production traffic support. It lists $0.25 per 1,000 messages (Paxmod, 2026). The comparison characterizes Perspective as free, text-only, and limited to fixed toxicity attributes. Treat both the capability descriptions and the price as vendor-provided information to validate for your region, volume, and contract.

Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter | USB C Dongle with 90W Max Power Delivery, 3×5Gbps USB A Data Ports, for MacBook, Dell, and More (Charger Not Included)
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
  • Best fit: products that moderate images as well as text, need custom policy rules, or want PII and spam checks in one layer.
  • Questions to verify: category definitions, image-size and format limits, regional processing, retention, latency objectives, rate limits, exportability, and whether every moderation action in your workflow can be represented.
  • Operational trade-off: a managed service can reduce infrastructure work, but you must evaluate data handling, service-level commitments, outages, and usage-based cost growth.
Decision axis Self-hosted compatible path Broader policy API
Wire compatibility May preserve much of the current request and response shape; confirm every field and attribute. Usually requires an adapter that maps a new schema into your internal interface.
Control and data location Runs on infrastructure you control, subject to your security and patching practices. Provider-managed processing; confirm region, retention, and deletion terms.
Policy breadth Typically centered on comment scoring and compatible attributes. May add custom rules, PII, spam, and image moderation; verify exact definitions.
Calibration effort Still requires threshold testing unless the model and calibration are demonstrably equivalent. Requires new category mapping and policy calibration.
Cost and operations ExtraLenses lists $500/year per site for 2026; hosting, upgrades, and monitoring remain your responsibility. Paxmod lists $0.25/1,000 messages for 2026; verify volume tiers, minimums, and other billable inputs.

How do you build a provider-neutral moderation interface?

Keep product code independent of any provider. A single internal interface lets you test two services simultaneously and switch providers without rewriting comment workflows.

Define normalized request and response objects

Include the original text, a normalized language code, content type, tenant or site identifier, and a stable request ID. Return provider-independent scores or labels, the provider name and model version, processing time, and an explicit state for unsupported or unavailable attributes.

ModerationResult {
  request_id: string,
  action: "publish" | "hold" | "reject" | "review" | "unknown",
  attributes: {
    toxicity: number | null,
    severe_toxicity: number | null,
    spam: number | null,
    pii: number | null
  },
  language: string | null,
  provider: string,
  model_version: string | null,
  errors: [{ code: string, retryable: boolean }]
}

The null values are intentional. Do not convert an unsupported attribute to zero: zero means “measured as low,” while null means “not supplied.” That distinction prevents a replacement from silently allowing content because it lacks a category.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Map actions, not just scores

One provider may return several toxicity attributes while another returns one policy label. Map those outputs to your own actions, preserving the reason and evidence needed by moderators. If an attribute cannot be mapped safely, route the item to review or an explicit fallback policy rather than guessing.

Version the contract

Store the adapter version, provider model version, language, scores, and final action with each moderation event. This makes a later model upgrade distinguishable from a code change and lets you replay historical comments when thresholds move.

What is the safest step-by-step migration runbook?

  1. Freeze the current contract. Capture real requests and responses from AnalyzeComment and any use of SuggestCommentScore. Include attributes, language codes, thresholds, actions, timeout and retry behavior, and audit fields. Save redacted fixtures that can run in automated contract tests.
  2. Create the provider adapter. Make application code call one internal moderation interface. Implement a Perspective adapter and a replacement adapter behind it. Map fields explicitly and preserve an unknown state for attributes the replacement does not support.
  3. Build a representative evaluation set. Sample historical comments across supported languages, borderline scores, clearly abusive content, reclaimed slurs, sarcasm, code or markup, and benign disagreement. Remove unnecessary personal data. Have trained moderators label the expected action, not merely whether text is offensive.
  4. Shadow the replacement. Send the same sampled or live traffic to both services without changing user-visible decisions. Record score distributions, disagreements, latency, errors, timeout rates, and cost. For live shadowing, restrict access to replacement results so they cannot accidentally trigger enforcement.
  5. Recalibrate policy. Compare each provider’s output with moderator labels. Select thresholds for your desired false-positive and false-negative trade-off. Never copy Perspective thresholds numerically: score semantics and calibration can differ by provider, language, and model version.
  6. Canary and cut over. Route a small, identified percentage of traffic to the replacement. Monitor moderator overrides, user appeals, language-specific errors, latency, and queue volume. Increase traffic in stages only after each stage meets your predeclared limits, and keep a tested rollback switch.
  7. Retire dependencies. After the replacement is stable, remove the old API key and endpoint from active configuration. Update dashboards, logs, incident playbooks, data-retention settings, access reviews, and runbooks before disabling the old integration.

How should you recalibrate toxicity thresholds?

Thresholds are policy controls, not universal facts. A score of 0.8 from one service does not imply the same probability or severity as 0.8 from another. Recalibrate each action boundary against labeled examples and the harm your product is trying to prevent.

Label the action you actually want

Ask moderators to choose the operational outcome—publish, hold, reject, or escalate—and record a reason category. Include disagreement resolution for ambiguous cases. Separate “offensive but allowed,” “targeted abuse,” threats, spam, and privacy exposure if your policy treats them differently.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

Measure the trade-off at candidate thresholds

For each candidate boundary, count false positives (allowed content held or rejected) and false negatives (content that should have been stopped but passed). Review results by language, community, account type, and content format. A single aggregate threshold can conceal severe differences for smaller language groups.

Handle missing or uncertain outputs conservatively

If the replacement lacks a required attribute, returns an unsupported language, or times out, use a documented fallback. Depending on risk, that may be a review queue, temporary hold, or limited publication with post-publication detection. Make the choice explicit and observable; do not silently treat an error as a clean score.

What should a shadow-mode comparison measure?

Shadow mode is useful only when both services receive equivalent inputs and the results are retained long enough to investigate disagreements. Compare more than average scores.

Measure What to inspect Why it matters
Decision agreement Whether both services lead to the same publish, hold, reject, or review action under their current policies. Shows workflow impact, not just numerical similarity.
Borderline cases Comments near each proposed threshold and cases with large score differences. These drive moderator workload and user complaints.
Language slices Scores, errors, and action rates for every production language and fallback path. Overall averages can hide unsupported or poorly calibrated languages.
Latency and reliability Percentiles, timeouts, retries, rate-limit responses, and provider errors. Moderation that is accurate but too slow can block posting or create duplicate actions.
Human outcomes Moderator labels, overrides, appeals, and confirmed policy violations. Human outcomes are the reference for threshold selection.
Cost Requests, message units, image units if applicable, retries, and infrastructure spend. Reveals the cost of shadow traffic and expected production volume.

Keep a disagreement queue containing the original redacted text, both outputs, policy versions, and the eventual moderator decision. Access should be limited because moderation logs can contain sensitive or abusive material.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do language, attributes, and content types affect the cutover?

Perspective clients often assume a fixed set of toxicity attributes and documented language behavior. A replacement may have different coverage, different category names, or no equivalent for a specific attribute.

  • Language codes: normalize casing and separators in one place, then map to the provider’s accepted codes. Test unsupported-language responses rather than assuming automatic fallback.
  • Attributes: maintain a field-by-field mapping. Mark attributes as unsupported when no defensible equivalent exists.
  • Text boundaries: test sentence-level versus whole-comment scoring, markup, emojis, quoted text, and very long comments. Do not assume identical tokenization.
  • Images and attachments: a text-only integration needs a separate policy when users can attach media. A broader API may cover images, but verify limits, formats, and review actions before enabling it.
  • PII and spam: these categories require policy definitions and escalation paths; a toxicity score alone is not a substitute.

What security and operations checks should happen before production?

Moderation sends user-generated content outside the application boundary unless the service is self-hosted. Document what is transmitted, where it is processed, how long it is retained, who can access logs, and how deletion requests propagate. For a self-hosted deployment, apply the same discipline to your own storage, backups, and observability systems.

  • Use separate credentials and quotas for development, shadow, canary, and production.
  • Redact or hash identifiers in evaluation exports while retaining a join key for authorized investigations.
  • Set explicit connect, read, and total request timeouts; make retries bounded and idempotent.
  • Alert on provider errors, queue growth, language-specific failure rates, and sudden action-rate changes.
  • Record model and adapter versions so an output can be reproduced or explained.
  • Test rate-limit behavior and back-pressure before a traffic spike turns into a posting outage.

How should canary release and rollback work?

Start with a small cohort that can be monitored closely, such as one site, language, or percentage of requests. Keep the old provider available during the canary and make the routing decision reversible without redeploying application code.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray | Data transfer & Fast charging for MacBook, iPhone 17/16/15, iPad, Samsung Galaxy, Apple Watch
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

Define stop conditions before launch: a rise in moderator overturns, a surge in user appeals, unacceptable latency, a provider error rate, or an unexpected action rate in a language slice. When a stop condition is reached, route new traffic back to the old service, preserve both providers’ logs, and quarantine any queued actions for review. Do not delete shadow results; they are needed to diagnose whether the failure came from mapping, thresholds, data handling, or provider availability.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What commonly goes wrong during a Perspective migration?

Changing only the base URL

A compatible endpoint may accept familiar fields, but compatibility claims do not prove equivalent attributes, language behavior, score calibration, or operational limits. Run contract tests and shadow comparisons before relying on a URL-only change.

Copying old thresholds

Numeric thresholds belong to a model and policy context. Refit them against moderator labels and inspect language-specific error rates.

Dropping unsupported attributes silently

If your policy depends on an attribute the replacement lacks, silently substituting zero or omitting the check creates an enforcement gap. Return an explicit unknown state and route it according to risk.

Testing only clean examples

Benign comments rarely reveal migration problems. Include borderline content, reclaimed language, sarcasm, multilingual text, formatting, and adversarial attempts to evade detection.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Cutting over without operational parity

Matching scores is not enough if dashboards, alerts, audit logs, retries, retention, and incident procedures still refer to Perspective. Update those dependencies before decommissioning the old key.

How much will the replacement cost?

The available figures are vendor-listed 2026 prices, not independent estimates. ExtraLenses lists $500 per year per site, while Paxmod lists $0.25 per 1,000 messages. Confirm whether billing includes retries, shadow traffic, images, multiple environments, support, hosting, updates, or minimum commitments.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

For a self-hosted option, budget separately for compute, storage, backups, monitoring, upgrades, security work, and staff time. For a usage-priced service, model normal traffic, peak traffic, retries, and the temporary duplication caused by shadow testing. Use your own message counts rather than extrapolating from a vendor example.

What is the practical migration decision?

Choose a self-hosted compatible path when keeping comment text under your control and minimizing application changes are the primary goals, and you can operate the service securely. Choose a broader policy API when image moderation, custom rules, PII, or spam detection justify a new schema and managed-service dependency. In either case, the engineering work that protects your users is the same: freeze the contract, adapt providers behind one interface, recalibrate with human labels, shadow real traffic, and canary with rollback before December 31, 2026.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Frequently Asked Questions

Can I keep Perspective and the replacement running at the same time?

Yes. Run the replacement in shadow mode while Perspective continues to make user-visible decisions, then retain both outputs for disagreement review. Keep the parallel period long enough to cover normal language and traffic variation, not just a short smoke test.

What should happen when the new moderation service times out?

Use a documented risk-based fallback, such as a review queue or temporary hold for high-risk actions, rather than treating a timeout as a safe score. The fallback should have its own metrics and alerting so repeated failures cannot remain hidden.

How can I prove that a model upgrade did not change moderation outcomes?

Pin the provider model version when possible and replay a fixed, redacted evaluation set before enabling an upgrade. Compare action rates and moderator-labeled errors by language and category, then repeat a short shadow period after deployment.

Do I need to migrate stored Perspective scores?

Keep historical scores for audit and trend interpretation, but label them with the Perspective model and policy versions. Do not mix them directly with replacement scores in a single threshold report; create a separate baseline or re-score selected historical content if policy analysis requires it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

API migrationcontent moderationDeveloper GuideGoogle Perspective APItoxicity detectionTrust and safety

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.