{ "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^5.0.0/components/context.jsonld", "import": [ "css:config/storage/key-value/storages/storages.json" ], "@graph": [ { "comment": "A storage that writes directly to a low-level store. This is necessary to prevent infinite loops with stores that also use storage.", "@id": "urn:solid-server:default:BackendKeyValueStorage", "@type": "JsonResourceStorage", "source": { "@id": "urn:solid-server:default:ResourceStore_Backend" }, "baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" }, "container": "/.internal/" }, { "comment": "Internal value storage.", "@id": "urn:solid-server:default:KeyValueStorage", "@type": "JsonResourceStorage", "source": { "@id": "urn:solid-server:default:ResourceStore" }, "baseUrl": { "@id": "urn:solid-server:default:variable:baseUrl" }, "container": "/.internal/" }, { "comment": "Block external access to the storage containers to avoid exposing internal data.", "@id": "urn:solid-server:default:PathBasedReader", "@type": "PathBasedReader", "paths": [ { "PathBasedReader:_paths_key": "^/.internal(/.*)?$", "PathBasedReader:_paths_value": { "@type": "AllStaticReader", "allow": false } } ] }, { "comment": "Marks the /.internal/ storage container as an auxiliary resource, thereby hiding it from container representations.", "@id": "urn:solid-server:default:AuxiliaryStrategy", "@type": "RoutingAuxiliaryStrategy", "sources": [ { "@type": "ComposedAuxiliaryStrategy", "identifierStrategy": { "@type": "SuffixAuxiliaryIdentifierStrategy", "suffix": "/.internal/" } } ] } ] }