Skip to content

Conversation

@madhavanmalolan
Copy link
Contributor

@madhavanmalolan madhavanmalolan commented Dec 27, 2025

Description

Testing (ignore for documentation update)

Type of change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

Checklist:

Additional Notes:


Note

Introduces the Fully Hosted Solution docs with install/usage guides and bundle-specific pages, including API examples and callback schemas.

  • New content/docs/fully-hosted section with index, installation, and usage detailing generate-signed-url and verify-callback flow
  • Adds bundles docs: default (requires providerId, example callback payload), education (optional providerId, normalized fields), and placeholders for age and employment (Alpha/coming soon)
  • Navigation updated via content/docs/meta.json and content/docs/fully-hosted/meta.json plus bundles/meta.json

Written by Cursor Bugbot for commit be112e2. This will update automatically on new commits. Configure here.

Summary by CodeRabbit

  • Documentation
    • Added comprehensive documentation for the Fully Hosted Solution, a managed verification platform.
    • Documented four verification bundles (Default, Education, Employment, Age) with configuration and usage details.
    • Included installation instructions, implementation guides with code samples, parameter documentation, and troubleshooting resources.

✏️ Tip: You can customize this high-level summary in your review settings.

@vercel
Copy link
Contributor

vercel bot commented Dec 27, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
docs Ready Ready Preview, Comment Dec 27, 2025 5:27pm

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


madhavanmalolan seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@coderabbitai
Copy link

coderabbitai bot commented Dec 27, 2025

📝 Walkthrough

Walkthrough

Documentation additions for a new "Fully Hosted" solution are introduced. Multiple MDX files covering the main solution, installation guide, usage instructions, and four bundle types (default, education, employment, age) are added alongside metadata configuration files.

Changes

Cohort / File(s) Summary
Main Fully Hosted Documentation
content/docs/fully-hosted/index.mdx, content/docs/fully-hosted/installation.mdx, content/docs/fully-hosted/usage.mdx
Introduces overview of Fully Hosted Solution, step-by-step installation instructions with bundle selection, and comprehensive usage guide including signed URL generation, proof verification, required/optional parameters, and code samples (curl, NodeJS) with tabbed UI.
Bundle-Specific Documentation
content/docs/fully-hosted/bundles/default.mdx, content/docs/fully-hosted/bundles/education.mdx, content/docs/fully-hosted/bundles/employment.mdx, content/docs/fully-hosted/bundles/age.mdx
Four bundle documentation files; default and education are feature-complete with callback JSON examples and provider handling details, while employment and age bundles are marked as alpha/coming soon (March 2026).
Metadata Configuration
content/docs/fully-hosted/meta.json, content/docs/fully-hosted/bundles/meta.json, content/docs/meta.json
Static metadata files defining documentation structure; bundles meta.json lists four pages (default, education, employment, age), fully-hosted meta.json defines the main section, and root meta.json is updated to include the new fully-hosted entry.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested labels

documentation

Suggested reviewers

  • kryptocodes
  • ChinmayMhatre
  • Sajjad21990

Poem

🐰 A fully-hosted solution hops to life,
With bundles bundled, free from strife,
Education, employment, age in sight,
Documentation glows with helpful light! ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'adding hosted bundles docs' directly relates to the main change: adding comprehensive documentation for hosted bundles across multiple files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch hosted-bundles

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 7

🧹 Nitpick comments (3)
content/docs/fully-hosted/installation.mdx (1)

10-14: Consider adding "the" for grammatical consistency.

Minor suggestion: lines 11-13 use "the user" or "user" inconsistently. Consider standardizing to "the user" throughout.

content/docs/fully-hosted/index.mdx (1)

17-17: Consider simplifying "in order to" to "to".

The phrase "in order to verify" can be shortened to "to verify" for more concise writing.

🔎 Proposed fix
-- **Education verification** : Where the user must select their university before proceeding to verification. User will then be asked to login into their university portal in order to verify if they are a student there. We manage all the mapping for all university and respective university portals.
+- **Education verification** : Where the user must select their university before proceeding to verification. User will then be asked to login into their university portal to verify if they are a student there. We manage all the mapping for all university and respective university portals.
content/docs/fully-hosted/usage.mdx (1)

85-86: Consider expanding the troubleshooting section.

The troubleshooting section currently only mentions CORS. Consider adding guidance for other common issues users might encounter, such as:

  • Invalid or expired applicationSecret
  • Callback URL not accessible or returning errors
  • Signature verification failures
  • Missing or invalid parameters
  • Network timeouts

Would you like me to help draft additional troubleshooting scenarios based on common integration issues?

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 98b864d and be112e2.

⛔ Files ignored due to path filters (6)
  • public/hosted-bundles/complete.png is excluded by !**/*.png
  • public/hosted-bundles/default-bundle.png is excluded by !**/*.png
  • public/hosted-bundles/education-bundle.png is excluded by !**/*.png
  • public/hosted-bundles/safe.png is excluded by !**/*.png
  • public/hosted-bundles/ui.png is excluded by !**/*.png
  • public/hosted-bundles/verifying.png is excluded by !**/*.png
📒 Files selected for processing (10)
  • content/docs/fully-hosted/bundles/age.mdx
  • content/docs/fully-hosted/bundles/default.mdx
  • content/docs/fully-hosted/bundles/education.mdx
  • content/docs/fully-hosted/bundles/employment.mdx
  • content/docs/fully-hosted/bundles/meta.json
  • content/docs/fully-hosted/index.mdx
  • content/docs/fully-hosted/installation.mdx
  • content/docs/fully-hosted/meta.json
  • content/docs/fully-hosted/usage.mdx
  • content/docs/meta.json
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-12-03T01:18:34.283Z
Learnt from: CR
Repo: reclaimprotocol/docs PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-03T01:18:34.283Z
Learning: Show clear verification status, provide fallback options, handle edge cases gracefully, and optimize for mobile experience in user-facing applications

Applied to files:

  • content/docs/fully-hosted/index.mdx
🪛 LanguageTool
content/docs/fully-hosted/installation.mdx

[grammar] ~14-~14: Ensure spelling is correct
Context: ...default, where you will have to set a providerID. See details.

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

content/docs/fully-hosted/usage.mdx

[grammar] ~79-~79: Use a hyphen to join words.
Context: ...the data you received. Please see bundle specific guides for processing data from...

(QB_NEW_EN_HYPHEN)

content/docs/fully-hosted/bundles/education.mdx

[style] ~10-~10: You have already used this phrasing in nearby sentences. Consider replacing it to add variety to your writing.
Context: ...is from a particular university and you want to verify if the student is enrolled in th...

(REP_WANT_TO_VB)

content/docs/fully-hosted/index.mdx

[style] ~17-~17: Consider a more concise word here.
Context: ...d to login into their university portal in order to verify if they are a student there. We ...

(IN_ORDER_TO_PREMIUM)

content/docs/fully-hosted/bundles/default.mdx

[style] ~9-~9: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...tps://dev.reclaimprotocol.org/explore). You can just copy the providerId from there...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

🔇 Additional comments (7)
content/docs/meta.json (1)

6-6: LGTM!

The fully-hosted entry is correctly added to the pages array with proper positioning in the documentation navigation hierarchy.

content/docs/fully-hosted/meta.json (1)

1-9: LGTM!

The metadata structure correctly defines the Fully Hosted documentation section with appropriate page ordering.

content/docs/fully-hosted/bundles/age.mdx (1)

1-8: LGTM!

Placeholder documentation for the alpha-status Age bundle is appropriate.

content/docs/fully-hosted/bundles/meta.json (1)

1-9: LGTM!

The bundles metadata correctly lists all four bundle documentation pages.

content/docs/fully-hosted/bundles/default.mdx (1)

47-49: LGTM!

Good explanation of how the default bundle's callback data differs from other bundles by being provider-specific.

content/docs/fully-hosted/usage.mdx (2)

50-50: No action required. The /api-key page exists at content/docs/api-key.mdx and the link is valid.


80-83: All bundle documentation pages (default.mdx, education.mdx, employment.mdx, and age.mdx) exist at the expected paths in content/docs/fully-hosted/bundles/. The links in lines 80-83 are valid.

Comment on lines +22 to +45
```json
{
"data": {
"sessionId": "YOUR SESSION ID",
"applicationId": "YOUR APPLICATION ID",
"bundleId": "default",
"proofs": [
{
"success": true,
"data": {
"PARAM_1_NAME": "PARAM_1_VALUE",
"PARAM_2_NAME": "PARAM_2_VALUE",
},
"metadata": {
"verified": true,
"timestamp": 1766854715373
}
}
],
"timestamp": "2025-12-27T16:58:35.373Z"
},
"signature": "0x5515a680e6f05d844c1e54aa231b...RECLAIMPROTOCOL_SIGNATURE"
}
```
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Invalid trailing comma in JSON example.

Line 34 has a trailing comma after the last property which is invalid JSON syntax.

🔎 Proposed fix
         "data": {
           "PARAM_1_NAME": "PARAM_1_VALUE",
-          "PARAM_2_NAME": "PARAM_2_VALUE",
+          "PARAM_2_NAME": "PARAM_2_VALUE"
         },
🤖 Prompt for AI Agents
In content/docs/fully-hosted/bundles/default.mdx around lines 22 to 45, the JSON
example contains an invalid trailing comma after the last property in the nested
"data" object inside the first proof (line ~34); remove that trailing comma (and
any other trailing commas in the example), ensure commas only appear between
properties/items, and validate the snippet as strict JSON so it parses
correctly.

Comment on lines +1 to +4
---
title: The Education Bundle
description: Over 20k universities world wide supported
---
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Minor typo in description.

"world wide" should be "worldwide" (one word).

🔎 Proposed fix
 ---
 title: The Education Bundle
-description: Over 20k universities world wide supported
+description: Over 20k universities worldwide supported
 ---
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
---
title: The Education Bundle
description: Over 20k universities world wide supported
---
---
title: The Education Bundle
description: Over 20k universities worldwide supported
---
🤖 Prompt for AI Agents
In content/docs/fully-hosted/bundles/education.mdx around lines 1 to 4, the
description contains a minor typo: "world wide" should be one word. Edit the
frontmatter description value to replace "Over 20k universities world wide
supported" with "Over 20k universities worldwide supported" (or another
grammatically correct phrasing such as "Over 20k universities worldwide are
supported") and save the file.

Comment on lines +23 to +48
```json
{
"data": {
"sessionId": "YOUR SESSION ID",
"applicationId": "YOUR APPLICATION ID",
"bundleId": "default",
"proofs": [
{
"success": true,
"data": {
"fullName": "...", // Mandatory
"fieldOfStudy": "...", // Optional. What the student is studying
"dob": "...", // Optional. Date of birth
"gradYear": "...", // Optional. Expected date of graduation
},
"metadata": {
"verified": true,
"timestamp": 1766854715373
}
}
],
"timestamp": "2025-12-27T16:58:35.373Z"
},
"signature": "0x5515a680e6f05d844c1e54aa231b...RECLAIMPROTOCOL_SIGNATURE"
}
```
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Incorrect bundleId value and invalid JSON syntax in the callback example.

Two issues in this JSON example:

  1. Line 28 shows "bundleId": "default" but this is the Education bundle documentation—should be "education".
  2. Lines 34 and 37 have trailing commas after the last properties, which is invalid JSON syntax and will cause errors if users copy-paste.
🔎 Proposed fix
 ```json
 {
   "data": {
     "sessionId": "YOUR SESSION ID",
     "applicationId": "YOUR APPLICATION ID",
-    "bundleId": "default",
+    "bundleId": "education",
     "proofs": [
       {
         "success": true,
         "data": {
           "fullName": "...", // Mandatory
           "fieldOfStudy": "...", // Optional. What the student is studying
           "dob": "...", // Optional. Date of birth
-          "gradYear": "...", // Optional. Expected date of graduation
+          "gradYear": "..." // Optional. Expected date of graduation
         },
         "metadata": {
           "verified": true,
-          "timestamp": 1766854715373
+          "timestamp": 1766854715373
         }
       }
     ],

Note: JSON doesn't support comments either (// Mandatory), but they're acceptable here for documentation purposes to explain the fields.

🤖 Prompt for AI Agents
content/docs/fully-hosted/bundles/education.mdx around lines 23 to 48: the JSON
callback example uses an incorrect bundleId and contains invalid JSON trailing
commas (and inline comments are acceptable in docs but trailing commas will
break copy-paste). Change "bundleId" from "default" to "education" and remove
the trailing commas after the last properties in objects (e.g., after "gradYear"
and after "timestamp") so the snippet is valid JSON when copied.

Comment on lines +1 to +8
---
title: The Employment Bundle
description: Over 1500 employers world wide supported
---

Currently in Alpha : Please [contact support](mailto:harsha@reclaimprotocol.org) to get started.

# Coming soon (March 2026) No newline at end of file
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Minor typo in description.

"world wide" should be written as one word: "worldwide".

🔎 Proposed fix
 ---
 title: The Employment Bundle
-description: Over 1500 employers world wide supported
+description: Over 1500 employers worldwide supported
 ---
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
---
title: The Employment Bundle
description: Over 1500 employers world wide supported
---
Currently in Alpha : Please [contact support](mailto:harsha@reclaimprotocol.org) to get started.
# Coming soon (March 2026)
---
title: The Employment Bundle
description: Over 1500 employers worldwide supported
---
Currently in Alpha : Please [contact support](mailto:harsha@reclaimprotocol.org) to get started.
# Coming soon (March 2026)
🤖 Prompt for AI Agents
In content/docs/fully-hosted/bundles/employment.mdx around lines 1 to 8, the
frontmatter description contains a minor typo: "world wide" should be one word.
Update the description value to read "Over 1500 employers worldwide supported"
(replace "world wide" with "worldwide") and ensure the YAML frontmatter
formatting remains valid.

Comment on lines +6 to +7
The hosted solution is the easiest way to integrate Reclaim Protocol on a website.
We will manage all the plumbing for you, along with several custom UI.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix grammar: pluralize "UI" to "UIs".

The phrase "several custom UI" should be "several custom UIs" since "several" indicates multiple user interfaces.

🔎 Proposed fix
 The hosted solution is the easiest way to integrate Reclaim Protocol on a website.
-We will manage all the plumbing for you, along with several custom UI. 
+We will manage all the plumbing for you, along with several custom UIs.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
The hosted solution is the easiest way to integrate Reclaim Protocol on a website.
We will manage all the plumbing for you, along with several custom UI.
The hosted solution is the easiest way to integrate Reclaim Protocol on a website.
We will manage all the plumbing for you, along with several custom UIs.
🤖 Prompt for AI Agents
In content/docs/fully-hosted/index.mdx around lines 6 to 7, the phrase "several
custom UI" is grammatically incorrect; change it to "several custom UIs" to
pluralize UI to match "several" so the sentence reads "...along with several
custom UIs."

There are 4 supported bundles
- `education`, where the user has to select the university. You will receive the user's University Name and student information. [See details](./education).
- `employment`, where user has to select the country and employer. You will receive the user's Employer and other employee information. [See details](./employment).
- `age`, where user has to select the country. You will receive the country and user's age. [See details](./employment).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Incorrect link for age bundle.

The age bundle description links to ./employment instead of ./age.

🔎 Proposed fix
-- `age`, where user has to select the country. You will receive the country and user's age. [See details](./employment).
+- `age`, where user has to select the country. You will receive the country and user's age. [See details](./age).
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- `age`, where user has to select the country. You will receive the country and user's age. [See details](./employment).
- `age`, where user has to select the country. You will receive the country and user's age. [See details](./age).
🤖 Prompt for AI Agents
In content/docs/fully-hosted/installation.mdx around line 13, the `age` bundle
description currently links to ./employment instead of the correct ./age; update
the markdown link target so the sentence points to ./age (i.e., replace
./employment with ./age) so the `age` bundle directs to the proper documentation
page.

const verifyResult = await verifyResponse.json();
const isVerified = verifyResult.verified;
```
Once it is verified, you can confidently use the data you received. Please see bundle specific guides for processing data from that bundle.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix grammar: add hyphen to compound adjective.

The phrase "bundle specific guides" should be "bundle-specific guides" as it's a compound adjective modifying "guides."

🔎 Proposed fix
-Once it is verified, you can confidently use the data you received. Please see bundle specific guides for processing data from that bundle.
+Once it is verified, you can confidently use the data you received. Please see bundle-specific guides for processing data from that bundle.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
Once it is verified, you can confidently use the data you received. Please see bundle specific guides for processing data from that bundle.
Once it is verified, you can confidently use the data you received. Please see bundle-specific guides for processing data from that bundle.
🧰 Tools
🪛 LanguageTool

[grammar] ~79-~79: Use a hyphen to join words.
Context: ...the data you received. Please see bundle specific guides for processing data from...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
In content/docs/fully-hosted/usage.mdx around line 79, the phrase "bundle
specific guides" should be corrected to the compound adjective "bundle-specific
guides"; update the text to insert the hyphen so it reads "bundle-specific
guides".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants