# Return the needed summary, not the source record | EasyNet Source: https://easynet.run/cases/data-resident-ai # Return the needed summary, not the source record A function looks up one of two synthetic records, replaces its known name, and returns a short summary with allowed labels. [All source cases](https://easynet.run/cases)[Inspect the pinned project](https://github.com/EasyRemote/EasyRemote/tree/44c768ca26d0f92a5ab9d1d03342895c29c27dc6/gallery/projects/05_local_data_residency_ai) ## Ask for one record. See exactly what comes back. Two public synthetic records load into this browser. Runs locally; no remote call. ### Returned business fields Choose an example and run the projection. The fixture replaces the known name, limits the summary to 160 characters, and matches a fixed list of terms. It does not use a model or provide general anonymization or medical advice. A real call also returns requested_by and invocation_id from its Runtime context. This local demo does not create those fields or prove authorization, transport, or data residency. [Continue with this example](https://easynet.run/docs/connect/function?example=data-resident-ai) Read the setup first. You need compatible sibling source checkouts, a compatible Hub, and a paired, running Runtime. Technical Alpha offers guided help; public-package clean installation is not yet verified. ## The problem Central AI workflows usually require uploading source records or falling back to manual exports. ## What gets published Accept one known record id and release only a short summary plus allowlisted risk labels. ## What stays local Synthetic source records, local processing, and field-selection rules. ## Business data crossing the call boundary Record identifier, ≤160-character summary, allowlisted labels, audit identifiers. ## What this shows The caller receives a short summary and allowed labels, not the original record. ## What it doesn't prove Exact-name replacement is not general de-identification. This synthetic example does not replace clinical validation or organizational controls. ## Public source evidence for this case Evidence level Source layout and declarations are anonymously inspectable Pinned public EasyRemote revision 44c768ca26d0f92a5ab9d1d03342895c29c27dc6 Public inspection [Public inspection](https://easynet.run/docs/source-check#run-check) Expected check Required files, Python syntax, and @node.register declaration are checked without installing dependencies Runtime invocation Not established by this source fixture; record separate discovery, Invocation, and terminal Receipt evidence ## Run in a compatible source workspace This Provider/Client walkthrough requires compatible EasyRemote, EasyNet-Cli, and EasyNet-Axon sibling source checkouts, a compatible Hub, and a paired, running Runtime. The source is public; clean installation from public packages is not yet verified. Technical Alpha offers guided setup. Use the pinned EasyRemote revision below; this page does not pin the other components. Runtime admission still determines whether the caller may execute the function. ``` # From EasyRemote revision 44c768ca26d0f92a5ab9d1d03342895c29c27dc6 cd gallery/projects/05_local_data_residency_ai # Terminal 1 uv sync --frozen uv run python node.py # Terminal 2 (same project) uv run python client.py ``` [Continue with this example](https://easynet.run/docs/connect/function?example=data-resident-ai) Read the setup first. You need compatible sibling source checkouts, a compatible Hub, and a paired, running Runtime. Technical Alpha offers guided help; public-package clean installation is not yet verified. [All source cases](https://easynet.run/cases)[Request technical alpha](https://easynet.run/pilot)