Problem
Pod creation currently applies generatePrivateAcl to /settings/ (owner-only, read/write/control, acl:default). This makes every file in /settings/ private — including publicTypeIndex.jsonld, which by Solid convention must be publicly readable so other agents/apps can discover what types of resources the user has.
Current behaviour
/settings/.acl — owner only, with acl:default inheriting down
/settings/publicTypeIndex.jsonld — inherits private → not readable by anyone but the owner
/settings/privateTypeIndex.jsonld — inherits private ✅ (correct)
Expected behaviour
/settings/ — owner only (preferences, private stuff) ✅
/settings/publicTypeIndex.jsonld — public read, owner write/control
/settings/privateTypeIndex.jsonld — owner only ✅
Fix
Write a resource-specific ACL at /settings/publicTypeIndex.jsonld.acl during pod creation that grants:
- Owner: read, write, control
foaf:Agent (public): read
This overrides the inherited container default for that one file.
Impact
Without this, apps that try to read a user's public type index (data browsers, friend lists, contact apps, etc.) fail silently or get 403, breaking interop with the wider Solid ecosystem.
Files affected
src/handlers/container.js — pod creation (around line 202)
src/server.js — single-user pod creation (around line 623)
Problem
Pod creation currently applies
generatePrivateAclto/settings/(owner-only, read/write/control,acl:default). This makes every file in/settings/private — includingpublicTypeIndex.jsonld, which by Solid convention must be publicly readable so other agents/apps can discover what types of resources the user has.Current behaviour
/settings/.acl— owner only, withacl:defaultinheriting down/settings/publicTypeIndex.jsonld— inherits private → not readable by anyone but the owner/settings/privateTypeIndex.jsonld— inherits private ✅ (correct)Expected behaviour
/settings/— owner only (preferences, private stuff) ✅/settings/publicTypeIndex.jsonld— public read, owner write/control/settings/privateTypeIndex.jsonld— owner only ✅Fix
Write a resource-specific ACL at
/settings/publicTypeIndex.jsonld.aclduring pod creation that grants:foaf:Agent(public): readThis overrides the inherited container default for that one file.
Impact
Without this, apps that try to read a user's public type index (data browsers, friend lists, contact apps, etc.) fail silently or get 403, breaking interop with the wider Solid ecosystem.
Files affected
src/handlers/container.js— pod creation (around line 202)src/server.js— single-user pod creation (around line 623)