Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 4 additions & 8 deletions pages/architecture/account-and-identity.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ If you followed the [Quickstart](/getting-started/quickstart), you already have

## Create an account

Sign up at [certified.app](https://certified.app). You'll get:
Sign up at [certified.app](https://certified-app-hypercerts-foundation.vercel.app/). You'll get:

@coderabbitai coderabbitai Bot Mar 5, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Use a single canonical Certified URL in both link text and target.

The docs currently show certified.app but link to a Vercel deployment URL. Please align visible text and href to the same canonical domain (or explicitly call out it’s a temporary host), otherwise this reads as a mismatched destination and can reduce user trust. This same issue repeats on Line 51, Line 61, and Line 86.

Suggested doc fix
-Sign up at [certified.app](https://certified-app-hypercerts-foundation.vercel.app/). You'll get:
+Sign up at [certified.app](https://certified.app/). You'll get:
📝 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
Sign up at [certified.app](https://certified-app-hypercerts-foundation.vercel.app/). You'll get:
Sign up at [certified.app](https://certified.app/). You'll get:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pages/architecture/account-and-identity.md` at line 14, The visible link text
"certified.app" and its href
"https://certified-app-hypercerts-foundation.vercel.app/" must be aligned;
locate the markdown link instances like Sign up at
[certified.app](https://certified-app-hypercerts-foundation.vercel.app/.) (and
the repeated links later in the file) and either change the href to the
canonical https://certified.app or change the link text to the full Vercel URL,
or add an explicit parenthetical note that the Vercel URL is a temporary
deployment; ensure all occurrences (the initial link and the repeats) are
consistent.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

keeping as certified.app since the vercel url is wway too long

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@Kzoeps, understood! Using certified.app as the friendly display text while the href points to the Vercel deployment is a perfectly reasonable approach — it keeps the docs readable. Thanks for clarifying.


- **Low-friction sign-in** — Sign in with just your email and a code. No passwords or protocol knowledge required.
- **A DID** — Your permanent, portable identifier (e.g., `did:plc:z72i7hdynmk6r22z27h6tvur`). It never changes, even if you switch servers or handles.
Expand Down Expand Up @@ -45,11 +45,7 @@ Handles are not needed to log in to the Hypercerts ecosystem, but every user has

**Organizations should use custom domain handles.** A handle like `numpy.org` proves organizational identity — anyone can verify that the DID behind `numpy.org` is controlled by whoever controls the domain.

To set up a custom handle, add a DNS TXT record or host a file at `https://your-domain.com/.well-known/atproto-did`. See the [AT Protocol handle documentation](https://atproto.com/specs/handle) for details and this [tutorial](https://blueskyweb.zendesk.com/hc/en-us/articles/19001802873101-How-to-Set-your-Domain-as-your-Handle) from bluesky for a step-by-step guide.

{% callout type="note" %}
If you sign up using your email on certified.app you will initially be given a random handle like `1lasdk.certified.app`. You can change your handle by going to your profile settings and clicking on "Change handle" on [certified.app](https://certified.app).
{% /callout %}
To set up a custom handle, add a DNS TXT record or host a file at `https://your-domain.com/.well-known/atproto-did`. See the [AT Protocol handle documentation](https://atproto.com/specs/handle) for details.

---

Expand All @@ -58,7 +54,7 @@ If you sign up using your email on certified.app you will initially be given a r
For teams with multiple contributors, create a dedicated organizational account on a PDS. The organization gets its own DID and repository. Team members can write to the organization's repository using app passwords or OAuth scoped to the organizational account. This is useful for open-source projects, research labs, and organizations where many people contribute to the same body of work.

{% callout type="note" %}
To set up an organizational account, create an account at [certified.app](https://certified.app) with the organization's email. Use a [custom domain handle](#handles-and-domain-verification) (e.g., `numpy.org`) to prove organizational identity.
To set up an organizational account, create an account at [certified.app](https://certified-app-hypercerts-foundation.vercel.app) with the organization's email. Use a [custom domain handle](#handles-and-domain-verification) (e.g., `numpy.org`) to prove organizational identity.
{% /callout %}

---
Expand All @@ -83,7 +79,7 @@ A ready-made skill that implements the full ePDS OAuth flow is available at `.ag

For scripts, CLI tools, and server-side automation, use app passwords instead of your main password. App passwords are scoped credentials that can be revoked independently.

Create one in your account settings at [certified.app](https://certified.app). Give it a descriptive name (e.g., "CI/CD pipeline" or "Local development"). If a credential is compromised, revoke just that app password — your main account stays secure. The [Hypercerts CLI](/tools/hypercerts-cli) uses app passwords for authentication.
Create one in your account settings at [certified.app](https://certified-app-hypercerts-foundation.vercel.app). Give it a descriptive name (e.g., "CI/CD pipeline" or "Local development"). If a credential is compromised, revoke just that app password — your main account stays secure. The [Hypercerts CLI](/tools/hypercerts-cli) uses app passwords for authentication.

{% callout type="warning" %}
Never commit app passwords to version control. Use environment variables or a secrets manager.
Expand Down
2 changes: 1 addition & 1 deletion pages/core-concepts/certified-identity.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Your DID resolves via the [PLC directory](https://plc.directory) to a DID docume

## Certified: the reference identity provider

[Certified](https://certified.app) is the identity provider built for the Hypercerts ecosystem. It provisions the full identity stack in a single sign-up:
[Certified](https://certified-app-hypercerts-foundation.vercel.app) is the identity provider built for the Hypercerts ecosystem. It provisions the full identity stack in a single sign-up:

- **A DID** — your permanent identifier
- **A PDS** — your Personal Data Server, where records are stored
Expand Down
2 changes: 1 addition & 1 deletion pages/getting-started/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Create your first hypercert. This guide uses TypeScript and Node.js v20+.

## Create an account

[Sign up at certified.app](https://certified.app). This gives you an AT Protocol identity and a PDS where your data is stored. (Already have a Bluesky or other ATProto account? That works too.)
[Sign up at certified.app](https://certified-app-hypercerts-foundation.vercel.app). This gives you an AT Protocol identity and a PDS where your data is stored. (Already have a Bluesky or other ATProto account? That works too.)

## Install dependencies

Expand Down
2 changes: 1 addition & 1 deletion pages/reference/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ The new protocol stores data on AT Protocol instead of purely on-chain. This giv

#### Do I need a blockchain wallet?

Not to create or evaluate hypercerts — you only need an account on [certified.app](https://certified.app) or any ATProto provider. A wallet will be needed for on-chain funding once the [tokenization layer](/core-concepts/funding-and-value-flow) is built.
Not to create or evaluate hypercerts — you only need an account on [certified.app](https://certified-app-hypercerts-foundation.vercel.app) or any ATProto provider. A wallet will be needed for on-chain funding once the [tokenization layer](/core-concepts/funding-and-value-flow) is built.

#### Can I use my Bluesky account?

Expand Down
4 changes: 2 additions & 2 deletions pages/reference/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ The permanent, globally unique identifier for a record. Looks like `at://did:plc

#### DID (Decentralized Identifier)

A permanent identifier for a user or organization. Looks like `did:plc:abc123xyz`. You get one when you create an account on [certified.app](https://certified.app) or [Bluesky](https://bsky.app). Your DID never changes, even if you switch servers or handles. Every record you create carries your DID as the author.
A permanent identifier for a user or organization. Looks like `did:plc:abc123xyz`. You get one when you create an account on [certified.app](https://certified-app-hypercerts-foundation.vercel.app) or [Bluesky](https://bsky.app). Your DID never changes, even if you switch servers or handles. Every record you create carries your DID as the author.

#### CID (Content Identifier)

Expand Down Expand Up @@ -87,4 +87,4 @@ The server where your records are stored. You interact with it through the ATPro

#### Certified

The ATProto identity provider for the Hypercerts ecosystem. When you sign up at [certified.app](https://certified.app), you get a DID, a PDS, and an embedded wallet. See [Account & Identity Setup](/architecture/account-and-identity).
The ATProto identity provider for the Hypercerts ecosystem. When you sign up at [certified.app](https://certified-app-hypercerts-foundation.vercel.app), you get a DID, a PDS, and an embedded wallet. See [Account & Identity Setup](/architecture/account-and-identity).
16 changes: 10 additions & 6 deletions pages/tools/hypercerts-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ The Hypercerts CLI (`hc`) is a command-line tool for managing hypercerts on ATPr
- Run interactively with a terminal UI or non-interactively with flags for CI/CD
- Resolve identities and inspect any record on the network

Built in Go on [bluesky-social/indigo](https://github.com/bluesky-social/indigo) with interactive forms powered by [Charm](https://charm.sh) libraries. Source: [github.com/GainForest/hypercerts-cli](https://github.com/GainForest/hypercerts-cli).
Built using Go on [bluesky-social/indigo](https://github.com/bluesky-social/indigo) with interactive forms powered by [Charm](https://charm.sh) libraries. Source: [github.com/GainForest/hypercerts-cli](https://github.com/GainForest/hypercerts-cli).

## Install

Expand Down Expand Up @@ -100,15 +100,19 @@ Every record type supports `create`, `ls`, `get`, `edit`, `delete` with the same
| Command | Record Type | Alias |
|---------|------------|-------|
| `hc activity` | `org.hypercerts.claim.activity` | — |
| `hc measurement` | `org.hypercerts.claim.measurement` | `hc meas` |
| `hc measurement` | `org.hypercerts.context.measurement` | `hc meas` |
| `hc location` | `app.certified.location` | `hc loc` |
| `hc attachment` | `org.hypercerts.claim.attachment` | `hc attach` |
| `hc attachment` | `org.hypercerts.context.attachment` | `hc attach` |
| `hc rights` | `org.hypercerts.claim.rights` | — |
| `hc evaluation` | `org.hypercerts.claim.evaluation` | `hc eval` |
| `hc collection` | `org.hypercerts.claim.collection` | `hc coll` |
| `hc evaluation` | `org.hypercerts.context.evaluation` | `hc eval` |
| `hc collection` | `org.hypercerts.collection` | `hc coll` |
| `hc contributor` | `org.hypercerts.claim.contributorInformation` | `hc contrib` |
| `hc funding` | `org.hypercerts.funding.receipt` | `hc fund` |
| `hc workscope` | `org.hypercerts.helper.workScopeTag` | `hc ws` |
| `hc workscope` | `org.hypercerts.workscope.tag` | `hc ws` |

{% callout type="note" %}
The CLI is currently being updated to reflect the latest lexicon namespaces shown above. This migration is currently ongoing.
{% /callout %}
Comment thread
coderabbitai[bot] marked this conversation as resolved.

## Generic operations

Expand Down