Source
This app’s code and revision history are public. Download a copy or explore the files below.
Public
The app’s code and revision history are public.
Run it yourself
Take the whole tree and run it on your own machine. The download needs no account. Cloning needs a sign-in.
Download .zip
bounded clone c7891873549c9ca1004894b3
A copy you download is not bounded. The guarantees this app runs under - declared egress, proven invariants, writes that fail closed - live in the runtime serving this page, not in the files. What you get is auditable source you can read and run, with no runtime guarantees attached.
policy-tests/people.json
{
"version": "1",
"name": "adding people, joining by link, keys and claims",
"actors": {
"Org": "org_user",
"Sam": "sam_user",
"Eve": "eve_user",
"Api": "api_principal"
},
"constants": {
"BOUNDED_PUBLIC_PRINCIPAL_API": "api_principal"
},
"steps": [
{
"op": "setTime",
"epoch": 1800000000
},
{
"op": "as",
"who": "Org"
},
{
"op": "setMany",
"writes": [
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa",
"data": {
"name": "Family",
"budget": "$25",
"date": "2026-12-18",
"notes": "",
"allowJoin": true,
"organizerSees": false,
"revealAt": 0,
"status": "open",
"round": 0,
"drawnAt": 0,
"createdBy": "$Org",
"createdAt": 1800000000
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/joins/org_user",
"data": {
"at": 1800000000
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/owners/org_user",
"data": {
"at": 1800000000
}
},
{
"path": "exchangekeys/exaaaaaaaaaaaaaaaaaa",
"data": {
"key": "kexkexkexkexkexkexkexkex"
}
},
{
"path": "keepapart/exaaaaaaaaaaaaaaaaaa",
"data": {
"pairs": "[]"
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/pann",
"data": {
"name": "Ann",
"addedBy": "$Org",
"self": false,
"createdAt": 1800000000
}
},
{
"path": "personkeys/pann",
"data": {
"key": "kannkannkannkannkannkann",
"exchangeId": "exaaaaaaaaaaaaaaaaaa"
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/pben",
"data": {
"name": "Ben",
"addedBy": "$Org",
"self": false,
"createdAt": 1800000000
}
},
{
"path": "personkeys/pben",
"data": {
"key": "kbenkbenkbenkbenkbenkben",
"exchangeId": "exaaaaaaaaaaaaaaaaaa"
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/pcat",
"data": {
"name": "Cat",
"addedBy": "$Org",
"self": false,
"createdAt": 1800000000
}
},
{
"path": "personkeys/pcat",
"data": {
"key": "kcatkcatkcatkcatkcatkcat",
"exchangeId": "exaaaaaaaaaaaaaaaaaa"
}
},
{
"path": "personclaims/pann/c/org_user",
"data": {
"key": "kannkannkannkannkannkann",
"exchangeId": "exaaaaaaaaaaaaaaaaaa",
"openId": "pann_org_user"
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/opens/pann_org_user",
"data": {
"pid": "pann",
"by": "org_user",
"via": "web",
"at": 1800000000
}
}
]
},
{
"op": "setMany",
"shouldFail": true,
"writes": [
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/pdan",
"data": {
"name": "Dan",
"addedBy": "$Org",
"self": false,
"createdAt": 1800000000
}
}
]
},
{
"op": "setMany",
"shouldFail": true,
"writes": [
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/pdan",
"data": {
"name": "",
"addedBy": "$Org",
"self": false,
"createdAt": 1800000000
}
},
{
"path": "personkeys/pdan",
"data": {
"key": "kdankdankdankdankdankdan",
"exchangeId": "exaaaaaaaaaaaaaaaaaa"
}
}
]
},
{
"op": "setMany",
"shouldFail": true,
"writes": [
{
"path": "personkeys/pben",
"data": {
"key": "replacedreplacedreplaced",
"exchangeId": "exaaaaaaaaaaaaaaaaaa"
}
}
]
},
{
"op": "setMany",
"writes": [
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/pdan",
"data": {
"name": "Dan",
"addedBy": "$Org",
"self": false,
"createdAt": 1800000000
}
},
{
"path": "personkeys/pdan",
"data": {
"key": "kdankdankdankdankdankdan",
"exchangeId": "exaaaaaaaaaaaaaaaaaa"
}
}
]
},
{
"op": "set",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/pdan",
"data": {
"name": "Dan R."
}
},
{
"op": "set",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/contacts/pdan",
"data": {
"contact": "dan@example.com",
"by": "$Org"
}
},
{
"op": "delete",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/pdan"
},
{
"op": "as",
"who": "Eve"
},
{
"op": "setMany",
"shouldFail": true,
"writes": [
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/peve",
"data": {
"name": "Eve",
"addedBy": "$Eve",
"self": true,
"createdAt": 1800000000
}
},
{
"path": "personkeys/peve",
"data": {
"key": "keveskeveskeveskeveskeve",
"exchangeId": "exaaaaaaaaaaaaaaaaaa"
}
},
{
"path": "personclaims/peve/c/eve_user",
"data": {
"key": "keveskeveskeveskeveskeve",
"exchangeId": "exaaaaaaaaaaaaaaaaaa",
"openId": "peve_eve_user"
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/opens/peve_eve_user",
"data": {
"pid": "peve",
"by": "$Eve",
"via": "web",
"at": 1800000000
}
}
]
},
{
"op": "set",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/joins/eve_user",
"data": {
"at": 1800000000
}
},
{
"op": "setMany",
"shouldFail": true,
"writes": [
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/peve",
"data": {
"name": "Eve",
"addedBy": "$Eve",
"self": false,
"createdAt": 1800000000
}
},
{
"path": "personkeys/peve",
"data": {
"key": "keveskeveskeveskeveskeve",
"exchangeId": "exaaaaaaaaaaaaaaaaaa"
}
}
]
},
{
"op": "setMany",
"shouldFail": true,
"writes": [
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/peve",
"data": {
"name": "Eve",
"addedBy": "$Eve",
"self": true,
"createdAt": 1800000000
}
},
{
"path": "personkeys/peve",
"data": {
"key": "keveskeveskeveskeveskeve",
"exchangeId": "exaaaaaaaaaaaaaaaaaa"
}
}
]
},
{
"op": "setMany",
"writes": [
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/peve",
"data": {
"name": "Eve",
"addedBy": "$Eve",
"self": true,
"createdAt": 1800000000
}
},
{
"path": "personkeys/peve",
"data": {
"key": "keveskeveskeveskeveskeve",
"exchangeId": "exaaaaaaaaaaaaaaaaaa"
}
},
{
"path": "personclaims/peve/c/eve_user",
"data": {
"key": "keveskeveskeveskeveskeve",
"exchangeId": "exaaaaaaaaaaaaaaaaaa",
"openId": "peve_eve_user"
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/opens/peve_eve_user",
"data": {
"pid": "peve",
"by": "$Eve",
"via": "web",
"at": 1800000000
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/contacts/peve",
"data": {
"contact": "+1 555 0100",
"by": "$Eve"
}
}
]
},
{
"op": "set",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/contacts/peve",
"data": {
"contact": "eve@example.com"
}
},
{
"op": "set",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/contacts/pben",
"data": {
"contact": "x",
"by": "$Eve"
},
"shouldFail": true
},
{
"op": "set",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/pben",
"data": {
"name": "Benny"
},
"shouldFail": true
},
{
"op": "delete",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/pben",
"shouldFail": true
},
{
"op": "setMany",
"shouldFail": true,
"writes": [
{
"path": "personclaims/pben/c/eve_user",
"data": {
"key": "wrongwrongwrongwrongwron",
"exchangeId": "exaaaaaaaaaaaaaaaaaa",
"openId": "pben_eve_user"
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/opens/pben_eve_user",
"data": {
"pid": "pben",
"by": "eve_user",
"via": "web",
"at": 1800000000
}
}
]
},
{
"op": "set",
"path": "personclaims/pben/c/eve_user",
"data": {
"key": "kbenkbenkbenkbenkbenkben",
"exchangeId": "exaaaaaaaaaaaaaaaaaa",
"openId": "pben_eve_user"
},
"shouldFail": true
},
{
"op": "set",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/opens/pben_eve_user",
"data": {
"pid": "pben",
"by": "$Eve",
"via": "web",
"at": 1800000000
},
"shouldFail": true
},
{
"op": "setMany",
"shouldFail": true,
"writes": [
{
"path": "personclaims/pben/c/eve_user",
"data": {
"key": "kbenkbenkbenkbenkbenkben",
"exchangeId": "exaaaaaaaaaaaaaaaaaa",
"openId": "pcat_eve_user"
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/opens/pcat_eve_user",
"data": {
"pid": "pcat",
"by": "$Eve",
"via": "web",
"at": 1800000000
}
}
]
},
{
"op": "setMany",
"shouldFail": true,
"writes": [
{
"path": "personclaims/pben/c/eve_user",
"data": {
"key": "kbenkbenkbenkbenkbenkben",
"exchangeId": "exaaaaaaaaaaaaaaaaaa",
"openId": "pben_x"
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/opens/pben_x",
"data": {
"pid": "pben",
"by": "$Eve",
"via": "web",
"at": 1800000000
}
}
]
},
{
"op": "setMany",
"writes": [
{
"path": "personclaims/pben/c/eve_user",
"data": {
"key": "kbenkbenkbenkbenkbenkben",
"exchangeId": "exaaaaaaaaaaaaaaaaaa",
"openId": "pben_eve_user"
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/opens/pben_eve_user",
"data": {
"pid": "pben",
"by": "eve_user",
"via": "web",
"at": 1800000000
}
}
]
},
{
"op": "expect",
"expr": "get(/exchanges/exaaaaaaaaaaaaaaaaaa/opens/pben_eve_user).by == 'eve_user'"
},
{
"op": "set",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/opens/pben_eve_user",
"data": {
"via": "api"
},
"shouldFail": true
},
{
"op": "delete",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/opens/pben_eve_user",
"shouldFail": true
},
{
"op": "as",
"who": "Org"
},
{
"op": "set",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa",
"data": {
"allowJoin": false
}
},
{
"op": "as",
"who": "Sam"
},
{
"op": "set",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/joins/sam_user",
"data": {
"at": 1800000000
}
},
{
"op": "setMany",
"shouldFail": true,
"writes": [
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/psam",
"data": {
"name": "Sam",
"addedBy": "$Sam",
"self": true,
"createdAt": 1800000000
}
},
{
"path": "personkeys/psam",
"data": {
"key": "ksamksamksamksamksamksam",
"exchangeId": "exaaaaaaaaaaaaaaaaaa"
}
},
{
"path": "personclaims/psam/c/sam_user",
"data": {
"key": "ksamksamksamksamksamksam",
"exchangeId": "exaaaaaaaaaaaaaaaaaa",
"openId": "psam_sam_user"
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/opens/psam_sam_user",
"data": {
"pid": "psam",
"by": "$Sam",
"via": "web",
"at": 1800000000
}
}
]
},
{
"op": "as",
"who": "Api"
},
{
"op": "set",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/joins/api_principal",
"data": {
"at": 1800000000
}
},
{
"op": "setMany",
"writes": [
{
"path": "exchangeclaims/exaaaaaaaaaaaaaaaaaa/c/api_principal",
"data": {
"key": "kexkexkexkexkexkexkexkex"
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/owners/api_principal",
"data": {
"at": 1800000000
}
}
]
},
{
"op": "setMany",
"writes": [
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa",
"data": {
"status": "drawn",
"round": 1,
"drawnAt": 1800000000
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/matches/pann",
"data": {
"to": "pben",
"round": 1,
"at": 1800000000
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/matches/pben",
"data": {
"to": "pcat",
"round": 1,
"at": 1800000000
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/matches/pcat",
"data": {
"to": "peve",
"round": 1,
"at": 1800000000
}
},
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/matches/peve",
"data": {
"to": "pann",
"round": 1,
"at": 1800000000
}
}
]
},
{
"op": "as",
"who": "Org"
},
{
"op": "setMany",
"shouldFail": true,
"writes": [
{
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/pdan",
"data": {
"name": "Dan",
"addedBy": "$Org",
"self": false,
"createdAt": 1800000000
}
},
{
"path": "personkeys/pdan",
"data": {
"key": "kdankdankdankdankdankdan",
"exchangeId": "exaaaaaaaaaaaaaaaaaa"
}
}
]
},
{
"op": "delete",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/pben",
"shouldFail": true
},
{
"op": "set",
"path": "exchanges/exaaaaaaaaaaaaaaaaaa/people/pben",
"data": {
"name": "Ben B."
}
}
]
}
Change history
Point OpenApps links to openapps.free
Bind agent address in policy constants
Use functions.openapps.xyz alias, add OpenApp contribution strip
Bounded source sync
Bounded source sync
Bounded source sync
Bounded source sync