Confusables logo

Questions about Confusables

How Confusables works, where it can help, and where it may get things wrong. The figures below include the build and settings used for each measurement.

InYour right, its been a long day, and your patience is gone.
OutYou're right, it's been a long day, and your patience is gone.

detected: a suggested replacement left alone: the same word, used correctly

Scope of the check

What it is

1

What is Confusables?

Confusables checks for English words that may have been used in place of another word, such as its for it's, your for you're or then for than. It offers word-level suggestions for review and leaves the rest of the text as written. A suggestion can be wrong.

2

Why is a separate tool needed?

These mistakes can pass ordinary dictionary-based spell checks because the words themselves are spelled correctly. Context is needed to tell whether the author meant then or than, for example.

They can be easy to overlook when writing a comment, a support reply or a listing. Confusables offers a check for a small set of these word confusions before publication.

The aim is to give the author a chance to review a possible mistake while keeping control of their wording.

3

Where does it belong in a product?

It can be part of the check a platform runs when someone submits a post, comment, review or support reply.

For comments and social posts, we recommend showing suggestions before publication. /v1/check returns each suggestion with its position, confidence and rule. The platform can present it to the author, who decides whether to edit. Detection alone does not change the draft.

The homepage demonstrates this workflow without publishing anything. When the author presses Post, the draft is checked as written. If no words are flagged, the demo proceeds unchanged; this does not mean the text is free of mistakes. If words are flagged, a review opens. Edit post returns to the original draft for manual changes. Post as written proceeds with the exact reviewed text. Closing the review or pressing Escape cancels the attempt and keeps the draft. An edited draft is checked again on the next Post.

Review gives the author a way to decline an unsuitable suggestion. It does not change the engine's accuracy or how often it makes a wrong suggestion.

The same API can be used for other short writing, with the review presented in the application's own interface.

The optional /v1/autocorrect endpoint returns a copy of the text with suggestions applied. Whether to use that response depends on the integration and the consequences of an incorrect replacement. For social posts and comments, we recommend author review.

4

Which words does it handle?

Ten rule sets cover the word pairs below and the could of family. Nine are enabled by default; affect/effect is optional and marked below.

The demo on the home page runs all ten, including affect/effect. “OPT-IN” describes a fresh self-hosted deployment before that rule is enabled.

  • its / it's
  • your / you're
  • there / their / they're
  • then / than
  • who's / whose
  • lets / let's
  • lose / loose
  • accept / except
  • affect / effect OPT-IN
  • could of → could have

The final rule covers could, should, would, must, might, may, can, will and shall before of, when a following past participle supports have. Noun phrases such as the will of the people stay unchanged.

5

Is it a spell checker?

It is a separate check for words that are spelled correctly but may not fit the sentence. An ordinary dictionary lookup cannot distinguish these uses; Confusables uses rules based on the surrounding words.

6

Is it a grammar checker?

It is limited to ten specific word confusions. It does not offer broader grammar advice, style changes, sentence rewrites or comments on tone and passive voice.

7

Is it AI? Is there a language model in it?

Confusables uses deterministic rules and word lists, without a language model, model training or GPU inference. With the same engine version and configuration, the same text produces the same detections.

Each detection includes a reason naming the rule that produced it. This makes the result easier to inspect and reproduce, although it does not guarantee that the suggestion is right.

Your writing and suggestions

8

Will it change my writing, my style or my voice?

The checker offers word-level suggestions rather than rewriting sentences, rearranging clauses or changing tone. In the homepage demo, your draft stays unchanged unless you edit it yourself. The optional autocorrect API returns a separate copy with replacements applied.

9

What exactly is preserved?

Spacing, line breaks, punctuation, paragraph structure and emoji outside suggested word replacements are preserved. The homepage keeps your original draft. The API's suggested-text preview changes only the words selected for replacement.

10

What happens to capitalization?

A suggestion inherits the case of the word it detects, so a sentence keeps its shape.

Its → It'sstarting a sentence
its → it'smid-sentence
ITS → IT'Sin uppercase
11

If my sentence has other mistakes, will it fix those too?

It checks only the supported word confusions. For example, Its a great day isnt it? receives the suggestion It's a great day isnt it?, while the missing apostrophe in isn't remains. The accuracy section describes the limits of the available evidence, including unattended use.

12

Does it prefer American or British English?

It does not convert British spellings to American spellings or the reverse. For example, both colour and color are left as written.

13

Which parts of my text does it leave alone?

Several regions are protected from detection. Their words are hidden from surrounding detection decisions, except mixed-case identifiers, which remain readable as context:

  • Identifiers: obj.lets, lets(x), snake_case, camelCase
  • URLs, bare domains and email addresses
  • @handles and #hashtags
  • Recognized quoted text, straight or curly; ambiguous apostrophes can limit detection
  • Text discussing the words themselves: “your and you're”, “its vs it's”
  • Code: fenced blocks, inline backticks, <code> and <pre>
14

Why are quotations skipped? They can contain mistakes too.

Recognized quotations are protected because detecting inside them can misrepresent what somebody said. For example, she said 'lets go' stays unchanged. Detection is imperfect: a plural possessive apostrophe inside a single-quoted passage can be mistaken for its closing quote, leaving later words unprotected.

Accuracy and evidence

15

How accurate is it, and how do you know?

Preserving correct text is the goal, not a guarantee. A detection can still be wrong, and results depend on the kind of writing. The counts below were measured locally on October 7, 2026 on build 83a1e874 (the build reported by the API at that time), at threshold 0.95 with all ten rules enabled, in an isolated copy of that source. They are regression measurements on development corpora, not a fresh accuracy evaluation. Earlier measurements on build 763c592, verified September 25, 2026 and made before the ten-rule scope, are kept below as history.

Regression suite2,282 sentences across 32 corpus files, 1,450 of them expecting unchanged output
Automated tests per build4,161 in total: 893 core tests, 3,043 API unit tests and 225 API integration tests
Technical documentation swept86 detections in 115,834 sentences · 0.074%
Published fiction swept82 detections in 42,129 sentences · 0.195%
Introduced it's/its errors restored, swept2,499 restored of 3,483 · 71.7%
Introduced it's/its errors restored, Evaluation #1 corpus reused601 restored of 801 · 75.0%

Earlier build 763c592, verified September 25, 2026: 2,115 sentences across 32 corpus files, 1,285 expecting unchanged output; 4,018 tests (988 core, 2,808 API unit, 222 API integration); 89 detections in 115,834 technical sentences (0.077%). The fiction sweep and both introduced-error results were unchanged between the two builds. The retirement of two rule sets changed 72 corpus expectations between the builds, so the two sets of counts are not a quality trend.

A detection rate is not precision. These counts include both useful detections and wrong ones. The two sweep corpora have informed development, so they are not an independent accuracy test.

The introduced-error test changes possessive its to it's and checks whether the entire original sentence is restored. It measures synthetic errors in one direction, not recall across all supported rules or naturally occurring mistakes.

Evaluation on informal comments

Evaluation #3, completed September 11, 2026, used 50,000 previously unseen sentences from parenting and academia Stack Exchange comments at threshold 0.95. Confusables detected an error in 273 of 50,000 sentences, or 0.546%. In a manually reviewed sample of 100 detections, 60 were judged correct and 40 damaging: observed precision was 60.0%, with a 95% interval of about 50% to 70%.

A later local rerun on September 28, 2026, using earlier build 5135a5b, changed 245 of the same 50,000 sentences. In 100 changes drawn at random and reviewed in-house, 67 were judged correct, 31 damaging and two unclear. This reused development sample is the dated result shown on the homepage; it is not a new independent evaluation or a measurement of the current ten-rule engine. That build predates the retirement of two rule sets; the current supported scope is ten.

A September 19, 2026 pilot on an earlier build using 1,000 unseen comments from cooking, travel and gardening communities detected errors in seven sentences: four useful detections and three damaging detections. The 57% observed precision has a wide 95% interval of about 25% to 84%. These two evaluations describe earlier builds, not the latest production version. The developer also judged the pilot detections, so this is a preliminary check, not independent annotation or a general social-media accuracy estimate.

Evaluation #3's separate 1,200-sentence probe contained eight natural errors within the supported word pairs. Confusables repaired 3 of 8. That sample is too small for a reliable general recall estimate.

In Evaluation #3 (September 11), two detections in five were judged damaging; that is not a measured current risk. For social comments and posts, we recommend showing suggestions for review before publication so the author can decline them. Results on one sample do not guarantee accuracy on your text.

The test suite guards known detections and preservation cases; it cannot guarantee the absence of regressions. Rows expecting unchanged output make up 1,450 of 2,282 corpus rows, about 64%; they include valid-text controls and are not a count of grammatically correct sentences. Checkstyle and SpotBugs run on both Java modules, alongside regression, privacy and bounded-cost tests.

Evaluation methods, source details and limitations are available by request.

16

Why optimize for precision instead of catching more?

An incorrect suggestion can interfere with wording the author intended. We therefore give priority to preserving valid text, even when that means missing an error. Missed errors still matter; this priority is not a guarantee that every valid phrase will be left alone.

17

What does it do when the evidence is ambiguous?

The engine tries to leave ambiguous wording unchanged. Its rules recognize many such cases, but they cannot identify every valid reading. Some ambiguous phrases can still receive a wrong suggestion, so the author needs a chance to review them.

18

Can you show an example that stays unchanged?

their familyso is “they're family”
your losing patiencea possessive gerund
Their there, they're happyno suggestions for these uses

These examples receive no suggestions. They illustrate cases where the rules leave the wording unchanged; other ambiguous sentences may still be flagged incorrectly.

19

What does it miss?

Recognizing when it's should be possessive its is one area with incomplete coverage. The rules use grammatical cues and vocabulary lists, and a list of nouns cannot cover every possible use. Measured on October 7, 2026 on build 83a1e874 at the shipped 0.95 threshold, 2,499 restored of 3,483 · 71.7% of introduced errors were restored exactly across both prose corpora. About seven in ten were caught and three in ten missed. This is synthetic-error recall for one direction, not a general accuracy score.

Other directions also combine structural checks with curated vocabulary, including verb, noun and phrase cues. Missing vocabulary or unsupported sentence structures can cause missed errors or wrong suggestions; the recall figure above measures only the stated it's/its direction.

20

Could you close that gap?

A part-of-speech tagger might improve coverage, but it would add a model, dependencies and processing cost without guaranteeing correct decisions. Any broader coverage needs evidence that it does not introduce more damaging detections.

21

How do I audit a detection I disagree with?

The /v1/check response includes each detection's offsets, original word, suggested replacement, confidence score and rule description. These details can help you inspect a result you disagree with. The same input produces the same detections with the same engine version and configuration.

Limits and exclusions

22

What languages does it support?

Currently English only. The current rules and vocabulary cover English. Support for more languages is a long-term goal; no additional language or release date is announced yet.

23

Will it fix an error outside those ten rule sets?

No. Its current scope is the ten rule sets listed above. We welcome reports of other word confusions, but have no timetable for adding them.

24

Are there errors inside the ten rule sets it still will not fix?

Yes. Some phrases have more than one valid reading, while others need an edit outside the supported word pairs. For example, a lose of power needs “loss”, which is not a supported replacement; “loose” would also be wrong. Whose is at the door? needs a word removed. The engine does not make that kind of edit.

25

Does it handle rich text, HTML or Markdown?

It recognizes code regions and several inline markup constructs, but it is not a parser for every rich-text format. A structured-document integration can extract the text nodes it wants checked. We are happy to discuss how a particular format would be handled.

26

Does it work on very short text? A single fragment?

It can check fragments, although there may be too little context for a suggestion. A two-word phrase gives the rules less evidence than a complete sentence. The engine aims to leave uncertain wording alone, but can still make mistakes.

27

Can it run as the user types?

An integration can check text after a pause in typing, but the engine does not distinguish an unfinished draft from finished text. Checking on blur or when the author presses Post can avoid presenting suggestions while a word is still being typed. The homepage checks on Post.

28

Does it get better over time?

Behavior changes when a new engine version or configuration is deployed. Regression tests check known detections and preservation cases; they help detect regressions but cannot rule out every new failure.

The questions above cover what Confusables does. The ones below are for whoever integrates it: endpoints, latency, hosting, limits and data handling.

Integration

29

How do I call it?

Both endpoints accept an HTTP POST with a JSON body containing a text string. /v1/check returns suggestions with positions for author review. The optional /v1/autocorrect endpoint returns a copy with replacements applied. Offsets are UTF-16 code units into the exact string sent, so they need to be interpreted against that same draft.

30

What comes back from the inspection endpoint?

Each detection includes start and end offsets, the original word, a suggested replacement, a confidence value and a reason naming the rule. The response also includes counts by rule and the processing time.

31

How fast is it?

Local regression benchmark on October 7, 2026, build 83a1e874: three warmup passes followed by five timed passes (11, 11, 11, 11 and 12 ms):

5,001-word document11 ms median
Per 100 words≈ 0.22 ms

An earlier run on September 19, 2026, on an earlier build, measured 20 ms median (≈ 0.40 ms per 100 words); it is history, not the current figure.

The fixture uses ten rules, including affect/effect, and applies all returned candidates; it is not an HTTP or hosted-service benchmark. The per-100-word figure is derived from the document timing, not a separately timed short request. Network, hosting and startup time are excluded, and results depend on hardware and input.

32

How does it scale?

Detection has no persistent user state. Word lists are cached in memory and rate-limit windows are local to each instance. Multiple instances can sit behind a load balancer, but each enforces its own allowance; a shared global limit would need coordination.

33

What does it need to run?

The hosted API is a Java 21 JVM service distributed as a container image. Its documented deployment uses 512 MB of memory on a single core. It needs no GPU, database or external service, and the engine makes no outbound network calls at runtime.

34

Can I run it inside my own infrastructure, or air-gapped?

Yes. The container can run inside your own infrastructure with outbound network access blocked. Whether that meets your organization's requirements depends on the surrounding deployment and policies.

35

Can I turn individual rules on or off?

affect/effect can be enabled or disabled through deployment configuration. The other nine rule sets are enabled together in the current API service and do not have individual deployment switches.

We can ship a custom version of the engine tailored to your needs, with a single rule set such as its/it’s or then/than, or a combination of rule sets. The scope and delivery can be discussed at contact@confusables.io.

36

Can I tune how aggressive it is?

The deployment threshold controls which confidence tiers are returned. Raising it narrows the output to higher-scored detections. These scores are rule-based confidence tiers, not calibrated probabilities of correctness. Today both the threshold and the optional affect/effect setting are set at deploy time rather than per request. We are open to discussing per-request configuration, but it is not currently supported.

37

What are the request limits?

Maximum input50,000 UTF-16 code units (≈ 8,000 words) → 413
Maximum request body304,096 bytes by default → 413
Rate limit60 requests/minute per caller → 429
Rate limit, with a keyhigher, and metered to you rather than your address
Missing text field→ 400

Both limits are configurable, and both are defaults for the public demo rather than a ceiling on the engine. The 60 is per caller, and without a key a caller is an IP address, so an integration behind a shared egress shares one allowance. A key provides a separate caller allowance, as described in question 38. The cap counts UTF-16 code units rather than bytes, so scripts whose characters cost several bytes each get the full allowance: Cyrillic, Greek, Arabic, Hebrew and the common CJK ranges all count as one unit per character. Characters outside the Basic Multilingual Plane cost two. For example, a single-code-point emoji such as 😀 uses two UTF-16 units, so 25,000 of those reach the cap; emoji sequences may use more units.

A 429 carries Retry-After in seconds, and repeats it as retryAfterSeconds in the body, so a caller backing off does not have to guess.

The text field must contain a JSON string. Missing or null text, numbers, booleans, arrays and objects are refused with HTTP 400. An empty string, {"text":""}, is valid and returns unchanged.

38

Is there authentication? An SDK?

The public endpoint accepts anonymous requests at the limits in question 37. The public demo calls it from the browser without a key; a secret placed in public browser code would be visible to visitors.

An API key gives an integration its own caller allowance instead of sharing an IP-based allowance. It travels as X-API-Key or a bearer token. Keys and allowances are arranged individually rather than issued automatically; a note to contact@confusables.io can start that discussion. There is no signup form.

An unrecognized key receives an authentication error rather than falling back to anonymous access. A self-hosted service can also be configured to require a key for all callers.

There is no SDK. The API docs show both endpoints with curl, JavaScript and Python examples.

39

What happens if Confusables is unavailable?

The calling application decides how to handle a timeout or service failure. Confusables has no detection queue or automatic retry and does not persist submitted text by default. It does keep operational state such as cached word lists and in-memory rate-limit windows.

For an optional check before posting, one approach is to let the original text proceed with a clear message that the check was unavailable. An unavailable check is different from a completed check with no findings. The application's own authentication, moderation and publication requirements still apply.

A bounded timeout prevents a slow check from holding up the application indefinitely. A self-hosted deployment puts service operation under your control, but still needs a failure policy.

Privacy and Data Handling

40

This section is the privacy notice

This privacy notice is subject to change at any time without prior notice.

Effective November 5, 2026. This revision clarifies the current learning activities, navigation warnings and separate mobile app policies. Data handling is unchanged. The October 31 revision added the web Quiz, Workplace Practice and School Practice, including answers kept in page memory and navigation warnings. The October 16 revision described private operator sign-in and authenticated testing. The October 15 revision added metadata-only usage logging for the hosted API. Earlier revisions were published on September 19, October 6 and October 7, 2026. Cloudflare’s optional web analytics was switched off on October 7. Submitted text is still not saved by the application by default.

This notice describes how information is handled when you use confusables.io, its Demo gallery, the learning activities at quiz.confusables.io, practice.confusables.io and edu.confusables.io, or the hosted API at api.confusables.io. It distinguishes hosted checking from learning activities that run in your browser.

The released iOS app checks your practice writing on your device and has a separate iOS privacy policy. Android is in development, with its current development version described in the Android privacy policy. Opening these website pages still makes the ordinary hosting requests described here.

What is processed: text you submit to the demo or the API; the network address your request arrives from; ordinary request metadata such as timing and size; the label on an API key, if you use one; and whatever you choose to put in an email if you contact us.

41

The text you submit

The application does not persist submitted text by default. It reads the request, detects it, returns the result, and does not save the submitted text by default: there is no database, and no database driver is present on the runtime classpath, which a test asserts on every build.

This describes the application itself. Requests also pass through network and hosting providers, whose role is described below.

Submitted text is not used for training. The engine uses rules and word lists and does not learn from requests.

42

What reaches a log

Normal hosted application logs record a character count, a detection count and a timing, not your text. Writing your text to a log requires a separate explicit setting which the hosted service does not enable, and changing log verbosity alone cannot turn it on. Those are two independent controls on purpose: raising a log level to diagnose something unrelated should not capture anyone's text as a side effect.

For public POST requests to /v1/check and /v1/autocorrect, a separate usage event records the caller’s IP address, request time, endpoint, response status and duration. We use these events to see whether the public API is being tried and how often, and to investigate service errors and abuse. The events contain no submitted text, returned corrections, query strings, cookies, referrers or API-key secrets. Authenticated internal development and testing calls are excluded from this usage record. Health checks and browser preflight requests are not counted. Rate-limit warnings may separately contain a network address or an API-key label, never the key itself.

43

Your network address

The service processes network addresses in memory to enforce rate limits. Public API usage events also retain the address in private application logs hosted by Render for seven days, after which Render expires them under the current workspace plan. There is no application database or saved sentence history. Access to logs and usage reports is restricted to the service operator and authorized administrators. Reports can show calls per address and day; an address can be shared, change over time or belong to a VPN or server, so it does not identify a unique person or prove a precise location. We do not use these records for advertising or tracking across websites.

44

Providers in the request path

The hosted service uses two providers:

Cloudflarehosts and protects the websites, including the web learning activities, and provides DNS for the API hostname
Renderterminates API connections, runs the application container and hosts private application logs

Both providers may process connection and request information to operate their services, under their own terms and logging practices. Those practices are outside our control.

Cloudflare can also inject a bot-detection script when these pages load. It is provided by the hosting platform and this site does not offer a switch for it. The dismissible notice on the main website and Demo gallery explains this processing. Dismissing it does not enable anything or give consent. Cloudflare’s optional web analytics (its performance-measurement beacon) is switched off for this site. The main website also loads typefaces from Google Fonts, which receives the request for those files, including your network address and browser information. The native-app privacy and support pages use local system fonts.

Beyond that, we do not use advertising services, behavioral analytics, tracking pixels, social widgets, or anything that follows you to other sites.

45

Cookies, and tracking across sites

The public demo sets no application cookies. In an observed clean-browser visit, a plain page load set none and wrote nothing to local or session storage before interaction. Cloudflare protection may set its own security cookie in some circumstances; the observation is not a guarantee that no provider cookie will be set.

Web quizzes and practice. Quiz, Workplace Practice and School Practice need no account. They use authored questions and answer keys in your browser, without sending answers to the checking engine or to us. Answers, scores and progress stay in the open page’s memory. The activities do not save them in cookies, local storage or session storage, and do not use advertising or analytics. Your browser may cache public question files and other page assets. Cloudflare still handles ordinary page requests as described above.

Reloading or closing the page clears that practice progress. Navigating away can also discard it. After your first submitted real answer, ordinary same-tab page links, including footer links, and Back navigation normally ask you to choose Stay or Leave. The unscored School example and an unanswered first question do not activate the warning. Refresh, close and some history jumps may show the browser’s own warning instead. Browser support and navigation behavior can affect whether a warning appears. A warning is not a saved copy or a guarantee of recovery.

The activities add navigation markers to browser history to manage Back navigation. Those markers contain navigation state only, including whether an earlier destination existed, and no answers or scores.

Private operator testing. A separate operator-only sign-in uses Cloudflare Access email codes and authentication cookies. Cloudflare processes the operator’s email address, network address and authentication events. This is not an account requirement for public visitors. After sign-in, the operator’s browser keeps a non-secret local storage flag to select the authenticated testing route and prevent accidental public submissions; it contains no submitted text or API credential. Expired authentication pauses testing. Exiting testing keeps a paused flag until the operator enters again.

Authenticated operator checks are forwarded through a Cloudflare server-side function to the same hosted API, with the internal credential kept on the server. These checks are excluded from public usage events. The forwarding function does not intentionally log or save submitted text, returned corrections or credentials. Provider security and operational processing remain separate from public usage counts.

The dismissible privacy notice on the main website and Demo gallery. If you press Dismiss, your browser tab keeps a single flag in its session storage saying that this version of the notice was dismissed. It exists only to stop the notice returning on every page you open in that tab, ends when you close the tab, and contains no identifier, text or count. Pressing Dismiss changes nothing else and is not consent to anything. Each site keeps its own flag, so confusables.io and the demo site do not share it. If your browser blocks storage, the notice simply appears again on the next page.

Do Not Track. We do not follow your activity across other websites for advertising or profiling, so a browser Do Not Track signal does not change anything we do. We cannot make that promise on behalf of the providers above.

We do not sell personal information, and we do not use correspondence for advertising or marketing.

46

If you email us

Contact is an email address, not a form. The homepage demo sends submitted writing to the hosted API. Answers in the web learning activities stay in page memory as described in question 45. Ordinary website requests are described above. Writing to us means we receive whatever you chose to include, typically your address, your name and your message, and we use it to answer you and to manage that conversation.

Correspondence has no automatic deletion schedule. We keep it while it is useful for the conversation or related follow-up.

Public visitors do not need an account, and the application keeps no saved detection history. Operational logs may contain a network address or API-key label, and correspondence may contain information you sent us. Questions about access, correction or deletion of information we hold can go to contact; provider handling is described above. Private operator authentication is described in question 45.

47

Running it yourself, and changes to this notice

In a self-hosted deployment, submitted text is processed inside your network without being sent to us. The engine makes no outbound calls while checking and has no callback or telemetry. Cloudflare and Render are not required in that path. Text logging remains a separate setting that verbosity alone cannot enable; the deployment operator controls surrounding infrastructure and logs.

If this notice changes materially, we will publish the revised version here with a new effective date. Privacy questions are welcome through contact.

Compared with the alternatives

48

How does it compare with a language model?

A language model may be suitable when the task includes broader editing or rewriting. Confusables has a smaller scope: suggestions for a defined set of word confusions.

For an integration that needs those suggestions without broader edits, a rule-based response may be useful. The author can review each suggested word while keeping the rest of the draft. Whether this or another approach fits depends on the text and the integration's requirements.

Confusables does not use model inference or incur per-token inference costs. Hosting and operating the service still have infrastructure costs.

49

How is this different from a writing assistant?

Confusables is an API a platform integrates into its own interface. It supplies narrow word-level suggestions rather than a complete writing editor. For social comments and posts, the platform can show those suggestions before publication and let the author decide.

50

Can we run it alongside what we already have?

Yes. It can provide word-level suggestions alongside another writing tool. Its scope is the ten rule sets above, without advice on style, tone or phrasing. The integration decides how to present suggestions from different tools.

51

How can I evaluate it for my application?

You can evaluate its behavior on text representative of your application. With a fixed engine version and configuration, the same input produces the same detections. That helps make a test reproducible, but does not establish accuracy on other text or future traffic.

Availability

52

Is it open source?

Confusables is proprietary software, all rights reserved. We do not claim ownership of the English vocabulary used by the engine.

53

Is the Confusables engine commercially available?

Not yet. The Confusables engine is in development and is not commercially available. There are no current engine prices, billing plans or license agreements to purchase. The free web learning resources are described in question 56.

The public API is open for evaluation without an account or key, including programmatic requests within the documented limits. The Terms of Service explain that evaluation permission. Production use and engine redistribution require separate written permission. The homepage demo uses the hosted engine, and the self-hosted image is available to discuss for evaluation. Questions are welcome at contact@confusables.io.

54

Who runs the servers?

The operator depends on whether you use the hosted API or a self-hosted deployment.

Self-hosted: your team runs the container in your infrastructure and manages availability. The engine has no callback, license server or telemetry, and submitted text is not sent to us.

The image can run on a compatible container platform or a virtual machine with Docker. It does not require a database, queue or GPU. The choice of host depends on your team's existing setup and requirements.

Hosted: we operate the public evaluation endpoint described in the API docs. It carries no availability commitment.

55

How can I evaluate it?

The public API is open for evaluation. Both endpoints accept requests without an account or key, within the limits in question 37. The homepage demo uses the same hosted engine.

If those limits do not fit your evaluation, we can discuss a key by email. We are not issuing them automatically and we are not promising a particular allowance. Reports of unsuitable suggestions or missed errors are also welcome.

The self-hosted image is available to discuss for evaluation at contact@confusables.io.

56

Are the quizzes and practice resources free?

Yes. All test, quiz and practice resources on the Confusables websites are free for everyone to use through their intended interfaces, including for personal, classroom and workplace learning. These include Quiz, Workplace Practice and School Practice. No account is needed.

The current web editions offer 192 Quiz questions, 68 Workplace Practice questions in one pass, and School Practice with 30 questions for Grades 4 to 6, 50 for Grades 7 to 8 and 50 for Grades 9 to 12. School includes an unscored example for each grade level. Each activity presents a varied order of questions.

After completing a scored question, you can see your results without finishing the whole pass. Results and answer review include completed questions only. The continue option returns to your current question and preserves any unfinished selections while the page stays open.

We may periodically update the questions, examples and explanations. These resources support learning and do not certify writing ability or job performance.

If you would like a practice resource tailored to your organization’s needs, please reach out through Support to discuss it. Any tailored resource would be discussed and agreed separately.

See question 45 for how answers and progress are handled, and the Terms of Service for permitted use.

57

Can I try Confusables in an app?

Yes. Confusables is currently available for iOS on iPhone and iPad. An Android version is in development. You can try the private writing and commenting experience and all three learning modules in the iOS app.

You will find the App Store download link in the footer of this page. For help with the current app, please visit iOS Support.

58

Why offer an app for an engine designed for social media platforms?

We created the app to offer a realistic way to try a social media posting and commenting workflow. In Try Your Own Phrases, you can write a practice comment, review word-level suggestions from the on-device Confusables engine, and choose whether to edit or post as written.

Your practice comments stay on your device and are not published to a social network or shared with other users. The app also includes three learning modules.

  • Take A Quiz. Choose the word or phrase that belongs in a sentence.
  • School Practice. Choose a grade level, find a word or phrase that needs changing and read the explanation.
  • Workplace Practice. Review everyday workplace sentences, make any needed repair and review your completed answers.

The learning modules use authored questions and answer keys. They can teach distinctions beyond the writing checker’s supported families.

The homepage demo lets you review suggestions on your own text.

Try the posting demo