Website profiles · Technology insights · Alternatives

haystack.sh

Haystack gives every change its own copy of production and replays real customer journeys to expose what breaks.

No paid content found
Visit website
Profile views 7 Outbound visits 12 Normal
Haystack Full homepage screenshot

At a glance

Category
Development
Language
English
Paid-content signal
No paid content foundObserved
Registered
2026
Hosting
CloudflareInferred
HTTPS certificate trusted
PassedObserved
Last updated

Website review

This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.

What is Haystack?

Haystack is a pre-production verification tool that tests every code change against a copy of your real production environment before customers see it. Rather than relying on hand-written tests, it learns actual customer journeys from production traffic, works out which of those journeys a given change could affect, and replays them against isolated forks of your infrastructure.

How it works, in practice

  • It reads the diff and maps the change's "blast radius" — the services, code paths and customer journeys it can reach.
  • It snapshots your services and their data (databases, caches, queues, object storage) and forks that snapshot once per case, so each case runs in a real environment rather than a mock.
  • Each environment is seeded into a different state — a workspace over its seat limit, a pending invite, a just-changed role — and every case runs both with and without the change, so differences can be attributed to the change itself.
  • Failures come back with before/after screens, changed network calls and events that stopped firing, and the environment stays live so you can inspect it.
  • Results can be fed back to a coding agent via an MCP server, which fixes, re-runs and iterates until nothing fails.

Who it's for and the trade-off

This suits teams whose riskiest bugs are silent ones — a request returns 200, nothing throws, the test suite is green, but a permission or data-flow assumption has quietly broken. The worked example on the site is exactly that shape: a frontend stopped sending a member's role, the access API defaulted a missing role to editor, and anyone with a pending invite could edit or delete workspace content.

The trade-off is that this is early-stage software taking on a small number of teams, so it's a fit for teams willing to adopt a new step in their workflow rather than a drop-in tool with a long track record. If your changes are mostly isolated and well covered by existing tests, the value is lower; if you ship changes that cross service and permission boundaries, the case is stronger.

Next step

Start with one change you'd normally be nervous about — ideally something touching auth, permissions or shared data — and check whether the cases Haystack derives from your traffic match the journeys you actually care about. That tells you quickly whether it's worth wiring into your normal loop. You can request early access or a demo at Haystack.

How does Haystack catch bugs that my existing test suite misses?

Haystack's answer is that it stops asking you to invent test cases and instead replays the journeys your real customers already take, then runs each one against a forked copy of production with and without your change.

The mechanism, per the product's own description:

  • Blast radius from the diff. Haystack reads the code change and works out which production journeys it can reach. In the worked example on the site, a permissions refactor touching two files reached 3 services and 27 code paths, producing 14 cases worth running, mapped in about five seconds. You don't author those cases.
  • A fork of production per case. Services plus their data — Postgres, Redis, queues, object storage — are snapshotted and forked once per case. Fourteen copies in 26 seconds, described as real environments rather than mocks, isolated from production.
  • Seeded states, not clean ones. Each environment starts in a different condition: a workspace over its seat limit, an unaccepted invite, a member whose role just changed.
  • Differential execution. Every environment runs twice, with and without the change, so a difference is attributable to the change rather than to environment noise.
  • Failure evidence you can inspect. The before/after screen, the network calls that changed, and the events that stopped firing — with the environment left open.

The gap this targets is the silent failure. The site's example: a frontend stopped sending a member's role, the access API read a missing role as editor, and anyone with a pending invite could edit or delete anything in the workspace. No exception, every request returned 200, and the test suite passed. That is the class of bug a suite of hand-written assertions and mocks tends to miss, because the suite tests the cases someone thought of, in an environment where the data and side effects were arranged deliberately.

Who gets the most from it: teams with meaningful production traffic whose journeys are already varied, and teams already delegating fixes to a coding agent — the failing case is fed back in an actionable form, and the loop repeats until nothing fails. Teams with thin traffic, or systems where forking the data layer isn't practical, will get less out of the blast-radius and replay steps.

A practical next step: before adopting anything, pick one recent production incident that your suite passed. Ask whether the failing path was reachable from a diff and visible in real traffic. If yes, that's your evaluation case. Start with the CLI command haystack verify, and see Haystack for its flags and the early-access signup.

How do I set up Haystack with my existing infrastructure and CI pipeline?

Haystack is set up around two integrations: your infrastructure (so it can snapshot and fork real services) and your CI pipeline (so haystack verify runs per change). The page describes the mechanics — blast-radius analysis, forked production snapshots, paired runs with and without the change, and an MCP server for a coding-agent loop — but it does not publish a step-by-step onboarding guide. Treat the steps below as a practical order of operations, not a documented setup sequence.

What the product actually does

  • Reads a code diff and maps the affected cases from real production journeys, not hand-written scenarios.
  • Snapshots services and their data (Postgres, Redis, queues, object storage) and forks that snapshot once per case — described as real environments, not mocks, isolated from prod.
  • Runs each case twice, with and without the change, so differences are attributable to the change.
  • Returns failures with before/after screens, changed network calls and stopped events, and feeds the failing case back to your coding agent via MCP.

A sensible setup order

  1. Connect infrastructure first. Identify the services and data stores your changes typically touch. Haystack needs to snapshot and fork these, so start with one service and its database rather than the whole estate.
  2. Let production traffic define the cases. The value comes from real journeys, so give it enough traffic history to learn from before you judge coverage.
  3. Run haystack verify locally on a known change. Pick a recent change that caused a quiet production issue and see whether Haystack surfaces it. This is the fastest way to calibrate trust.
  4. Move it into CI as a required check. The natural trigger is a pull request: verify the diff, publish the run results, and block merge on failures.
  5. Add the agent loop last. Once failures are reliable, wire the MCP server so your coding agent can fix, re-run, and iterate.

CI decision criteria

Situation Reasonable approach
Small team, one main service Run haystack verify on PRs against that service only
Multiple services with shared data Expand snapshots service by service; watch fork time as case count grows
High-risk changes (auth, permissions, billing) Treat as blocking; require a clean verify before merge
Low-risk changes (copy, styling) Run in report-only mode to keep pipeline time down

Practical cautions

Forking production per case is powerful but has a cost dimension the page does not quantify — the worked example shows 14 environments and a 26-second fork, which suggests pipeline time scales with blast radius. Budget for that before making it a hard gate on every commit.

Because Haystack is described as early and taking on a small number of teams, expect onboarding to involve direct contact rather than self-serve docs. Start with Haystack early access, and have one representative service and its data store ready to connect.

Can Haystack's MCP server let my coding agent fix failures automatically?

Yes. Haystack's MCP server feeds failing cases back to your coding agent in an actionable form, so the agent can fix, re-run and loop until nothing fails. That's the intended workflow, not just a read-only integration.

H3 How the loop works

  • Haystack forks a copy of production per affected case and runs each case twice: with and without your change.
  • Failures arrive with the before/after screen, changed network calls and events that stopped firing.
  • The failing case goes to your agent via the MCP server; the agent edits code, re-runs haystack verify, and repeats.

H3 What to check before trusting it

  • Whether your agent can actually reproduce the failure locally: Haystack's environments are real forks, not mocks, so the fix is validated against the real thing rather than a simulation.
  • Whether the loop has a stopping rule. "Keeps going until nothing fails" is useful, but set a cap on iterations and require a human review before merge for changes touching auth, permissions or data deletion.
  • Whether the failure output is specific enough for your agent. The worked example — a frontend dropping a member's role, the access API defaulting a missing role to editor, and a pending invite gaining edit and delete rights — is the kind of quiet, 200-returning bug that a good agent can act on once it sees the changed network calls.

H3 A concrete scenario You refactor permissions across two files. Haystack maps the blast radius to 3 services and 27 code paths, narrows it to 14 cases, forks 14 environments, and runs each with and without the change. One case fails: a pending-invite user can now delete workspace content. Your agent gets that case, patches the role default, re-runs, and the case passes. You review the diff and the before/after evidence.

Next step: ask what the MCP server exposes — can the agent trigger a re-run itself, or does it only receive failures? That determines how autonomous the loop really is. See Haystack for the MCP server and agent-loop details.

What does a Haystack verification run actually show me when something breaks?

A Haystack verification run shows you the concrete evidence of what changed, not just a pass/fail signal. According to the page, failures come with the screen before and after, the network calls that changed, and the events that stopped firing. The forked environment stays live, so you can open it and inspect the state directly.

The run is built around real customer journeys rather than invented test cases. Haystack reads your diff, works out which journeys the change can reach, and forks a copy of production infrastructure once per case. Each environment is seeded into a distinct state — a workspace over its seat limit, an invite nobody accepted, a member whose role just changed — and every case runs twice, with and without your change. The difference between the two runs is what surfaces as a failure.

H3 What the output looks like in practice

  • Blast radius: which services and code paths the change touches, and how many cases are worth running. The page's worked example maps a two-file permissions refactor to 3 services, 27 code paths, and 14 cases in about five seconds.
  • Failing case detail: the before/after screen, the changed network calls, and the events that stopped firing.
  • A live environment: you can open the forked copy and explore it yourself rather than reading a log.
  • An agent-ready report: the failing case goes back to your coding agent in a form it can act on, so it can fix, re-run, and iterate.

The value is clearest for quiet failures. In the page's example, a frontend stopped sending a member's role, and the access API treated a missing role as editor — so anyone with a pending invite could edit and delete anything in the workspace. Nothing threw, every request returned 200, and the test suite passed. A verification run would show the changed network call and the before/after screens that expose the gap.

A useful next step: before your next risky refactor, pick the change with the widest blast radius and check whether your current tests would catch a silent behavior change like the missing-role case. If not, that is the run to try first. Haystack is early and taking on a small number of teams, so early access is at Haystack.

How do I get early access to Haystack and what does onboarding involve?

Early access to Haystack is by application, not self-serve signup. The site says the product is early and taking on a small number of teams, with an early-access signup and a demo booking as the two entry points on Haystack. Expect a conversation before you get hands-on, rather than an instant account.

What onboarding appears to involve

Onboarding centers on connecting Haystack to your production environment so it can learn your real customer journeys from live traffic, then snapshot your services and their data stores. From the page evidence, that means:

  • Reading your code diffs to work out which cases a change can reach.
  • Snapshotting services plus Postgres, Redis, queues and object storage, then forking that snapshot per case.
  • Seeding each environment into a different state so edge cases get exercised.
  • Running each case twice, with and without the change, and reporting the differences.

A practical way to prepare

Before you apply, pick one service with clear traffic and a recent change that caused a quiet production problem — the kind where nothing threw and requests still returned 200. That gives you a concrete first case to test the value against, and a way to judge whether the replayed journeys match what your users actually do.

Who it suits, and the trade-off

This fits teams with meaningful production traffic, several services and data stores, and an agent-driven fix loop they want to close. If your traffic is thin, or your changes rarely touch shared state across services, the effort of snapshotting and forking environments may not pay off. The site's own example — a permissions refactor reaching 3 services and 27 code paths — shows the kind of change where it earns its place.

Related questions

More questions →
What is Haystack (haystack.sh)?

Haystack is a pre-production verification platform that gives every code change its own copy of production and replays real customer journeys against it to expose what breaks. It's aimed at teams whose failures slip past conventional tests — the quiet kind where nothing throws, every request returns 200, and the test suite still passes. According to the site, Haystack is early and taking on a small number of teams, so access is via early signup or a demo rather than open self-serve.

How it works

The workflow has four moving parts, and the ordering matters: cases are derived from the change, environments are forked per case, then each case runs twice so the change is the only variable.

Blast radius

Haystack reads the diff and works out every case the change can affect. The cases are your customers' real journeys, learned from production traffic, narrowed to the ones the change can reach — not scenarios someone invented for a test.

In the worked example on the site, a permissions refactor touching two files reaches 3 services and 27 code paths, producing 14 cases worth running, mapped in about five seconds. You do not write the cases.

Fork your infrastructure

Haystack snapshots your services and the data behind them — Postgres and Redis through to queues and object storage — then forks that snapshot once per case. The example: 14 copies of prod, ready in 26 seconds. These are real environments, not mocks, and nothing inside one reaches prod.

Run every case at once

Each environment is seeded into a different state: a workspace over its seat limit, an invite nobody accepted, a member whose role just changed. Every environment runs twice — with and without your change — so any difference is caused by the change.

See what actually broke

Failures come with the screen before and after, the network calls that changed, and the events that stopped firing. The environment stays live, so you can open it and look around.

Your agent runs the loop

The failing case goes back to your coding agent in a form it can act on. It fixes, re-runs, and keeps going until nothing fails.

Why it catches what tests miss

The failures that reach production are usually quiet. In the site's worked example, a frontend stopped sending a member's role and the access API treated a missing role as editor — so anyone with a pending invite could edit and delete anything in the workspace. Nothing threw, every request returned 200, and the test suite passed.

That example is the clearest statement of what Haystack is for: it targets silent behavioral regressions that don't surface as errors, which is exactly the class of bug a passing test suite can't rule out.

Using it

The CLI is haystack verify. The site points to three references for the details:

Need Where to look
The command and its flags haystack verify
Reading results Working with runs
The MCP server and agent loop Agents

Getting started

Haystack is early and taking on a small number of teams. You can sign up for early access at https://haystack.sh/ or book a demo.

Who this fits

Haystack is worth evaluating if your changes touch shared services and data — permissions, roles, invite flows, anything where a missing field silently changes behavior — and your existing tests keep passing while production breaks. It's a weaker fit if your changes are isolated enough that a conventional suite already covers the reachable cases, or if you need open self-serve access today, since the site describes early access for a limited number of teams rather than general availability.

How do you use Haystack to verify a code change?

Haystack verifies a code change by reading your diff, forking a copy of production for every customer journey that change can reach, and running each case with and without the change so any difference is attributable to it. The main entry point is the CLI command haystack verify. It fits teams whose changes touch shared services, permissions, or data flows where a passing test suite has not been enough. Haystack is early and onboarding a small number of teams, so access starts with early access signup or a demo booking rather than open self-serve use.

What Haystack does with your change

The workflow has four moving parts, and you only supply the change itself.

  • Blast radius. Haystack reads the diff and works out every case the change can affect. The cases are real customer journeys learned from production traffic, narrowed to the ones the change can reach — not scenarios someone invented for a test. In one worked example, a permissions refactor touching two files reached 3 services and 27 code paths, producing 14 cases worth running, mapped in about five seconds. You do not write the cases.
  • Fork your infrastructure. Haystack snapshots your services and the data behind them — Postgres, Redis, queues, object storage — then forks that snapshot once per case. In the same example, 14 copies of prod were ready in 26 seconds. These are real environments, not mocks, and nothing inside one reaches prod.
  • Run every case at once. Each environment is seeded into a different state: a workspace over its seat limit, an invite nobody accepted, a member whose role just changed. Every environment runs twice, with and without your change, so any difference is caused by the change.
  • See what actually broke. Failures come with the screen before and after, the network calls that changed, and the events that stopped firing. The environment stays live, so you can open it.

Running the verification

The command to start with is:

haystack verify

The site points to haystack verify for the command and its flags, so check that reference for the exact options your version accepts rather than assuming flag names. The expected result is a set of runs, one per affected case, each executed in its own forked environment with and without your change.

To read what came back, the site directs you to Working with runs. That is where you interpret results: which cases failed, and the evidence attached to each failure — the before/after screen, the changed network calls, and the events that stopped firing.

Closing the loop with your coding agent

The failing case goes back to your coding agent in a form it can act on. The agent fixes, re-runs, and keeps going until nothing fails. The site covers this under Agents, which documents the MCP server and the agent loop.

So the full cycle is: read the diff and compute blast radius → fork production snapshots → run all cases in parallel → inspect failure evidence → hand the failing case to your agent → fix and re-run until clean.

Why this catches what tests miss

The failures that reach production are usually quiet. In the worked example, a frontend stopped sending a member's role and the access API treated a missing role as editor, so anyone with a pending invite could edit and delete anything in the workspace. Nothing threw, every request returned 200, and the test suite passed.

That is the gap Haystack targets: a change that is technically valid, passes assertions, and still breaks a real journey. Because each case runs against a real forked environment seeded into a specific state, and runs twice with and without the change, the difference shows up even when no error is raised.

Getting started

Haystack is early and taking on a small number of teams. Sign up for early access at https://haystack.sh/ or book a demo. Until you are onboarded, the CLI, runs, and agent loop described above are the pieces to plan around — the site's own references for haystack verify, Working with runs, and Agents are the places to confirm current command details and flags.

Why does Haystack catch failures that tests miss?

Haystack catches failures that tests miss because it runs each change against a real copy of your production environment and replays real customer journeys, then compares runs with and without the change. The failures that reach production are usually quiet: nothing throws, requests return 200, and the test suite passes, but behavior has already gone wrong. Haystack is built to surface exactly that class of silent regression, and it is currently early and taking on a small number of teams.

The failures that matter are usually silent

The clearest illustration comes from Haystack's own worked example. A permissions refactor touched two files. In the resulting failure, a frontend stopped sending a member's role, and the access API treated a missing role as editor. The practical effect: anyone with a pending invite could edit and delete anything in the workspace.

Nothing in that chain raised an error. Every request returned 200. The test suite passed. That is the shape of the problem Haystack targets — not crashes, but behavior that quietly diverges from what you intended.

How it finds them

It derives cases from real traffic, not invented scenarios

Haystack reads the diff and works out every case the change can affect. Those cases are your customers' real journeys, learned from production traffic, narrowed to the ones the change can actually reach — not scenarios somebody wrote by hand for a test.

In the worked example, a permissions refactor touching two files reached 3 services and 27 code paths, producing 14 cases worth running, mapped in about five seconds. You do not write the cases.

It forks real infrastructure instead of mocking

Haystack snapshots your services and the data behind them — Postgres and Redis, queues, object storage — then forks that snapshot once per case. In the example, that produced 14 copies of prod, ready in 26 seconds. These are real environments, not mocks, and nothing that happens inside one reaches prod.

It compares with and without the change

Each environment is seeded into a different state: a workspace over its seat limit, an invite nobody accepted, a member whose role just changed. Every environment runs twice — with and without your change — so any difference is caused by the change. That controlled comparison is what turns a vague "something looks off" into a specific, attributable regression.

It gives you evidence you can inspect

Failures come with the screen before and after, the network calls that changed, and the events that stopped firing. The environment stays live, so you can open it. For the permissions example, that means seeing the missing role on the wire and the access API's fallback behavior, rather than inferring it from a stack trace that never existed.

What this means for your workflow

The failing case goes back to your coding agent in a form it can act on. The agent fixes, re-runs, and keeps going until nothing fails. The CLI entry point is haystack verify; results are read through runs, and the agent loop runs over an MCP server.

If you are evaluating whether Haystack is worth attention, the relevant question is whether your risk lives in silent behavior changes across services and data states. If your failures tend to be loud — exceptions, failed assertions, obvious 500s — a conventional test suite may already cover you. If your failures tend to look like the permissions example, where everything returns 200 and the suite is green, that is the gap Haystack is designed to close.

Haystack is early and taking on a small number of teams. You can sign up for early access at https://haystack.sh/ or book a demo.

How to Get Access to Haystack (haystack.sh)

Haystack is in early access and is onboarding a small number of teams, so there is no self-serve signup flow described on the site. To get in, you sign up for early access at https://haystack.sh/ or book a demo. Both routes are listed under the site's "Getting started" section, and neither is described as instant — expect to be evaluated as part of a limited cohort rather than getting immediate access.

What you are actually requesting access to

Haystack is a pre-production verification tool. It gives every code change its own copy of production and replays real customer journeys against it to expose what breaks, before customers see it. That framing matters for access: this is not a product you can meaningfully trial on a toy repo, since its value comes from reading your diff, forking your real infrastructure, and replaying your production traffic.

The two access routes

Route What it is When to use it
Early access signup Register at https://haystack.sh/ You already know you want in and can wait for a slot
Book a demo A guided walkthrough of the product You want to see how it works on realistic scenarios before committing

The site does not state pricing, seat limits, or contract terms for either route. If cost or procurement terms are a deciding factor, treat the demo or signup conversation as the place to get them — nothing in the public material answers it.

What happens once you have access

Access leads into a CLI-driven workflow, so it helps to know what you are signing up for:

  1. Point Haystack at a change. It reads the diff and works out every case the change can affect. The cases are your customers' real journeys, learned from production traffic and narrowed to what the change can reach — you do not write them.
  2. Fork your infrastructure. Haystack snapshots your services and their data (Postgres, Redis, queues, object storage) and forks that snapshot once per case. In the site's worked example, 14 copies of prod were ready in 26 seconds.
  3. Run every case at once. Each environment is seeded into a different state — a workspace over its seat limit, an unaccepted invite, a member whose role just changed. Every environment runs twice, with and without your change, so any difference is attributable to the change.
  4. Read the failures. Results come with the screen before and after, the network calls that changed, and the events that stopped firing. The environment stays live, so you can open it.
  5. Close the loop with your agent. The failing case goes back to your coding agent in an actionable form; it fixes, re-runs, and repeats until nothing fails.

The command is haystack verify. The site points to separate pages for haystack verify and its flags, "Working with runs" for reading results, and "Agents" for the MCP server and the agent loop.

Why the access bar is narrow

The site's own example explains the pitch: a permissions refactor touching two files reached 3 services and 27 code paths, producing 14 cases worth running, mapped in about five seconds. In that scenario a frontend stopped sending a member's role, the access API treated a missing role as editor, and anyone with a pending invite could edit or delete anything in the workspace. Nothing threw, every request returned 200, and the test suite passed. Catching that class of quiet failure requires real environments and real traffic, which is why Haystack is onboarding teams selectively rather than opening a free tier.

Practical next step

If you want access, start at https://haystack.sh/ and sign up for early access, or book a demo if you would rather see it working first. Come prepared with a specific change you would want verified — the product's value is easiest to judge against a real diff and real traffic, not a hypothetical.

Website Overview

Page metadata, canonical configuration and social previews work together to provide more consistent search and sharing presentation.

Domain and Registration

The domain was registered less than a year ago and has limited historical evidence to assess. Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The registrar is Cloudflare, Inc, a widely used domain service provider. The domain uses the common .sh extension, which is not an independent safety signal.

DNS and Email

Nameservers are provided by Cloudflare, indicating managed DNS hosting. MX records point to the Google Workspace email service. DNSSEC is enabled, allowing validating resolvers to authenticate signed DNS data. No CNAME was found; the observed records resolve directly to addresses. SPF and DMARC are configured. DKIM status is unknown.

TLS and Certificates

The public key uses EC with 256 bits. 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 within the Google Trust Services cloud or CDN ecosystem. The certificate's total validity is about 90 days, consistent with a short renewal cycle.

HTTP and Browser Security

The response lacks these common security headers: HSTS. CORS permits any origin to read this response. This is common for public resources; sensitive responses need narrower handling. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. The cf-ray response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers.

Technology Stack Analysis

The public page identifies Cloudflare without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

Twitter Card metadata is configured. JSON-LD includes Organization data, helping describe the organization as an entity. The title has 56 characters, within a common display range. A meta description is present, with 112 characters. The observed directives allow indexing and link following.

Hosting and Email

DNSCloudflare
HostingCloudflare
EmailGoogle Workspace
Approximate IP geolocation (inferred; a CDN or proxy may differ from the origin server) Location unknown Inferred 104.21.96.39

Registration details

RDAP / WHOIS

RegistrarCloudflare, Inc
Registered2026-07-27
Expires2027-07-27
Domain statusclientTransferProhibited https://icann.org/epp#clientTransferProhibited
Nameserversmeadow.ns.cloudflare.com、paul.ns.cloudflare.com
DNSSECsigned

DNS records

DNS

TypeNameValueTTLPriority
Ahaystack.sh104.21.96.39300—
Ahaystack.sh172.67.172.69300—
AAAAhaystack.sh2606:4700:3035::6815:6027300—
AAAAhaystack.sh2606:4700:3037::ac43:ac45300—
MXhaystack.shsmtp.google.com3001
NShaystack.shmeadow.ns.cloudflare.com86400—
NShaystack.shpaul.ns.cloudflare.com86400—
TXThaystack.shgoogle-site-verification=WlBEjOlFCfL_zdRolu-DQyb_pWk_rz6jqzzA1jGPxzw300—
TXThaystack.shv=spf1 include:_spf.google.com -all300—
DShaystack.sh2371 13 2 1b627418aa07db2747c80aa45a7ad4c4b732dfab577fe853cb5534fd8582cdfb3600—
DMARC_dmarc.haystack.shv=DMARC1; p=quarantine; sp=reject; fo=1; rua=mailto:[email protected]300—

TLS and certificates

TLS / SSL

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjecthaystack.sh
IssuerGoogle Trust Services
Valid until2026-12-24T05:32 · Remaining when checked: 87 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HTTP

HeaderValue
content-typetext/html; charset=utf-8
cache-controlno-cache
servercloudflare
content-security-policydefault-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-03g9a4gjoL2Bd33NHrKb7qaVA790hTwrTjtqPU6Bg4w=' 'sha256-MGYkrq0gDQT6a7VIzcMMY8jUB7T+IIAS7cEmJAleWZI=' 'sha256-rtWaBxrHV6+BnywaAXTve97dwtUKet+GG2HSndt51Go=' blob:; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https://github.com https://*.githubusercontent.com https://api.dicebear.com; font-src 'self' data: https://fonts.gstatic.com; connect-src 'self' https://*.execute-api.us-west-2.amazonaws.com https://haystack-general-storage.s3.us-west-2.amazonaws.com https://haystack-v3-output-prod.s3.amazonaws.com https://haystack-v3-output-prod.s3.us-west-2.amazonaws.com https://haystack-v3-output-staging.s3.amazonaws.com https://haystack-v3-output-staging.s3.us-west-2.amazonaws.com https://haystackeditor.com https://*.haystackeditor.com wss://haystackeditor.com wss://*.haystackeditor.com wss://staging.haystackeditor.com https://haystack-agent.akshaysg.workers.dev wss://haystack-agent.akshaysg.workers.dev https://haystack-error-beacon.akshaysg.workers.dev https://api.github.com https://www.githubstatus.com https://*.modal.host; frame-src 'self' https://*.modal.host; worker-src 'self' blob:; frame-ancestors 'none'; base-uri 'self'; form-action 'self'
x-frame-optionsDENY
x-content-type-optionsnosniff
referrer-policystrict-origin-when-cross-origin
permissions-policycamera=(), microphone=(), geolocation=()
access-control-allow-origin*

Identified technologies

Cloudflare

Pages, Search and Sharing

Meta descriptionHaystack gives every change its own copy of production and replays real customer journeys to expose what breaks.
Canonical URLhttps://haystack.sh/
LanguageEnglish (default)
Twitter Cardsummary_large_image
All bots 1 allowed · 2 disallowed
  • Allow/
  • Disallow/api/
  • Disallow/auth/

User reviews (0)

  • No reviews yet.