Search my portfolio

Search cases, decisions, results and experience.

Privacy

Portfolio privacy notice

This notice explains how my portfolio handles measurement and professional inquiries.

Google Analytics 4

The site uses Google Analytics 4 to measure page views and controlled portfolio interactions, such as résumé downloads, case-study views and contact progression. Google Analytics 4 receives page path and title, broad device category, standard campaign or referral context and fixed labels for page group, content, CTA, audience route and registered experiment cohort. It does not receive contact-form names, email addresses, company names, role titles, contact reasons, message contents, Evidence Guide questions, transcripts, answers or audio. Analytics and advertising storage are denied; this configuration does not set analytics or advertising cookies.

Advertising user data, advertising personalisation and Google Signals are denied. This limited Google measurement is a third-party behavioral analytics service. Google processes the resulting limited technical and measurement data under its privacy policy.

First-party portfolio analytics

Analytics are disabled by default for the separate first-party analytics pipeline. If I enable it, the allowed event categories cover career and opportunity views, résumé and case-study opens, contact progression, Evidence Guide entry, reviewed-question actions and outcomes, exact evidence opens, media-chapter completion, useful next-step routes and optional voice-control or session-state events. The site records only that controlled event name, bounded campaign categories, referring hostname or internal referral, page path without a query string, device-size category, optional controlled contact reason and event time. This first-party store uses a dedicated database and is not provided to Google Analytics.

A trusted Cloudflare edge address may be converted to a rotating HMAC source value solely to enforce abuse limits. The raw address is never retained. The first-party analytics system does not create a visitor fingerprint or retain cookies, device identifiers, full referring URLs, query strings, fragments, email addresses or free-form text. It stores controlled event categories, bounded campaign categories, a referring hostname or internal referral, a page path without a query string, a device-size category, optional controlled contact reason and event time. Accepted events are retained for no more than 90 days, with request-time and daily purge controls.

Daily deletion continues while the dedicated analytics database is bound, even when new event collection is disabled. The site does not enable analytics unless the dedicated database, rate limits, retention controls, purge schedule and managed HMAC secret are all configured.

Portfolio Evidence Guide

Google Analytics does not receive Evidence Guide questions, transcripts, answers, audio or contact-message content. The optional first-party guide analytics use fixed action and outcome categories, not those contents. Ola's application does not store typed questions, voice transcripts, answers or audio. When model-assisted selection is disabled, a typed question is not sent to OpenAI; if that selection is enabled, the typed question may be sent to OpenAI only to select approved answer material with storage off. OpenAI may retain API abuse-monitoring logs containing prompts and responses for up to 30 days by default even when that storage setting is off. A model does not author public claim text. Speech input is offered only when on-device recognition is verified, with no cloud-recognition fallback.

An Evidence Guide citation identifies an exact, active public passage for a claim. Open that passage to check the published wording and nearby maturity or measurement limit. When it is active, its narrower wording and qualification govern the claim over a broader résumé summary. It lets a visitor inspect Ola's first-party portfolio account; it is not independent employer verification, an audit, or proof of a private implementation. If one exact passage is withdrawn, a separately approved active exact passage for the same claim may still support it. If none remains, the guide stops repeating the claim; another case, résumé summary or remembered passage cannot replace that evidence. Private employee reviews and patient records are not public evidence. A visitor's pasted job description cannot become portfolio evidence; the guide does not score a candidate or issue a hiring verdict.

The optional Evidence Guide appears only when enabled for the current release. Its starter answers are built from approved public evidence. Model-assisted selection is enabled in this configuration. A typed question may be sent to OpenAI through the Responses API solely to select reviewed public evidence cards. The request sets storage off, provides no tools or private portfolio material, and cannot generate public claim text. OpenAI may retain API abuse-monitoring logs, including prompts and responses, for up to 30 days by default under its API data-controls policy; API data is not used to train OpenAI models unless the account explicitly opts in.

Typed questions, voice transcripts, answers, audio and conversation history are not written by this portfolio to D1, R2, cookies, local storage, session storage or IndexedDB. D1 retains bounded provider-request counters and a cumulative reserved-cost and attempt ledger. These records contain no question text, answer content or visitor identity. The trusted edge address is immediately converted with an ephemeral per-isolate salt before a short-lived in-memory abuse counter is used; the raw address is not retained, and expired counters are purged during requests. Successful QA traces contain an ephemeral-salted question hash, the bounded candidate and selected contract identifiers, selected evidence identifiers, canonical source routes and provider request metadata, not the question text or answer content. The separately gated voice option is on-device only: if a browser cannot verify local speech recognition, voice input remains unavailable and the visitor continues by text. There is no cloud-recognition fallback.

Guide analytics, if the existing first-party analytics system is separately enabled, use fixed action and outcome categories only. They do not include questions, transcripts, answers, source excerpts, audio, names, email addresses, job descriptions, model prompts or free-form errors.

The browser may temporarily keep bounded, content-free acquisition and event-deduplication records in session storage, including before analytics enablement or server acceptance is known. The acquisition record contains controlled campaign categories and an external referring hostname; deduplication records contain no portfolio or guide content. Neither record contains a question, transcript, answer or audio.

Public evidence tools

The separately gated public evidence interface returns only approved public portfolio summaries and canonical olasobo.com links through read-only search and retrieval. It has no private credentials, write actions or access to contact submissions. Request content is processed transiently, bounded by bytes actually received and is not stored by this portfolio.

To enforce abuse limits consistently, a trusted Sites user identifier, or the trusted Cloudflare edge address on the direct web path, is converted immediately to an HMAC value. The raw identifier or address is never stored. Only short-lived per-source and global request counters are retained, and expired counters are deleted during requests and the daily purge.

Professional inquiries

The professional inquiry form collects name, email address, contact reason and message. Company name and role or opportunity title are optional. Sending an inquiry does not guarantee a reply. Resend processes these fields to deliver the email to Ola. The information is used to review and respond to your inquiry; it is not added to a marketing list, sold or used for advertising.

After an email is accepted, a private conversation tracker may retain the submission time, a bounded source category, company if supplied, controlled contact reason, role if supplied, fit classifications, stage, next step, outcome and category. It does not retain your name, email address, message, IP address, full referrer or free-form notes.

Delivery and retention

Resend processes the submitted form to deliver the email and retains email data for 30 days. The delivered message remains in my private Gmail account only as long as reasonably needed to manage the professional conversation. Short-lived, non-readable security hashes are retained for no more than 24 hours to limit abuse and duplicate submissions.

The qualified-conversation metadata is retained for no more than 12 months after creation. Status updates do not extend that period. Expired rows are removed by the daily schedule and before approved writes, and an owner-only deletion control can remove a tracker row earlier. Tracker failure never changes a successfully accepted email response.

Deletion and correction requests

To request deletion or correction of a submitted inquiry or its private tracker metadata, email olasobo21@gmail.com and identify the conversation. Do not include unnecessary sensitive information.

Contact Ola