Photos and camera
Everything the camera sees and every photo you choose to import is processed on your device. Developed results are saved to your photo library. Camera frames, captures, and imported photos are never uploaded to StreetFrame or OpenAI.
Weekly challenges and reminders
StreetFrame downloads a public weekly-challenge catalog from the StreetFrame server so new assignments can appear without an App Store update. This ordinary HTTPS request does not include a StreetFrame account, app-install identifier, challenge completion state, camera frame, or photo. Netlify necessarily receives the network and request information needed to deliver and protect the public endpoint. The app validates the response and keeps a small local cache so several upcoming assignments remain available offline.
Marking a challenge complete is stored only in the app’s local preferences and is not uploaded. If you explicitly enable the weekly reminder, StreetFrame asks iOS for notification permission and schedules a generic Monday reminder on the device. Disabling the reminder removes that request. StreetFrame does not send a notification token or reminder activity to its server.
The Film Lab
When you create a film in the Lab, the description you type is sent to the StreetFrame lab server, which uses OpenAI’s API to design the film recipe. StreetFrame does not save the description as a separate recipe field, but generated names and explanatory text may reflect what you entered. The description is processed by OpenAI under OpenAI’s API data controls. API inputs are not used to train models by default. OpenAI may retain API inputs and outputs for up to 30 days to provide the service and identify abuse, unless a different eligible retention control applies.
If you turn on Web research, the description is also used to perform web searches needed to research the requested look. StreetFrame therefore treats that submitted description as search history as well as user content. It is used only to deliver the requested Film Lab recipe, not for advertising, tracking, or profiling.
You control this processing. Film Lab asks for consent before the first request. You may withdraw consent at any time in StreetFrame Settings under Film Lab Privacy by turning off “Allow OpenAI processing.” Withdrawal prevents future descriptions from being sent; it does not retroactively remove information a processor must retain temporarily for security, legal, or abuse-prevention purposes.
Apple subscription proof remains on the StreetFrame server. For abuse prevention, StreetFrame sends OpenAI a one-way pseudonymous safety identifier derived from an allowance identifier. OpenAI does not receive the underlying Apple transaction identifier, app-install identifier, or IP address from this field.
Film Lab generations run as background jobs. The StreetFrame server temporarily retains a random job token, processing status, and the resulting recipe or error so the app can retrieve the result. Pending jobs remain available while work is active. If a worker stops before settling, either an app status check or the hourly recovery task marks the job failed and refunds its exact recorded reservations. Completed and failed job records become eligible for hourly deletion after 24 hours. StreetFrame does not use this operational job data for advertising or user profiling.
To recover an interrupted request without creating a second charge, the app temporarily stores the submitted description, random job token, request mode and status, and any unresolved recipe or error in its local app container. StreetFrame marks Film Lab recovery and quarantine records for exclusion from Apple device backups and verifies that protection before it starts or resumes work. If iOS cannot apply or verify the exclusion, StreetFrame preserves the record, blocks a replacement request, and tells you instead of risking another charge. A pending record remains until the request reaches a definitive failure or is recovered. Once development succeeds, StreetFrame separately saves a completed recipe-only draft to its local library and private iCloud recipe backup until you keep or discard it. That backed-up draft excludes the original description, random job token, and StoreKit transaction proof. If a recovery record cannot be read safely, StreetFrame preserves local quarantine evidence; that evidence remains until StreetFrame is deleted.
To meter usage fairly, the lab server keeps pseudonymous counters. Subscribers’ monthly units are keyed to an Apple transaction identifier. For Free use, the app creates a random app-scoped identifier in its local preferences; the server stores only a salted, one-way hash of it. A separate salted IP-address hash sets a shared-network abuse ceiling. Raw app identifiers and IP addresses are not written to the usage store. These identifiers are used only for entitlement, abuse prevention, and allowance accounting.
Recognized Free, network, and global daily counters are normally retained for 32 days after their UTC day; subscriber monthly counters are normally retained for 400 days after their UTC month. Within those counters, random one-use reservation identities and cancellation markers prevent a crashed or replayed job from charging again after a refund. The server may also record request identifiers, status, and error information needed to diagnose failed jobs; this operational data can be associated with the pseudonymous allowance identifier while a job is pending. No names, emails, or StreetFrame accounts are collected by the app or Film Lab service.
Private iCloud recipe backup
StreetFrame is local-first: saved custom recipes and completed recipe-only drafts stay available on your iPhone, including while offline. When iCloud is available, StreetFrame automatically backs them up as private CloudKit records in the iCloud database tied to your Apple account. There is no StreetFrame account. These private records use your iCloud storage and are not a public recipe gallery.
The backup contains recipe values and the limited ownership, shelf, conflict, and deletion information needed to restore and reconcile your library. It does not contain camera frames, captured or imported photos, original Film Lab descriptions, Film Lab job tokens, or StoreKit transaction proof. Film Lab request-recovery and quarantine records remain device-only and are excluded from Apple device backup.
On a new or reinstalled iPhone signed in to the same iCloud account, StreetFrame first downloads that private library and can restore the recipes automatically. A recipe you acquired while Pro was active remains usable and restorable after Pro expires; current plan rules still apply to creating additional recipes and to current editing, sharing, and web-research features.
If StreetFrame detects a different iCloud account, recipe backup pauses. The recipes already on the iPhone remain local, and nothing is uploaded to the newly selected account unless you explicitly choose to merge them. Choosing to keep them only on that iPhone preserves the account boundary. The Apple account used for App Store purchases can be different from the iCloud account used for recipe backup.
Removing a recipe from the Film Shelf only changes where it appears; it does not delete the saved recipe. Confirming permanent deletion in Film Lab removes that recipe and its completed draft locally and records the deletion in private iCloud so it propagates to other devices on the same account, including devices that reconnect later. Deleting the StreetFrame app alone does not delete its private iCloud recipe library, so the library can be restored after reinstalling. Exported backup files remain wherever you saved them until you delete those files separately.
Website and previous launch list
The StreetFrame launch list is closed, and the website no longer accepts new email addresses. If you joined before it closed, the address you submitted was processed through Netlify Forms and was intended only for StreetFrame launch news. It is not sold or used for advertising. SageKey Labs may retain it only as needed to honor prior signup, opt-out, or deletion requests and legal obligations. You can request deletion by emailing hello@sagekeylabs.ai.
Website hosting providers may process standard request information—such as IP address, browser or device type, requested URL, and timestamp—to deliver and secure the site. The website also loads its typefaces from Google Fonts, which can receive standard request information when the fonts are delivered. SageKey Labs does not use this information to build advertising profiles or connect website visits to activity inside the StreetFrame app. See Netlify’s privacy statement and Google’s privacy policy for their respective practices.
Subscriptions
StreetFrame Pro is billed by Apple. SageKey Labs never sees your payment details. The app sends Apple’s signed subscription receipt to the lab server solely to verify your access. Before paid Film Lab work begins, the server also asks Apple’s App Store Server API for the subscription’s current status so later expiry, refund, revocation, billing state, or plan changes are honored.
Recipe ownership is stored with the recipe. Recipes acquired while Pro was active remain usable and restorable from private iCloud backup without an active Pro subscription. Current entitlement still controls new paid authoring and editing benefits.
Service providers and safeguards
Apple provides iCloud and CloudKit for private recipe backup. Netlify hosts the public weekly-challenge feed, the StreetFrame lab server, and its operational data stores. OpenAI processes Film Lab descriptions and generated recipe responses. SageKey Labs uses these providers only to operate StreetFrame and requires them to process information under their applicable data-protection, confidentiality, and security commitments. We do not permit Netlify or OpenAI to use StreetFrame data for advertising on our behalf or to sell it. Where processing crosses borders, we rely on the providers’ contractual transfer safeguards and applicable law.
Access and deletion requests
You may request access to or deletion of support correspondence and any Film Lab operational data that SageKey Labs can reasonably identify by emailing hello@sagekeylabs.ai. Because StreetFrame has no account and uses pseudonymous identifiers, we may ask for a job token or other information needed to locate a record, and in some cases may be unable to link a record to you. We delete verified matching data unless it must be retained for security, fraud prevention, legal compliance, or resolving an active transaction. You can remove a recipe everywhere by confirming permanent deletion in Film Lab and allowing iCloud sync to finish. Deleting StreetFrame removes local recipes, recovery records, and consent preferences from that device, but does not by itself delete the private CloudKit library tied to your iCloud account. Apple provides controls for data stored in iCloud.
What we don’t do
- No analytics or telemetry SDKs in the StreetFrame app
- No advertising, tracking, or data sales
- No StreetFrame account or in-app email collection
- No cloud photo processing
Contact
If you email support, SageKey Labs receives your email address and message and uses them to reply, maintain ordinary support records, and meet legal obligations. Support correspondence is not used for advertising or linked to your app activity unless you choose to include identifying details in your message.
SageKey Labs, LLC · hello@sagekeylabs.ai · sagekeylabs.ai