From 0f29f1fe991c905b062b8cb53779e2b72c77314b Mon Sep 17 00:00:00 2001
From: Tiago <70700766+tiagorangel1@users.noreply.github.com>
Date: Fri, 30 May 2025 17:52:07 +0100
Subject: [PATCH] docs: fix typos
---
docs/guide/alternatives.md | 4 ++--
docs/guide/cli.md | 4 +---
docs/guide/effectiveness.md | 2 +-
docs/guide/floating.md | 2 +-
docs/guide/index.md | 9 ++++-----
docs/guide/invisible.md | 2 +-
docs/guide/middleware/index.md | 4 ++--
docs/guide/philosophy.md | 4 ++--
docs/guide/solver.md | 4 ++--
docs/guide/widget.md | 4 ++--
10 files changed, 18 insertions(+), 21 deletions(-)
diff --git a/docs/guide/alternatives.md b/docs/guide/alternatives.md
index af46dd6..28bd37e 100644
--- a/docs/guide/alternatives.md
+++ b/docs/guide/alternatives.md
@@ -26,11 +26,11 @@ Not only is Cap significantly smaller and faster than reCAPTCHA, it's open-sourc
### hCAPTCHA
-Pretty much the same as reCAPTCHA, altough hCAPTCHA is significantly more secure. Personally it's the best alternative to Cap, even though the widget's bundle size alone is significantly bigger.
+Pretty much the same as reCAPTCHA, although hCAPTCHA is significantly more secure. Personally it's the best alternative to Cap, even though the widget's bundle size alone is significantly bigger.
Fun fact about hCAPTCHA, an attacker can easily solve it for $1.05/1k results while *you* (the site owner) need to pay hCAPTCHA $1/1k solves just for the captcha, even if the content behind the captcha doesn't cost you anything.
-Imagine if anyone could drain $100 dollars from your back account just by knowing your name and paying $105 - pretty scary, right?
+Imagine if anyone could drain $100 dollars from your bank account just by knowing your name and paying $105 - pretty scary, right?
### Altcha
diff --git a/docs/guide/cli.md b/docs/guide/cli.md
index d64df70..2faa8a1 100644
--- a/docs/guide/cli.md
+++ b/docs/guide/cli.md
@@ -73,6 +73,4 @@ console.log(command); // bunx '@cap.js/cli' e455cea65e98b:dceb fb8d25f6abac:93f1
```
> [!NOTE]
-> The code above doesn't validate if the challenges are valid and not potentially malicious. If you're getting the challenge list from an untrusted source, make sure to validate it before giving them to the user.
-
-Here's a simple Glitch app that generates and validats challenges for you. You can use it to test the CLI and see how it works.
\ No newline at end of file
+> The code above doesn't validate if the challenges are valid and not potentially malicious. If you're getting the challenge list from an untrusted source, make sure to validate it before giving them to the user.
\ No newline at end of file
diff --git a/docs/guide/effectiveness.md b/docs/guide/effectiveness.md
index 2e13669..b743752 100644
--- a/docs/guide/effectiveness.md
+++ b/docs/guide/effectiveness.md
@@ -13,7 +13,7 @@ By default, Cap's server library uses the following defaults:
## Why Proof-of-work?
-Every CAPTCHA can eventually be solved, whether by AIs, algorithms or humans paid via CAPTCHA farms — this results in an endless cat and mouse game between attackers and defenders. The crucial difference lies in the _cost_ imposed on attackers.
+Every CAPTCHA can eventually be solved, whether by AIs, algorithms or humans paid via CAPTCHA farms — this results in an endless cat-and-mouse game between attackers and defenders. The crucial difference lies in the _cost_ imposed on attackers.
Cap's goal is to make automated abuse expensive while keeping the experience fast and virtually invisible for real users. PoW is a perfect balance for this issue, stopping abuse by requiring computational effort rather than relying solely on human verification methods that bots continuously learn to mimic.
diff --git a/docs/guide/floating.md b/docs/guide/floating.md
index 0b94a45..d4a0e26 100644
--- a/docs/guide/floating.md
+++ b/docs/guide/floating.md
@@ -1,6 +1,6 @@
# Floating mode
-Cap can automatically hide the CAPTCHA until a button is pressed. To use this, add the `data-cap-floating` attribute to the Cap widget with the query selector of the `cap-widget` element you want to use.
+Cap can automatically hide the CAPTCHA until a button is pressed. To use this, add the `data-cap-floating` attribute to your trigger with the query selector of the `cap-widget` element you want to use.
```html
` component to your HTML.
@@ -82,7 +82,7 @@ pnpm i @cap.js/server
:::
::: tip
-It is recommended to use at least Node.js 14 or Bun 1.0.0. You might experience multiple issues on older versions of these runtimes.
+It is recommended to use at least Node.js 14 or Bun 1.0.0. You might experience multiple issues on older versions of these runtimes.
Additionally, always assume that Cap might fail to protect you. **Always** add extra security measures such as ratelimits. It's also important to keep in mind that Cap doesn't stop potential vulnerabilities in your app.
:::
@@ -219,7 +219,6 @@ await cap.validateToken("..."); // returns { success: Boolean }
Note that the token will immediately be deleted after this. To prevent this, use `await cap.validateToken("...", { keepToken: true })`.
-
## LLMs
-You can use this documentaton's [llms.txt](/llms.txt) or [llms-full.txt](/llms-full.txt) (~8k tokens) to give to LLMs. Note that Cap is **not vibe-coded**
\ No newline at end of file
+You can use this documentation's [llms.txt](/llms.txt) or [llms-full.txt](/llms-full.txt) (~8k tokens) to give to LLMs. Note that Cap is **not vibe-coded**
diff --git a/docs/guide/invisible.md b/docs/guide/invisible.md
index be3121f..45ff30e 100644
--- a/docs/guide/invisible.md
+++ b/docs/guide/invisible.md
@@ -35,7 +35,7 @@ Creates a new Cap instance. If a 2nd argument is provided, it will use that elem
**Arguments**
```json
{
- apiEndpoint: ..., // api endpoint, similiar to the widget `data-cap-api-endpoint` attribute
+ apiEndpoint: ..., // api endpoint, similar to the widget `data-cap-api-endpoint` attribute
workers: navigator.hardwareConcurrency || 8 // number of worker threads to use
}
```
diff --git a/docs/guide/middleware/index.md b/docs/guide/middleware/index.md
index fab862a..9e6fd99 100644
--- a/docs/guide/middleware/index.md
+++ b/docs/guide/middleware/index.md
@@ -1,6 +1,6 @@
-# About checkpoints/Middlewares
+# About checkpoints
-Cap's Checkpoints allow you to replicate Cloudflare's browser check interstitial. This helps prevent all bots, and automated abuse before they ever reach your website, not only submitting forms.
+Cap's Checkpoints (previously known as middlewares) allow you to replicate Cloudflare's browser check interstitial. This helps prevent bots, LLMs and automated abuse from ever reaching your website.
They're extremely simple to set up and use, with you only having to add a few lines of code to your server, unlike moving your entire website over to cloudflare.
diff --git a/docs/guide/philosophy.md b/docs/guide/philosophy.md
index 14e9286..1eb748c 100644
--- a/docs/guide/philosophy.md
+++ b/docs/guide/philosophy.md
@@ -10,6 +10,6 @@ Cap is designed around a few core ideas:
- **User-first** — designed to be unintrusive and accessible, with invisible and floating modes.
- **Self-hostable, not centralized** — you control the infra, tokens, and behavior.
-By using proof-of-work instead of user behavior analysis, Cap shifts the burden from identity to computation. That means anyone can prove they’re human — no cookies, no accounts, no friction.
+By using proof-of-work instead of user behavior analysis, Cap shifts the burden from identity to computation. That means anyone can prove they're human — no cookies, no accounts, no friction.
-Cap is what a CAPTCHA should’ve been all along: **simple, honest, and yours.**
\ No newline at end of file
+Cap is what a CAPTCHA should've been all along: **simple, honest, and yours.**
\ No newline at end of file
diff --git a/docs/guide/solver.md b/docs/guide/solver.md
index ec28107..002203f 100644
--- a/docs/guide/solver.md
+++ b/docs/guide/solver.md
@@ -41,7 +41,7 @@ console.log(await solver(CHALLENGES));
## FAQ
### Why is this needed?
-Mainly for M2M interactions, where you want to solve Cap challenges in the server without user interaction.
+Mainly for M2M interactions, where you want to solve Cap challenges on the server without user interaction.
### Doesn't this defeat the purpose of Cap?
-Not really. Server-side solving is a core use case of proof-of-work CAPTCHAs like Cap or altcha. It’s about proving effort, not necessarily involving a human. [Learn more](./effectiveness.md#why-you-might-not-want-to-use-this)
\ No newline at end of file
+Not really. Server-side solving is a core use case of proof-of-work CAPTCHAs like Cap or altcha. It's about proving effort, not necessarily involving a human. [Learn more](./effectiveness.md)
\ No newline at end of file
diff --git a/docs/guide/widget.md b/docs/guide/widget.md
index 2114fa9..f042aca 100644
--- a/docs/guide/widget.md
+++ b/docs/guide/widget.md
@@ -22,7 +22,7 @@
:::
::: warning
-We're using the latest version of the library here for keeping stuff simple, but you should optimally pin a specific version to avoid breaking changes in the future.
+We're using the latest version of the library here for simplicity, but you should optimally pin a specific version to avoid breaking changes in the future.
:::
You can now use the `` component in your HTML.
@@ -62,7 +62,7 @@ The following custom events are supported:
- `solve`: Triggered when the token is generated.
- `error`: Triggered when an error occurs.
- `reset`: Triggered when the widget is reset.
-- `progress`: Triggered when the there's a progress update while in verification.
+- `progress`: Triggered when there's a progress update while in verification.
## i18n