Foundation Models en Private Cloud Compute
El Foundation Model on-device tiene ahora un hermano. iOS 27 le da al framework un modelo a escala de servidor que se ejecuta en Private Cloud Compute, con una ventana de contexto de 32K y razonamiento, y lo alcanzas cambiando una sola línea de código1. La misma LanguageModelSession, el mismo Generable, el mismo protocolo Tool4. El movimiento de fondo está debajo: Apple abrió el framework a casi cualquier LLM a través de un protocolo público, de modo que el modelo on-device, el modelo en la nube, un modelo local que tú distribuyas, un modelo de código abierto de Hugging Face y pronto Claude y Gemini responden todos a la misma API de Swift2. Dejas de programar contra un modelo y empiezas a programar contra una ranura que puedes intercambiar.
Este post es la capa de nube y de proveedores sobre la referencia del framework. Si todavía no conoces LanguageModelSession, el protocolo Tool ni la generación guiada, empieza con el explicador del framework Foundation Models y el post sobre tool-calling en iOS 27, y después vuelve aquí.
TL;DR
- Private Cloud Compute trae un modelo de servidor más grande al framework Foundation Models, conmutable cambiando una línea respecto al modelo on-device. Ofrece una ventana de contexto de 32K frente a los 4K on-device, admite razonamiento en tres niveles y se ejecuta desde iOS, macOS, visionOS y watchOS12.
- La postura de privacidad coincide con la del modelo del sistema: Apple diseñó PCC para que los datos del usuario nunca se almacenen y se usen solo para la solicitud, algo verificado de forma independiente por investigadores, sin claves de API, sin configuración de cuenta y sin costo por token para quien desarrolla1.
- Cada usuario recibe un límite diario de solicitudes contabilizado contra su cuenta de iCloud, ampliable mediante iCloud+. Maneja el límite en tu UI consultando el estado de cuota del modelo y mostrando un control persistente y accionable en lugar de una alerta. Solicita el acceso en el sitio web para desarrolladores; está disponible para apps con menos de 2M de descargas1.
- El nuevo protocolo
LanguageModelconvierte cada modelo en algo intercambiable: System, PCC, Core AI para modelos locales en el ANE, MLX para la comunidad de Hugging Face, y paquetes de proveedores de Anthropic y Google por venir2. DynamicProfilepermite que una sola sesión se mueva entre esos modelos a mitad de la conversación, de modo que un turno de lluvia de ideas puede usar PCC con temperatura alta y un turno de revisión puede bajar al modelo on-device para ahorrar llamadas al servidor3.
Un modelo más grande, las mismas tres líneas
El año pasado el argumento era que pedirle al modelo on-device toma tres líneas: crear una sesión, llamar a respond, leer la respuesta1. Este año ese argumento se extiende a la nube. El framework ofrece una API de Swift unificada sin importar con qué modelo hables, así que pasar del modelo System on-device al modelo PCC cambia el modelo que construyes y nada más1. La salida estructurada mediante Generable y el tool calling se comportan de forma idéntica en ambos1.
Louis en la sesión 319: pedirle al modelo on-device toma tres líneas, y pasar al modelo de servidor PCC es un cambio de una línea hacia un modelo mucho más grande con mayor contexto y razonamiento.
La forma del intercambio, en los propios términos del framework:
import FoundationModels
// On-device: the System model.
let onDevice = LanguageModelSession(model: SystemLanguageModel.default)
// Cloud: swap the model. Same session API, same prompts, same tools.
let cloud = LanguageModelSession(model: PrivateCloudComputeLanguageModel.default)
let summary = try await cloud.respond(to: "Summarize this 30-page contract.")
Los nombres de los símbolos vienen directo de la sesión: Apple expone el modelo en la nube como PrivateCloudComputeLanguageModel, y la sesión muestra el tamaño de contexto leído desde una propiedad contextSize tanto en SystemLanguageModel como en PrivateCloudComputeLanguageModel1. Como el modelo en la nube cumple el mismo protocolo LanguageModel que cumple cualquier otro modelo, el resto de tu código no nota la diferencia2.
Una restricción se hereda del modelo on-device y merece una comprobación firme: PCC solo se ejecuta en dispositivos compatibles con Apple Intelligence. Consulta la API de disponibilidad y maneja el caso en que Apple Intelligence no esté disponible, igual que ya controlas el modelo on-device1.
Qué te da PCC, y qué cuesta
PCC es la respuesta de Apple a los casos de uso que el modelo on-device no puede alcanzar: asistentes que razonan sobre entradas grandes del usuario, o funciones que disparan muchas llamadas a herramientas con salidas grandes1. La concesión es concreta y no basada en sensaciones, y la sesión la plantea como una comparación cara a cara.
| Modelo System on-device | Private Cloud Compute | |
|---|---|---|
| Privacidad | On-device | Los datos nunca se almacenan, se usan solo para la solicitud1 |
| Conectividad | Funciona sin conexión | Requiere conexión a internet1 |
| Límites de solicitudes | Ninguno | Límite diario por usuario1 |
| Tamaño de contexto | 4K | 32K1 |
| Razonamiento | — | Tres niveles: light, moderate, deep1 |
Dos filas concentran la mayor parte de la decisión. El salto de 4K a 32K es lo que hace viable en el modelo en la nube la función de “resumir un documento largo con imágenes” y la deja apretada en el on-device1. El razonamiento es la otra: donde una respuesta simple lee el prompt y genera, una respuesta con razonamiento genera texto adicional en un segmento aparte del transcript antes de responder1. Los tres niveles escalan ese presupuesto de pensamiento. Light reúne un poco de contexto extra, moderate razona más a fondo, y deep puede producir un segmento de razonamiento más largo que la propia respuesta1. Fijas el nivel cuando llamas a respond en la sesión1.
El razonamiento no es gratis. El segmento de razonamiento es texto que genera el modelo, así que consume tokens y cuenta contra el presupuesto de contexto de 32K1. La sesión es contundente sobre la disciplina que esto exige: decide entre on-device y PCC, y elige el nivel de razonamiento, a partir de datos y no de sensaciones1. Apple lanzó un nuevo framework de Evaluations en Xcode precisamente para eso, porque el modelo on-device rinde mejor de lo que esperas en muchas tareas y la única manera de saberlo es medir1.
La postura de privacidad es el titular
Un modelo de servidor que maneja la entrada privada del usuario suele ser donde la historia de privacidad se desmorona. PCC está construido para que no ocurra. Apple diseñó Private Cloud Compute pensando en la privacidad de extremo a extremo, garantizando que los datos del usuario nunca se almacenen y se usen solo para la solicitud, y los investigadores han verificado el diseño de forma independiente1. PCC ya impulsa las propias tareas complejas de Apple Intelligence; el framework abre esa misma infraestructura a tu app1.
Las consecuencias operativas son la parte que sienten quienes desarrollan. PCC está integrado en el sistema operativo junto a iCloud, así que no hay autenticación que cablear, ni claves de API que rotar, ni configuración de cuenta que pedirle al usuario1. El usuario solo necesita un dispositivo compatible con Apple Intelligence y nada más. No hay costos por token para ti como desarrollador; cada usuario recibe un límite diario, y los usuarios pueden elevarlo mediante iCloud+1. El modelo está disponible para apps con menos de 2M de descargas, y haces la solicitud en el sitio web para desarrolladores1.
La sesión 319 sobre las garantías de privacidad: sin configuración de cuenta, sin autenticación, sin claves de API y sin costo por token para quien desarrolla, con las solicitudes de cada usuario contabilizadas contra su cuenta de iCloud.
Actualización, 8 de junio de 2026: PCC se mueve más allá de Apple silicon
La misma semana que se inauguró la WWDC, Apple publicó un post de seguridad que cambia dónde se ejecuta PCC. PCC ahora se extiende a Google Cloud sobre GPU de NVIDIA para nuevas cargas de trabajo de Apple Intelligence, “extendiendo nuestros compromisos de privacidad de PCC, líderes en la industria, a centros de datos de terceros por primera vez”5. El framework al que apuntas no cambia. La infraestructura debajo de él sí.
Apple mantiene el contrato idéntico. Los cinco requisitos centrales permanecen exactamente como estaban: “computación sin estado, garantías exigibles, sin acceso privilegiado en tiempo de ejecución, no segmentabilidad y transparencia verificable”5. Lo que cambia es la implementación, que Apple nombra como “NVIDIA Confidential Computing con GPU de NVIDIA, CPU de Intel con TDX y el chip Titan de Google”5. Apple endurece esa base por encima de un despliegue de computación confidencial estándar de dos maneras que quienes desarrollan deberían anotar. Mantiene “un registro criptográficamente verificable y solo de adición de todo el hardware de Google Cloud que forma parte de la flota de PCC”, y para los componentes que podrían exfiltrar datos del usuario, “la atestación de software está anclada en al menos dos raíces de confianza separadas de proveedores independientes”5.
La línea que más importa para la postura de privacidad trata sobre el control. Apple afirma que “Apple conserva el control completo sobre el software de PCC; los dispositivos Apple solo confiarán en software de PCC que esté aprobado criptográficamente por Apple”5. La historia de verificación para investigadores también se mantiene: Apple dice que publicará todos los binarios para inspección pública y dará acceso a nodos de PCC en vivo en modo de investigación a través del Apple Security Bounty Program5. El despliegue es escalonado, “avanzando hacia el conjunto completo de protecciones a lo largo del periodo de vista previa del verano”, así que una función que distribuyas contra PCC hereda un conjunto cambiante de garantías durante la vista previa en vez del conjunto final5.
La conclusión para el código de este post: las afirmaciones de privacidad anteriores se sostienen para el modelo PCC tanto si responde desde Apple silicon como desde Google Cloud, porque Apple mantiene los mismos cinco requisitos y la misma compuerta de confianza del lado del dispositivo. PCC es además la respuesta de primera parte de Apple donde los modelos de terceros no pueden seguirla, lo que se empareja con la respuesta de primera parte de Apple a la inyección de prompts de la misma semana.
Nota de laboratorio: las garantías de PCC se detienen en el límite del framework
Un punto sobre el que los labs de la WWDC fueron contundentes vale la pena destacar junto a esa expansión, porque traza la línea que el marketing no traza. Las garantías de PCC, cómputo sin estado, no segmentabilidad y almacenamiento efímero, no se extienden a los modelos de terceros que alcanzas a través del protocolo de modelo de lenguaje del framework, como Gemini o Claude. Cuando tu sesión se enruta a un paquete de proveedor en lugar del modelo System o PCC, quien desarrolla asume la responsabilidad de leer los términos de ese proveedor y divulgar los flujos de datos resultantes, incluso en las etiquetas nutricionales de privacidad del App Store6. El protocolo te da una sola API de Swift entre modelos, pero no te da una sola postura de privacidad entre ellos. Ese trabajo de divulgación recae en ti, no en Apple.
Manejar el límite diario sin romper la UI
El límite diario es el único punto donde un modelo en la nube se entromete en la UX, y la sesión tiene una opinión clara sobre cómo manejarlo. Las solicitudes se contabilizan contra la cuenta de iCloud del usuario, y una solicitud que excede el límite lanza un error1. Mostrar ese error en bruto en la UI es la jugada equivocada, porque el error no es accionable1.
En cambio, consulta el estado de cuota en el modelo y renderiza tu propio control. La sesión consulta isLimitReached en el quotaUsage del modelo y, cuando se excede el límite, muestra un botón que permite al usuario gestionar o ampliar su límite1. Dos reglas rigen la presentación. No uses una alerta, porque el estado del límite debe persistir en vez de descartarse; actualiza el estado de tu UI en su lugar, por ejemplo desactivando el botón de solicitud y mostrando una etiqueta sutil con una acción de ampliación debajo1. Y detecta también el caso cercano: el modelo expone un estado belowLimit para que puedas avisar a un usuario que está cerca, dejándolo decidir qué solicitudes valen la pena gastar1.
// Sketch following the session's pattern.
let quota = PrivateCloudComputeLanguageModel.default.quotaUsage
if quota.isLimitReached {
// Persistent label + upgrade button. No alert.
showUpgradeAffordance()
} else if quota.belowLimit {
// Optional: warn the user they are nearing the daily limit.
showNearingLimitNotice()
}
Xcode te ayuda a construir esto sin quemar cuota real. En las Debug Options del scheme, la opción “Simulate Apple Foundation Models Availability” ofrece “Quota Usage Limit Reached” y “Nearing Usage Limit”, de modo que puedes ejercitar ambos estados de la UI en el simulador1.
Trae tu propio LLM: el protocolo de proveedores
El cambio más profundo en iOS 27 es que Foundation Models dejó de ser un framework de un solo modelo. Apple reconstruyó el modelo System on-device y agregó tres opciones de primera parte más, y luego abrió la puerta a todos los demás. PCC trae el modelo de servidor con razonamiento y contexto de 32K. Core AI ejecuta modelos locales de forma eficiente en el Apple Neural Engine. MLX desbloquea los miles de modelos de la comunidad MLX en Hugging Face mediante su ID de modelo2. Y como todo esto se asienta sobre un nuevo protocolo público, los proveedores de frontera pueden distribuir sus propios paquetes de Swift; Apple nombró a Anthropic y Google como los que llevan Claude y Gemini a quienes desarrollan en Swift a través del mismo framework2.
Christopher Webb en la sesión 339: más allá del modelo del sistema, el framework agrega PCC, Core AI y MLX, y un protocolo público permite que proveedores como Anthropic y Google lo extiendan con sus propios paquetes de Swift.
El protocolo tiene dos piezas, y la división es todo el diseño. LanguageModel describe el modelo al framework: declara capacidades y devuelve una configuración. LanguageModelExecutor es donde vive el trabajo, con un inicializador que toma esa configuración, un prewarm para cargar pesos o abrir conexiones antes de la primera solicitud, y un respond que transmite la generación de vuelta a la sesión2. La configuración es el vínculo entre ambas, y es la clave de búsqueda. Cada sesión mantiene un almacén de executors; cuando un modelo produce una configuración que el almacén no ha visto, el framework construye un executor y lo guarda en caché, y la sesión describe la configuración como Hashable, de modo que un segundo modelo con la misma configuración se resuelve al mismo executor2. Ese almacenamiento en caché es lo que permite que una integración con estado mantenga una caché KV o una conexión persistente entre llamadas en vez de rehacer el trabajo2.
Para un proveedor de modelos, el trabajo del executor es la traducción. El framework le entrega un transcript, una secuencia de entradas tipadas, y el executor mapea esas entradas a los roles que hable su propio motor de inferencia2. Apple define seis tipos de entrada: instructions, prompts, tool calls, tool outputs, responses y reasoning2. Un modelo con solo roles system, user y assistant mapea los tool calls y el reasoning a assistant; un modelo con un rol de herramienta dedicado se enruta allí en su lugar2. Cada solicitud también lleva la intención de quien desarrolla en dos bolsas de propiedades: ContextOptions para lo que entra en el prompt, como el nivel de razonamiento o un esquema de respuesta, y GenerationOptions para el bucle del decodificador, como el muestreo, la temperatura y la longitud2. A la salida, el executor transmite eventos por un canal, comenzando con una actualización de metadatos (IDs de modelo y de solicitud) y una actualización de uso (recuento de tokens del prompt) antes de los deltas de texto, de modo que quien desarrolla conoce el costo de una solicitud sin esperar a todo el stream2.
La historia de errores importa para quienes desarrollan apps aunque nunca escriban un proveedor. Foundation Models incluye LanguageModelError para los casos que todo modelo enfrenta: desbordamientos de la ventana de contexto, límites de tasa, rechazos y más2. Un proveedor debería lanzar uno de esos cuando encaje, porque cualquier usuario del framework ya sabe cómo capturarlo, y reservar tipos de error personalizados para fallas que solo produce su propio servicio, como un nivel de suscripción o un estado de cuenta2. Los proveedores también tienen margen para diferenciarse mediante metadatos de respuesta personalizados (tokens por segundo, tiempo hasta el primer token) y tipos de segmento personalizados que extienden el protocolo a nuevas modalidades como audio o video, todo fluyendo por la misma sesión2. Los proveedores en la nube reciben un recordatorio puntual sobre credenciales: no tomes una clave de API como una cadena en texto plano; ofrece un proveedor de tokens o un flujo de inicio de sesión, persiste los tokens en el Keychain y combínalo con atestación del dispositivo a través de App Attest2.
Implicaciones agénticas: enrutar modelos dentro de una sola sesión
El protocolo de proveedores y PCC dan frutos cuando dejas de pensar en un modelo por app y empiezas a pensar en un modelo por tarea. Eso es lo que habilita DynamicProfile. Permite que una sola LanguageModelSession cambie de modelo a mitad de la conversación, seleccionando la mejor configuración para la tarea que tiene delante3.
Erik y Oliver en la sesión 242: una app de manualidades declara perfiles que actúan como agentes, generando ideas en PCC a temperatura alta, planificando con razonamiento profundo y revisando en el modelo on-device para ahorrar llamadas al servidor.
El ejemplo de la sesión es una app de manualidades con tres fases. La lluvia de ideas quiere conocimiento amplio y creatividad, así que su perfil usa PrivateCloudComputeLanguageModel con la temperatura fijada en 13. La planificación quiere profundidad, así que se queda en PCC y fija reasoningLevel en deep3. La revisión es orientación rutinaria mientras el usuario trabaja, así que baja a SystemLanguageModel para ahorrar llamadas innecesarias al servidor, lo que además conserva la cuota diaria de PCC del usuario para el trabajo que la necesita3. El cuerpo de un DynamicProfile se reevalúa en cada prompt, de modo que a medida que la app cambia de modo la sesión cambia de persona: cambiando de sombrero, o cambiando de agente3.
Enrutar entre modelos de distintos tamaños de contexto fuerza una disciplina que el framework solo on-device nunca exigió. Pasar de los 32K de PCC a los 4K on-device puede requerir recortar entradas para que quepan, y la sesión nombra también un uso de privacidad: redactar información privada de las entradas existentes al moverse a un modelo menos privado3. El historyTransform del framework aplica una transformación local y no destructiva antes de hacer el prompt, así recortas para un modelo sin perder contexto que el siguiente turno podría necesitar3. La mutación cuesta algo: agregar al transcript preserva la caché KV y minimiza el tiempo hasta el primer token, mientras que reescribir el historial (quitar entradas, cambiar herramientas, actualizar instrucciones) normalmente invalida la caché y agrega latencia3. El año pasado la API de sesión era de solo adición para garantizar esa optimización; este año Apple quitó las rueditas de entrenamiento, y la única manera de conocer el comportamiento de caché de un modelo es medir con el Foundation Models Instrument en Xcode3.
Decisión: on-device, PCC o tu propio proveedor
Las tres opciones no son una escalera. Cada una es la correcta para una forma distinta de problema.
Recurre primero al modelo System on-device. Es gratis, funciona sin conexión, no tiene límites de solicitudes, y la reconstrucción de iOS 27 lo hizo mejor en el seguimiento de instrucciones y le agregó entrada de imágenes2. Su contexto de 4K es el techo real1. Evalúa antes de asumir que necesitas más, porque la sesión te advierte que te sorprenderá lo bien que rinde1.
Recurre a Private Cloud Compute cuando la tarea exceda al modelo on-device y los datos sean sensibles. Documentos largos que necesitan la ventana de 32K, razonamiento de varios pasos, o muchas llamadas a herramientas con salidas grandes1. PCC es la única opción en la nube que mantiene la postura de privacidad de Apple sin claves, sin cuenta y sin costo por token, pagada por un límite diario por usuario que diseñas en torno a él1. Elígelo cuando de otro modo levantarías tu propio modelo de servidor y temerías la revisión de privacidad.
Recurre a tu propio proveedor cuando necesites un modelo específico que la plataforma no te da. Core AI para un modelo local que empaquetas y ejecutas en el ANE, MLX para un modelo de código abierto por ID, o un paquete de proveedor (Claude, Gemini) para un modelo de frontera2. Asumes el manejo de credenciales, la atestación y la divulgación de privacidad, y a cambio obtienes un modelo concreto detrás de la misma LanguageModelSession que tu app ya habla2. La sesión es explícita en que los modelos on-device y en la nube tienen características de privacidad muy distintas, y el usuario merece saber cuál está respondiendo2.
Mézclalos en una sola sesión cuando las fases difieran. Ese es el caso de DynamicProfile: PCC para los turnos pesados de creatividad o razonamiento, el modelo on-device para los rutinarios, cada perfil llevando su propio modelo, temperatura y nivel de razonamiento3.
FAQ
¿Cómo cambio del modelo on-device a Private Cloud Compute?
Cambia el modelo que le pasas a LanguageModelSession. El framework ofrece una API de Swift unificada entre modelos, así que pasar del modelo System on-device a PrivateCloudComputeLanguageModel es un cambio de una línea, y tus prompts, tu salida Generable y tus herramientas funcionan igual1. PCC solo se ejecuta en dispositivos compatibles con Apple Intelligence, así que conserva tu comprobación de disponibilidad1.
¿Es Private Cloud Compute tan privado como el modelo on-device?
Apple diseñó PCC para que los datos del usuario nunca se almacenen y se usen solo para la solicitud, y el diseño ha sido verificado de forma independiente por investigadores1. Está integrado en el sistema operativo junto a iCloud, así que no hay claves de API, ni configuración de cuenta, ni autenticación que tengas que gestionar1. On-device sigue ganando en operación sin conexión y solicitudes ilimitadas; PCC gana en tamaño de contexto y razonamiento1.
¿Cuánto cuesta PCC, y cuál es el límite diario?
No hay costos por token para ti como desarrollador1. Cada usuario recibe un límite diario de solicitudes contabilizado contra su cuenta de iCloud, y los usuarios pueden ampliarlo mediante iCloud+ para un límite mayor1. Maneja el límite en tu UI consultando el estado de cuota del modelo (isLimitReached, belowLimit) y mostrando un control de ampliación persistente y accionable en lugar de una alerta1. El modelo está disponible para apps con menos de 2M de descargas, y haces la solicitud en el sitio web para desarrolladores1.
¿Qué significa realmente “trae tu propio proveedor de LLM”?
Apple agregó un protocolo LanguageModel público, de modo que cualquier modelo puede conectarse al framework Foundation Models y ser llamado a través de la misma API que el propio de Apple2. Más allá del modelo System y PCC, el framework agrega Core AI para modelos locales en el ANE y MLX para modelos de la comunidad de Hugging Face, y Apple nombró a Anthropic y Google como los que distribuyen paquetes de Swift para Claude y Gemini2. Un proveedor implementa LanguageModel más un LanguageModelExecutor que traduce el transcript del framework a su propio formato y transmite la generación de vuelta2.
¿Puede una sola sesión usar más de un modelo?
Sí. DynamicProfile permite que una sola LanguageModelSession cambie de modelo a mitad de la conversación, eligiendo la mejor configuración por tarea3. Un perfil lleva su propio modelo, instrucciones, temperatura y nivel de razonamiento, y el cuerpo del perfil se reevalúa en cada prompt, de modo que una sesión puede generar ideas en PCC y revisar en el modelo on-device dentro de la misma conversación3. Vigila la brecha de tamaño de contexto entre modelos y el costo de la caché KV de reescribir el historial cuando lo hagas3.
El clúster completo de Apple Ecosystem: el explicador del framework Foundation Models; los controles de tool-calling de iOS 27; la distinción del flujo de trabajo agéntico; y el LLM on-device. El hub es la Serie Apple Ecosystem. Para un contexto más amplio sobre iOS con agentes de IA, consulta la guía de Desarrollo de Agentes en iOS.
-
Apple, WWDC 2026 session 319, “Build with the new Apple Foundation Model on Private Cloud Compute”, presented by Louis. Source for: the one-line switch from the on-device model to
PrivateCloudComputeLanguageModel; the 4K vs 32K context comparison; reasoning at light, moderate, and deep levels set when callingrespond; thecontextSizeproperty onSystemLanguageModelandPrivateCloudComputeLanguageModel; the privacy design (data never stored, used only for the request, independently verified); no API keys, no account setup, no token cost, iCloud-counted daily limit upgradeable via iCloud+; availability for apps under 2M downloads and the developer-website application; thequotaUsageisLimitReached/belowLimithandling and the no-alert UI guidance; and the Xcode “Simulate Apple Foundation Models Availability” debug option. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, WWDC 2026 session 339, “Bring an LLM provider to the Foundation Models framework”, presented by Christopher Webb. Source for: the public
LanguageModelprotocol andLanguageModelExecutor; the configuration-as-lookup-key executor store andHashableconfiguration; the additional model options (Core AI on the ANE, MLX via Hugging Face); the rebuilt on-device System model with image input; Anthropic and Google shipping Swift packages for Claude and Gemini; the six transcript entry types and role mapping;ContextOptionsandGenerationOptions; the metadata/usage/text-delta streaming order;prewarm;LanguageModelErrorversus custom errors; custom response metadata and custom segment types; credential and App Attest guidance; and the privacy-characteristics disclosure between on-device and cloud models. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, WWDC 2026 session 242, “Build agentic app experiences with the Foundation Models framework”, presented by Erik and Oliver. Source for:
DynamicProfileswitching models within aLanguageModelSession; the craft-app example (brainstorming on PCC at temperature 1, planning with deepreasoningLevel, reviewing onSystemLanguageModel); profile body re-evaluation per prompt; trimming and redacting the transcript when moving between models;historyTransformas a local non-destructive transform; and the KV-cache implications of appending versus rewriting history, measured with the Foundation Models Instrument in Xcode. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple Developer, “Foundation Models” framework and the “Tool” protocol. The framework’s
LanguageModelSession, guided generation via@Generable, and theToolprotocol that the on-device model invokes mid-generation carry over unchanged to the PCC model and to provider models that conform to the newLanguageModelprotocol. ↩ -
Apple, “Expanding Private Cloud Compute”, June 8, 2026, written by Apple Security Engineering and Architecture (SEAR), User Privacy, Core Operating Systems (Core OS), Services Engineering (ASE), and Machine Learning and AI (AIML). Source for: PCC extending to Google Cloud on NVIDIA GPUs for new Apple Intelligence workloads and the “third-party data centers for the first time” framing; the five unchanged core requirements; the implementation stack (NVIDIA Confidential Computing with NVIDIA GPUs, Intel CPUs with TDX, Google’s Titan chip); the append-only hardware ledger and the two-independent-roots-of-trust attestation; Apple’s retained control over PCC software and the device-side trust gate; the summer-preview ramp; and the published binaries plus research-mode node access through the Apple Security Bounty Program. ↩↩↩↩↩↩↩
-
Apple, WWDC 2026 session 8009, “WWDC26 Privacy and Security Group Lab”. Paraphrased from a locally transcribed recording of the WWDC 2026 Privacy and Security Group Lab; Apple publishes no captions for the labs. Source for: PCC’s guarantees (stateless compute, non-targetability, ephemeral storage) not extending to third-party models such as Gemini or Claude reached through the framework’s language model protocol, and the developer owning the provider’s terms and the data-flow disclosure, including in the App Store privacy nutrition labels. ↩