Skip to content
Open
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
14 changes: 14 additions & 0 deletions concepts/compute.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,20 @@ Every compute operation returns a [signed result](/concepts/signed-results) cont

The signed result can be used offchain (in an agent, application, or database) or submitted onchain via EAS delegated attestation. EAS resolvers allow those attestations to trigger smart contract logic.

## Zones and policy evaluation

A predicate operation — `contains`, `within`, `intersects` — is a policy decision. "Is this verified position inside the permitted zone?" is at once a spatial question and a rule, and the boolean answer is the verdict. Astral evaluates the rule inside the TEE and signs the verdict; the application — or a resolver contract — decides what the verdict triggers.

### Zones as reusable, verifiable references

The boundary in a policy check doesn't have to travel with every request. Because any input can be a [signed location record](#accepted-inputs) — an EAS attestation UID — you can register a zone once as a [Location attestation](/resources/schemas#location-attestation-schema) and reference it by UID thereafter. Astral fetches the stored geometry into the TEE at evaluation time.

That gives you a reusable registry of zones — permitted corridors, jurisdictional boundaries, geofences — without a bespoke registry service. The boundary's provenance and integrity come from its attestation, and every evaluation references the exact same geometry by UID, so a policy decision is reproducible and auditable: anyone can confirm *which* zone was checked.

### From verdict to action

Submitted onchain, a [Policy Attestation](/concepts/signed-results) carrying a `true`/`false` verdict can drive an [EAS resolver](/concepts/signed-results#using-signed-results-onchain) — releasing escrow, granting access, gating a mint to inside a boundary. The spatial rule is evaluated offchain in the TEE; only the signed verdict and the on-chain action it triggers touch the chain.

## What's Next

The current operation set covers the most common spatial questions, but PostGIS exposes a much larger surface. Areas we're exploring:
Expand Down
4 changes: 4 additions & 0 deletions concepts/signed-results.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ description: "Output formats from verification and computation — and how to us

Both the [Verify](/concepts/verify) and [Compute](/concepts/compute) endpoints return signed results — cryptographically signed records of what was computed, what inputs were used, and what the answer was. The signature comes from the Astral signing key, held inside the [TEE](/concepts/astral-location-services).

<Info>
**"Signed result" and "Policy Attestation" are the same artifact.** "Signed result" is the conceptual name used throughout these docs; **Policy Attestation** is its concrete encoded form — the [EAS schema](/resources/schemas#policy-attestation-schemas) the result is serialized into (`BooleanPolicyAttestation` for predicates, `NumericPolicyAttestation` for measurements). A signed result submitted to EAS *is* a Policy Attestation. The SDK, the schemas reference, and the API use "Policy Attestation" for the on-chain object; the concept pages say "signed result" for the same thing.
</Info>

## What a Signed Result Proves

Under attestation (see deployment status below), a signed result is intended to prove three things:
Expand Down
2 changes: 2 additions & 0 deletions how-it-works.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ The output is a **credibility vector**: structured scores quantifying how well t

Run geospatial operations — distance, containment, intersection, area, length — on location data inside the Astral TEE. The compute endpoints accept raw GeoJSON, signed location records, or verified location proofs as inputs. [PostGIS](https://postgis.net/) (backed by the [GEOS](https://libgeos.org/) library, the same computational geometry engine used by QGIS and other open-source geospatial tools) performs the computation; the TEE signs the result.

A predicate operation is also a **policy decision**: "is this verified position inside the permitted zone?" is a rule, and the signed boolean is the verdict. Zones can be passed inline or referenced by EAS UID — a reusable, verifiable registry of boundaries — and the verdict can drive an on-chain resolver. See [zones and policy evaluation](/concepts/compute#zones-and-policy-evaluation).

<Tip>
**Why this step matters:** Verifiable spatial answers. The signed result proves not just "what was the answer" but "the answer was computed correctly by trusted code on these specific inputs."
</Tip>
Expand Down