Website profiles · Technology insights · Alternatives

yaak.app Paid content

Categories: Development

Your requests on your machine, versioned with Git. Interact with any API using the app or agent-friendly CLI.

Visit website

Updated: 2026-10-01 22:15 Language: English (default) Access: Normal

Profile views 3 Outbound visits 0
Yaak Full homepage screenshot
Editorial Review

Website Review

What is Yaak?

Yaak is a desktop API client built around a local-first model: your requests live as files on your machine rather than in a vendor's cloud, and you version and share them through Git. It runs on macOS, Windows and Linux, and supports HTTP, GraphQL, gRPC, WebSocket and SSE, along with a CLI that the same request collection can be driven from.

Its distinguishing choices, based on the product's own description:

  • Files, not a hosted workspace. Each request, folder and environment is a YAML file, so diffs, branches and code review happen in the Git workflow your team already uses.
  • Local data by default. The app stores work on your machine and sends requests directly to your servers; no account is required and there is no automatic cloud sync. Secrets can be encrypted with keys held in the OS keychain, and the source is MIT-licensed.
  • No built-in AI assistant. Instead, agents connect to your existing requests through the CLI or an MCP plugin, and CLI-made changes appear in the app.
  • Extensibility. Auth methods, importers and template functions can be added via plugins, and requests can be chained to reuse values without writing scripts.

Who it suits: teams that already treat configuration as code and want API collections reviewed alongside the services they test; developers who object to uploading credentials or internal endpoint details to a third-party dashboard; and anyone who wants an agent to operate on the same collection a human uses rather than a parallel one.

Who should look elsewhere: if you rely on a browser-based client you can open from any machine without installing anything, or you want the client itself to generate and run AI-written requests, the local-first and no-built-in-AI stance works against you. Git-based sharing also assumes your team is comfortable with commits and merge conflicts on request files.

A practical first step: install the app and import an existing collection, then check whether the one-YAML-file-per-request layout produces diffs you would actually be willing to review. That single test tells you more about fit than any feature list. If you need team licensing, SSO via OpenID Connect or SCIM provisioning, those exist but sit behind per-seat plans — see Yaak for current details.

How does Yaak keep my API requests local and private?

Yaak keeps API requests local by default: the desktop app stores your work on your own machine and sends requests directly to the APIs you're testing, rather than routing them through a cloud platform or dashboard. No account is required, and there's no automatic cloud sync.

What that means in practice

  • Requests live as files you control. Each request, folder, and environment is stored as a YAML file, so you can keep them in a Git repository and review changes like any other code.
  • Sharing is opt-in. Collaboration happens through your existing Git workflows — commit, diff, and push — so your team's Git provider permissions govern who sees what. Secrets can optionally be encrypted for sharing.
  • Secrets stay protected. Secrets are encrypted with keys held in your operating system's keychain.
  • No desktop telemetry. The desktop app reports zero telemetry, and the source is MIT-licensed, so you can inspect or build it yourself.

Trade-off to weigh

Local-first means you're responsible for backups, Git hygiene, and secret handling. If your team expects a hosted dashboard with built-in access controls, this model shifts that work onto your existing Git and identity tooling instead.

A concrete scenario: you're debugging a payments API with production-like tokens. Requests and tokens stay on your laptop; you commit only the request definitions to a private repo and keep tokens in an environment file excluded from Git. A teammate pulls the repo, supplies their own credentials, and runs the same requests.

Next step: decide whether your team's Git provider is a sufficient access boundary. If yes, start by committing one folder of requests and testing the diff-and-review flow before migrating a large collection. If you need centralized seat management, the vendor's pricing page covers per-seat licensing, SSO, and provisioning.

How do I sync and share API requests with my team using Git?

Store each request as its own YAML file in a Git repository, then let your team's existing Git workflow do the syncing. That is the core idea behind Yaak: requests, folders and environments live on your machine, and collaboration happens through branches, commits and diffs rather than a proprietary cloud account. If you already use GitHub, GitLab or Bitbucket, you likely have most of what you need.

A practical workflow

  1. Create a repository for your API collection and put the app's request files in it. Commit and push.
  2. Teammates clone the repo and open the same folder in their client.
  3. Make changes on a branch — add a request, adjust an environment, update a header.
  4. Review with a normal diff. Because each request is a separate YAML file, a pull request shows exactly which request changed and how.
  5. Merge. Everyone pulls and sees the update.

The advantage over a hosted workspace is that review, history and access control are the tools you already use: pull requests, branch protection, and your Git provider's permissions. The trade-off is that you must be deliberate about secrets and about resolving merge conflicts in files that teammates edit simultaneously.

What Yaak adds on top

Yaak is a local-first API client for HTTP, GraphQL, gRPC, WebSocket and SSE, with a built-in Git UI so you can branch, commit and diff without leaving the app. It also supports optional encryption for shared secrets, and its desktop app stores data locally with no account required. For teams, it offers per-seat licenses, OpenID Connect sign-in and SCIM provisioning — useful if you need centralized seat management, though that is separate from how requests themselves are shared.

Secrets are the part people get wrong

Request definitions are fine to commit. Credentials usually are not. Two workable patterns:

  • Keep secrets out of Git. Commit a template environment with placeholder variables, and let each developer supply real values locally.
  • Encrypt secrets before committing. Yaak supports optional encryption with keys held in the OS keychain, which lets you share secrets through the repo without exposing them in plaintext. This is more convenient but depends on key distribution and rotation discipline.

Either way, treat the repository as public within your organization and assume anything committed is readable by everyone with repo access.

When this approach fits

Situation Git-based sharing Hosted cloud workspace
Team already reviews code in Git Strong fit — one review process Extra tool to check
Strict data-residency or no-cloud rules Strong fit — requests stay local Often blocked
Non-engineers need to run requests Workable, but they need Git basics Usually easier
Many people editing the same collection daily Merge conflicts need care Live sync avoids them
Secrets shared widely Requires encryption or an external vault Often built in

If your team is comfortable with branches and pull requests, Git-based sharing removes a whole category of tooling and keeps the collection next to the code it tests. If most of your API consumers are not developers, expect some onboarding friction.

Next step

Pick one repository, commit a single request file, and have a colleague clone it and open the folder. That small test will tell you quickly whether your team's Git habits and secret handling are ready for the full collection — and whether you need the encryption option or a separate secrets manager.

What protocols and request types does Yaak support?

Yaak is an API client built around REST-style HTTP plus several real-time and RPC protocols. According to the site, it handles HTTP, GraphQL, gRPC, WebSocket, and SSE, and it also mentions a PDF preview—useful when an API returns a document rather than JSON.

H3 What that means in practice

  • HTTP/REST is the core use case: requests, headers, redirects, and response details are all inspectable.
  • GraphQL is supported as a first-class request type, not just a raw POST body.
  • gRPC covers services that don't speak JSON over HTTP.
  • WebSocket and SSE cover streaming and event-driven APIs, so you can watch messages arrive.
  • Template functions and chaining let you reuse values across requests without writing scripts.

H3 Choosing it for a mixed-protocol workflow If your team works across a REST backend and a GraphQL or gRPC service, a single client that opens all of them avoids switching tools mid-debug. The local-first design also means requests live in one YAML file per request, folder, or environment, so Git diffs stay readable.

For a concrete test: import an existing collection, open a WebSocket endpoint alongside an HTTP request, and check whether the redirect and header inspection gives you enough detail. If you mainly need one protocol, a narrower tool may be simpler; if you need several plus version control, Yaak's breadth is the point.

Compare with Insomnia or Postman if you want to see how their protocol coverage and collaboration models differ.

How do I connect AI agents like Claude or Cursor to my existing requests in Yaak?

Connect an AI agent to Yaak through the MCP server plugin or the CLI, then point the agent at your existing Yaak workspace. Both routes are designed so the agent works with the same requests you already have, rather than maintaining a separate collection.

According to Yaak's own product page, the intended flow is:

  • MCP server plugin — described as supporting Claude, Cursor, and others.
  • CLI — agent-friendly, and changes made through it show up in the app.
  • CLI skill installer — run yaak agent install to set it up.

Yaak explicitly notes it is "built for agents, without built-in AI," so the agent lives in your existing tool and only reads/writes through these interfaces.

A practical setup order

  1. Install the Yaak desktop app and confirm your requests are in a local workspace.
  2. Add the MCP server plugin to your agent (Claude, Cursor, or similar).
  3. Or install the CLI skill with yaak agent install if your agent works better through a terminal.
  4. Test with one low-risk request — for example, a GET against a staging endpoint — and confirm it appears in the app afterward.

Choosing between the two

Route Better when Trade-off
MCP plugin Your agent supports MCP and you want tool-style access from inside the chat Depends on the agent's MCP support quality
CLI You want scriptable, terminal-based agent workflows Agent needs shell access; you manage the skill install

What to watch for

Because Yaak stores requests as one YAML file per request, folder, and environment, agent edits are diffable in Git. That is the main practical benefit: you can review what the agent changed before committing. If you enable secrets encryption, secrets stay in the OS keychain rather than in plain YAML — useful when an agent might otherwise read or move credentials.

For teams, Yaak's page also mentions per-seat licensing, SSO via OpenID Connect, and SCIM provisioning, so agent access can sit inside the same org controls as human access.

Next step: check Yaak's documentation for the current MCP plugin configuration snippet, since the exact JSON or command depends on which agent you use.

How does Yaak's per-seat team licensing and SSO work?

Yaak's team plan is per-seat and managed centrally: you buy seats online, then assign or reassign them as people join or leave, from a central dashboard. Team identity runs through the provider you already use — sign-in via OpenID Connect and member provisioning via SCIM — so access is tied to your existing directory rather than a separate Yaak account system.

Two practical consequences follow from the page's description:

  • Licenses are a pool, not permanent assignments. Because seats can be reassigned, you can onboard a contractor or offboard a departing engineer without buying or stranding a seat. Budget for the number of concurrent users you expect, not your total headcount.
  • Provisioning is directory-driven. SCIM handles member lifecycle, so deprovisioning in your identity provider is the natural place to revoke access. That is the workflow to test first, since it determines how much manual admin remains.

Note that collaboration on the request collections themselves does not depend on the team plan: requests live as one YAML file per request, folder and environment, committed and diffed through Git, with access controlled by your Git provider's existing permissions. Secrets sharing can optionally be encrypted. So the paid layer governs who may use the app, while who may see which requests is generally a Git permissions question.

For agent use, the CLI and MCP plugin let AI tools work against your existing requests in the same workspace, and CLI changes appear in the app — useful if some seats are effectively occupied by automated workflows rather than people.

Next step: before buying, list the identity provider features you rely on (OIDC groups, SCIM attribute mappings) and confirm each maps cleanly; then pilot with one small team and reassign a seat deliberately to verify the offboarding path works as expected. See Yaak for current seat terms and provisioning details.

Related questions

More questions →
What Is OpenAPI-Generated API Documentation and How Does It Work?

OpenAPI-generated API documentation is reference documentation that is produced automatically from an OpenAPI description file rather than written by hand. You write (or generate) a machine-readable specification of your API — endpoints, parameters, request bodies, responses, schemas, and auth — and a documentation tool reads that file and renders a browsable, often interactive reference site. The spec becomes the single source of truth; the docs become a build artifact.

This differs from manually written docs in one fundamental way: with hand-written docs, the prose is the source of truth and the API is described separately. With spec-driven docs, the API description is the source, and every page, table, and code sample is derived from it.

How the workflow actually runs

A typical spec-driven documentation pipeline has five stages:

  1. Author or generate the spec. You either write an OpenAPI document by hand (YAML or JSON), or generate it from code annotations, framework metadata, or a design-first editor. Design-first means the spec is written before implementation; code-first means it is extracted from existing code.
  2. Validate and lint. The spec is checked against the OpenAPI schema and against style rules — consistent naming, required descriptions, no undocumented 4xx responses, no orphaned schemas.
  3. Bundle and transform. Multi-file specs are combined, $ref pointers are resolved, and the document is optionally split into per-tag or per-version outputs.
  4. Render. A documentation tool converts the spec into HTML: an endpoint list, a sidebar of operations, parameter tables, response schemas, and a "try it" console.
  5. Publish and version. The rendered site is deployed, and each API version gets its own snapshot so consumers can read docs matching the version they call.

Steps 2 through 5 are usually automated in CI. If the spec fails validation, the docs build fails — which is the point.

Spec-driven vs. hand-written documentation

Dimension OpenAPI-generated Hand-written
Source of truth The spec file The prose
Consistency with the API High, if the spec is accurate Drifts as the API changes
Effort per endpoint Low after setup Repeated for every endpoint
Narrative and tutorials Weak; needs separate pages Strong
Code samples Generated per language from schemas Written and maintained manually
Customization Bounded by the tool's templates Unlimited
Failure mode Accurate spec, poor docs, or stale spec Beautiful docs that describe an API that no longer exists

The practical conclusion most teams reach: generate the reference, write the guides. Reference material is repetitive and mechanical, which is exactly what generation is good at. Conceptual explanations, migration notes, and tutorials carry judgment that a spec cannot express.

What you get out of the box

Generated reference pages commonly include:

  • An operation list grouped by tag or path, with HTTP method and path.
  • Parameter tables showing name, location (path, query, header, cookie), type, required flag, and description.
  • Request and response schemas rendered as expandable trees, including nested objects and arrays.
  • Authentication details pulled from the securitySchemes section.
  • Interactive request consoles that let a reader send a real call from the browser.
  • Generated code samples in several languages, derived from the same schemas.
  • Multiple output formats, such as a static site, a single HTML file, or a mock server.

Because all of these come from one document, changing a field name in the spec updates the parameter table, the schema tree, and every code sample at once.

Where spec-driven documentation breaks down

Generation is not free. The trade-offs are real:

Spec quality becomes documentation quality. A field with no description produces a table row with an empty cell. A vague summary produces a vague heading. Tools can enforce presence of descriptions via linting, but they cannot enforce that the description is useful.

Customization has limits. If you need a page that does not map to an OpenAPI concept — a conceptual overview, a pricing explanation, a comparison of two endpoints — you write it outside the generator and link to it.

Not everything is expressible. Webhooks, streaming responses, long-polling behavior, and complex multi-step flows are awkward or impossible to describe fully in OpenAPI. Those need prose.

The spec can go stale. If the spec is maintained separately from the implementation, it drifts just like hand-written docs. The mitigation is to generate the spec from code, or to test the implementation against the spec in CI.

Interactive consoles need care. A "try it" button that hits a production API with real credentials is a security and rate-limit problem. Point it at a sandbox, or disable it.

Deciding whether to adopt it

Adopt spec-driven reference documentation if most of these are true:

  • Your API has more than a handful of endpoints, or changes frequently.
  • You ship client SDKs or code samples in more than one language.
  • Multiple teams consume the API and need a consistent, always-current reference.
  • You already have, or are willing to maintain, an OpenAPI description.

Stay with hand-written docs, or a hybrid, if:

  • Your API is small and stable, and the reference fits on one page.
  • Your documentation is mostly conceptual and contains little endpoint-level detail.
  • You cannot commit to keeping the spec in sync with the implementation.

A reasonable middle path: generate the reference from the spec, and hand-write the getting-started guide, authentication walkthrough, and error-handling page. Link the two directions so readers can move from concept to endpoint and back.

A minimal starting checklist

  1. Produce one valid OpenAPI document for a single API version.
  2. Add a linter with rules for descriptions, operation IDs, and error responses.
  3. Wire the docs build into CI so a failing spec fails the build.
  4. Render the reference and review it as a reader, not as the author.
  5. Write the two or three conceptual pages the generator cannot produce.
  6. Version the published docs alongside the API version.

The core idea is simple: describe the API once, in a format both machines and humans can read, and let the reference documentation fall out of that description. Everything else — tooling, hosting, interactivity — is a detail on top of that decision.

What Is Yaak? A Local-First API Client Explained

Yaak is a desktop API client that stores your requests on your own machine and versions them with Git. It's built for developers and teams who want to interact with APIs without routing their data through a cloud platform, dashboard, or built-in AI sidebar. If you work with REST, GraphQL, gRPC, WebSocket, or SSE endpoints and prefer keeping your collections in a Git repo you already control, Yaak is designed for that workflow.

What kind of tool is it?

Yaak is a local-first API client — a desktop application available for Mac, Windows, and Linux. It's built with Rust and Tauri, which the site frames as a speed advantage: it claims you can manage 3,286 requests with no lag.

The core idea is that your requests live on your machine, not on a vendor's servers. The desktop app stores work locally and sends API requests directly to your servers. There's no account required and no automatic cloud sync.

What protocols and features does it support?

Yaak handles a broad set of API interaction types:

Capability Details
Protocols HTTP, GraphQL, gRPC, WebSocket, SSE
Request management One YAML file per request, folder, and environment
Chaining Chain requests and reuse values without writing scripts
Inspection Inspect every redirect, header, and detail of any request
Extensibility Plugins for auth, importers, and template functions
Preview PDF preview

The "one YAML file per request" detail matters: it's what makes Git-based versioning practical, since each request is a diffable text file rather than an opaque database entry.

How does Git-based collaboration work?

Instead of a proprietary cloud, Yaak leans on the Git workflow your team already uses:

  • Commit requests, diff changes, and share them through Git
  • Branch, commit, and diff from a built-in Git UI
  • Optionally enable encryption to share secrets securely
  • Manage access through your Git provider's existing permissions

This means collaboration and access control are inherited from your existing Git setup rather than a new permission system.

How does it handle privacy and secrets?

The local-first design extends to security:

  • Secrets are encrypted with keys in the OS keychain
  • Zero telemetry from the desktop app
  • The source is MIT-licensed, so you can inspect and build it yourself
  • You choose what to share and where

Because there's no account requirement and no automatic cloud sync, the default posture is that nothing leaves your machine unless you deliberately push it through Git.

How does it work with AI agents?

Yaak is positioned as "built for agents, without built-in AI." Rather than embedding an AI assistant, it exposes interfaces that external agents can use:

  • A CLI that is described as agent-friendly
  • An MCP server plugin for tools like Claude and Cursor
  • An install command: yaak agent install

Changes made through the CLI show up in the app, so agents work with your existing requests instead of maintaining a separate collection.

Who is it for?

Yaak fits you if:

  • You want your API requests stored and versioned locally
  • Your team already collaborates through Git and wants to keep using it
  • You need to work across multiple protocols (HTTP, GraphQL, gRPC, WebSocket, SSE) in one tool
  • You want to connect AI agents to your existing request collection via CLI or MCP
  • You prefer no account, no cloud dashboard, and no built-in AI sidebar

It may be less suited if you specifically want a hosted, browser-based collaboration platform with built-in AI features.

What about pricing and teams?

The site references per-seat licenses for teams, managed in one place, with SSO and provisioning connecting to your existing identity provider. Specific features mentioned include:

  • Buying seats online and reassigning them as your team changes
  • Signing in to your organization with OpenID Connect
  • Provisioning organization members through SCIM
  • Assigning and managing licenses from a central dashboard

Pricing details live on a dedicated pricing page; the source material here doesn't state specific figures, so check that page for current numbers.

Getting started

The site offers a download for Mac, Windows, and Linux, plus documentation. Yaak has been shipping since January 2024, with the version referenced as 2026.8.0. If you want to evaluate it, the fastest path is to download the desktop app, import or create a request, and try committing it to a Git repo to see whether the local-first, Git-versioned model matches how your team works.

How Yaak Works With AI Agents and the CLI

Yaak lets AI agents work directly with the same request collection you use in the desktop app, rather than maintaining a separate set of requests just for automation. You connect an agent through the CLI or the MCP server plugin, and any changes it makes through the CLI appear in the app. This suits teams already using Claude, Cursor, or similar agent tools who want them to read and modify existing requests without a parallel collection.

The two ways to connect an agent

Yaak offers two integration paths, and they serve slightly different setups.

Path What it is Best for
CLI A command-line interface that interacts with your existing requests Scripted tasks, terminal-based agents, and agents that run shell commands
MCP server plugin A Model Context Protocol server that exposes Yaak to MCP-compatible clients Agents in tools like Claude and Cursor that speak MCP

Both operate on the requests you already have. You don't export, duplicate, or rebuild a collection for the agent to use.

Connecting through the CLI

The CLI is described as "agent-friendly," meaning it's designed to be driven by an agent rather than only by a human at a terminal.

  1. Install the CLI skill. Yaak provides a command for this: yaak agent install. Running it sets up the skill an agent needs to work with Yaak.
  2. Point the agent at your requests. Because the CLI works with your existing collection, the agent reads and modifies the same requests you see in the app.
  3. Verify in the app. Changes made through the CLI show up in the desktop app, so you can confirm what the agent did without a separate sync step.

The key behavior to remember: the CLI and the app share one source of truth. If an agent adds or edits a request via the CLI, that change is visible in the app.

Connecting through the MCP server plugin

For agents that support MCP, Yaak offers an MCP server plugin. The site names Claude and Cursor as examples of compatible tools ("MCP server plugin for Claude, Cursor, and more").

The practical difference from the CLI is the interface the agent uses: instead of shell commands, the agent talks to Yaak through the MCP protocol. The outcome is the same — the agent works with your existing requests rather than a separate collection.

Why this avoids a second collection

Many agent workflows require you to maintain a dedicated set of API calls just for the agent. Yaak's approach is the opposite: the agent connects to the requests you already maintain. The site states this directly — agents "can work with your existing requests, without maintaining a separate collection."

This matters for a few reasons:

  • No drift. If you keep a separate agent collection, it falls out of date as your real requests change. Sharing one collection removes that problem.
  • One place to review. Changes the agent makes are visible in the app, so review happens where you already work.
  • Git still applies. Since requests are stored as files versioned with Git, agent-made changes flow through the same commit and diff workflow as human edits.

A note on "without built-in AI"

Yaak describes itself as "built for agents, without built-in AI." That means the app doesn't ship an AI sidebar or assistant of its own. Instead, it exposes your requests to external agents through the CLI and MCP plugin. If you want AI assistance, you bring your own agent tool; Yaak provides the connection to your data.

What to check before relying on this

  • Confirm your agent supports the connection type. MCP-based agents use the plugin; shell-driven agents use the CLI. Match the path to your tool.
  • Check where changes land. The documented behavior is that CLI changes appear in the app. Verify this in your own setup before building a workflow around it.
  • Team licensing is separate. Per-seat licenses, SSO, and SCIM provisioning are team features managed separately from the agent integration. If you're rolling this out across a team, review the pricing page for seat details.

For the exact install steps and current plugin support, the Yaak docs are the authoritative source, since agent tooling and MCP support change quickly.

How does Yaak use Git to version and share API requests?

Yaak stores each request, folder, and environment as a separate YAML file, so your API collection becomes a normal Git repository. You commit, branch, and diff those files from a built-in Git UI, and anyone with access to the repo can pull the same requests. Secrets are only shared if you turn on encryption, and access control comes from your existing Git provider rather than a separate permission system.

This fits teams that already use Git and want API requests to live alongside code. It is not a hosted collaboration platform: there is no cloud dashboard or automatic sync, and sharing depends on where you push the repo.

One YAML file per request, folder, and environment

The unit of versioning is the file, not a database row. According to the Yaak site, the app keeps "one YAML file per request, folder, and environment." That structure is what makes Git work naturally:

  • A change to a single request shows up as a change to a single file, so diffs stay readable.
  • Folders and environments are also files, so reorganizing a collection is itself a reviewable change.
  • Because the format is plain YAML, you can inspect or edit it outside the app.

The practical consequence: merging two people's work is ordinary Git merging. If two people edit the same request, you resolve a text conflict the same way you would in code.

Branch, commit, and diff from the built-in Git UI

You do not need a separate terminal or third-party Git client to version requests. Yaak's built-in Git UI supports branching, committing, and diffing. The workflow looks like this:

  1. Make or edit requests in the app. The changes are written to the YAML files in your working directory.
  2. Open the Git UI, review the diff, and commit the changes you want to keep.
  3. Create a branch if you want to try a variant without touching the main collection.
  4. Push to your Git remote so teammates can pull the same requests.

The expected result is that your request collection has the same history, review, and rollback properties as the rest of your repository. A useful side effect: because changes are committed, you can see when a request changed and what it looked like before.

Sharing secrets safely with optional encryption

Sharing a request often means sharing the values it needs, including tokens and keys. Yaak's approach is to keep secrets out of plaintext by default and let you opt into encryption:

  • Secrets can be encrypted with keys held in the OS keychain, so the raw values are not sitting in the YAML.
  • Encryption is optional. If you enable it, you can share secrets through the repo; if you do not, treat committed files as potentially readable by anyone with repo access.
  • The desktop app stores work locally and sends API requests directly to your servers, and the site states there is no account requirement and no automatic cloud sync.

A concrete scenario: a team keeps a staging environment in the repo. Without encryption, the staging token in that environment file is visible to everyone who can read the repo. With encryption enabled, the token is protected by a keychain-held key, and only people who can unlock it can use the value.

Access control comes from your Git provider

Yaak does not introduce its own permission model for shared requests. Instead, the site says you "manage access through your Git provider's existing permissions." In practice:

  • If someone can read the repository, they can read the requests in it.
  • If someone cannot push to the repository, they cannot change the shared collection.
  • Revoking access means changing their access in the Git provider, not in Yaak.

This is the main trade-off of the local-first model. You get no proprietary cloud, no separate account system, and no dashboard to administer, but you also get no Yaak-specific sharing controls. Your Git provider's rules are the rules.

What this means for your team

Choose Yaak's Git workflow if your team already reviews code in Git and wants API requests to go through the same review and history. It works well when:

  • You want requests to live next to the code they exercise.
  • You want diffs and branches for API changes, not just for source files.
  • You are comfortable with access being defined by your Git provider.

Look elsewhere if you need a hosted, always-synced collection with its own user management and no Git involvement. Yaak's model is deliberately the opposite: files on your machine, versioned with Git, shared through the remote you already use.

For teams that need centralized license management, the site also mentions per-seat licenses, SSO via OpenID Connect, SCIM provisioning, and a central dashboard, with pricing on a separate page. Those are team administration features layered on top of the local-first, Git-based core described above.

How Is Yaak Licensed and Managed for Teams?

Yaak uses per-seat licenses for teams, managed from a central dashboard. If your team already runs an identity provider, you can connect it through OpenID Connect for sign-in and SCIM for member provisioning, then buy and reassign seats online as headcount changes. This model fits teams that want shared tooling without adopting a proprietary cloud platform — but it assumes you have (or are willing to set up) an identity provider and a Git workflow for the actual request files.

The licensing model

Yaak's team offering is seat-based rather than usage- or request-based:

  • Per-seat licenses for teams of any size, managed in one place.
  • Online purchase and reassignment — buy seats online and reassign them as your team changes.
  • Central dashboard — assign and manage licenses from a single place.

The practical implication is that cost scales with the number of people who need access, not with how many requests they store or how much traffic they generate. Because seats can be reassigned, you don't have to over-provision for turnover; you can move a seat from a departing member to a new one.

Pricing figures are not included in the source material. The site links to a pricing page, so check there for current per-seat rates before committing to a headcount.

Identity and provisioning

Two standards handle team access:

Capability What it does
OpenID Connect Sign in to your organization with your existing identity provider
SCIM Provision organization members automatically

Both connect to the identity provider you already use, which means onboarding and offboarding can follow your existing directory rather than a separate Yaak-specific account system. If your team has no IdP, this is the main prerequisite to resolve before adopting the team tier — the individual desktop app doesn't require an account, but organization sign-in is built around OIDC.

What stays outside the license

The team license covers access and administration. It does not change where your data lives:

  • The desktop app stores work locally and sends API requests directly to your servers.
  • No account is required for the desktop app, and there is no automatic cloud sync.
  • Collaboration happens through your existing Git workflows — one YAML file per request, folder, and environment — with branch, commit, and diff available from a built-in Git UI.
  • Access control for shared requests comes from your Git provider's existing permissions, not a Yaak-hosted permission system.
  • Secrets can optionally be encrypted, with keys held in the OS keychain.

So the licensing layer governs who can use the app as part of your organization, while who can see which requests is still decided by your Git provider. Plan for both.

Choosing between individual and team use

Stay on the individual desktop app if you're a solo developer or a small group comfortable sharing requests purely through Git, you don't need centralized seat management, and you don't need SSO or automated provisioning.

Move to the team tier if you need to manage licenses in one place, want sign-in through your existing identity provider, need SCIM-based member provisioning, or expect headcount to change often enough that reassigning seats matters.

A reasonable evaluation sequence: confirm your IdP supports OIDC and SCIM, check current per-seat pricing on the pricing page, and run a small pilot where one person buys and assigns a seat before rolling out to the whole team.

Website Overview

Limited stack disclosure and few obvious backend markers suggest a more restrained public footprint. That reduces easy fingerprinting clues but is not proof of overall security. Page metadata, canonical configuration and social previews work together to provide more consistent search and sharing presentation.

Domain and Registration

Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The domain has about 3 years of registration history; its current configuration provides more context than age alone. The registrar is Tucows Domains Inc, a widely used domain service provider. The domain uses the common .app extension, which is not an independent safety signal.

DNS and Email

The lowest TTL is 60 seconds, supporting rapid record changes at the cost of more frequent lookups. Nameservers are provided by Cloudflare, indicating managed DNS hosting. MX records point to the Google Workspace email service. No CNAME was found; the observed records resolve directly to addresses. SPF and DMARC are configured. DKIM status is unknown.

TLS and Certificates

The certificate uses an RSA 2048-bit public key, offering broad client compatibility. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued by Let's Encrypt, commonly associated with automated certificate services. The certificate's total validity is about 89 days, consistent with a short renewal cycle.

HTTP and Browser Security

The checked browser-security headers were not detected, leaving fewer explicit browser-side safeguards. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. The x-cache response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers. The Server header contains the custom value railway-hikari.

Technology Stack Analysis

No obvious technology stack is exposed. This may reflect restrained information disclosure, although the underlying technologies remain unknown.

Search and Social Sharing

Twitter Card metadata is configured. The title has 33 characters, within a common display range. A meta description is present, with 110 characters. The observed directives allow indexing and link following. No Generator meta tag is publicly exposed.

Hosting and Email

DNSCloudflare
HostingRailway
EmailGoogle Workspace
Location United States flagSeattle, Washington, United States 69.46.46.88

User reviews (0)

  • No reviews yet.

Pages, Search and Sharing

Meta descriptionYour requests on your machine, versioned with Git. Interact with any API using the app or agent-friendly CLI.
Canonical URLhttps://yaak.app
LanguageEnglish (default)
Twitter Cardsummary_large_image
All bots 0 allowed · 11 disallowed
  • Disallow/admin/
  • Disallow/api/
  • Disallow/actions/
  • Disallow/ajax/
  • Disallow/auth/
  • Disallow/dashboard/
  • Disallow/login/
  • Disallow/otp
  • Disallow/signup/
  • Disallow/webhooks/
  • Disallow/x/

No sitemaps found

Registration details RDAP / WHOIS

RegistrarTucows Domains Inc
Registered2023-03-02
Expires2027-03-02
Domain statusclient transfer prohibited、client update prohibited
Nameserversalexandra.ns.cloudflare.com、jay.ns.cloudflare.com
DNSSECunsigned

DNS records

TypeNameValueTTLPriority
Ayaak.app69.46.46.8860—
MXyaak.appaspmx.l.google.com3001
MXyaak.appalt1.aspmx.l.google.com3005
MXyaak.appalt2.aspmx.l.google.com3005
MXyaak.appalt3.aspmx.l.google.com30010
MXyaak.appalt4.aspmx.l.google.com30010
NSyaak.appalexandra.ns.cloudflare.com86400—
NSyaak.appjay.ns.cloudflare.com86400—
TXTyaak.appgoogle-site-verification=Xv6YEcJFZlxqKPtxuCdEELgAXb46moYoQ-We9_RRRCE300—
TXTyaak.appv=spf1 include:_spf.google.com -all300—
DMARC_dmarc.yaak.appv=DMARC1; p=none;300—

TLS and certificates

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectyaak.app
IssuerLet's Encrypt
Valid until2026-11-30T11:53 · Remaining when checked: 59 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HeaderValue
content-typetext/html; charset=utf-8
cache-controlno-store, no-cache, must-revalidate
serverrailway-hikari

Identified technologies

Technology stack: Unknown

Recent Updates

  • Website images