{{ sec.h }}
{{ para.t }}
{{ activeTagline }}
{{ pdDesc }}
Product information only. For stockists, wholesale or press samples, contact the ioni team.
The link may be out of date, or the product has been retired. The full range is still here.
Nothing here yet — inline products are added in the CMS.
{{ ctIntro }}
We’ll reply to {{ cfSentTo }}. {{ ctResponseNote }}
Colour is a small industry with a long shadow — in what is grown, what is melted, what is shipped and what is thrown away six weeks later. IONI is not a sustainable company. It is a company becoming one, slowly, in public, at the pace the work honestly allows. What follows is what we have committed to, what we have already changed, and what we have not solved yet.
IONI is approved under PETA's Beauty Without Bunnies programme in its strictest tier — cruelty free and vegan, the two held as one commitment rather than two claims. No animal testing at any stage, not by us, not by our suppliers, not by a third party on our behalf, not for any market that would require it. And no animal-derived ingredient in any formula: no beeswax, no carmine, no lanolin, no silk, no keratin, with no legacy products quietly left out of the count. Where an animal ingredient was doing real work, we replaced it with something that performs as well — never with something that performs less.
Certification documents, supplier audits and the full impact report are available on request — to customers, stockists and press alike.
{{ legalIntro }}
{{ legalUpdated }}{{ para.t }}
The studio answers policy questions in plain language within two business days.
Photos are stored on the server, and the content API isn't reachable from here — so uploads are turned off rather than saved into this browser. Text edits are held in this browser as a preview only. Deploy the server in server/ and every slot starts working.
Connected to the server. {{ serverStatusDetail }}
{{ uploadingLabel }} — the slot fills in when the server has the file.
Pick a collection on the left, edit it, then Save & publish — changes go straight to the live pages.
One link that opens the site with everything saved here — including drafts and unreleased collections that aren’t published yet. Thumbnails clickable, product pages live, so the full range can be shown in a meeting. The link asks for the portfolio password before showing anything — send it separately. Customers on the normal URL still see only published work.
Locked until {{ editReleaseLabel }}. It stays hidden until 2 months before that date, then sits on Collections as a greyed-back thumbnail labelled “Upcoming”, isn’t clickable, and stays off the landing page — it unlocks itself that day (California time).
Released — live now. A future date would hold it back as “Upcoming” until that day.
Pick a date. A past date records when it launched; a future date keeps it locked as “Upcoming” until that day, then it unlocks itself.
Where this collection is stocked. Pick any of your stockists — each product page then carries an “Available at” line.
No stockists yet — add them in the Stockists pane, then pick them here.
Product pages show “Available at {{ editStoresLabel }}”.
{{ featuredNote }}
{{ editStatusNote }}
CONTACT_TO).
Visits are recorded by the server, so there’s nothing to show in this preview. Once the site runs on the server, numbers appear here within a minute of the first visit.
Loading…
{{ anError }}
No visits recorded in this range yet.
Cookieless and first-party. No IP addresses or personal details are stored. A visitor is counted once per day and can’t be followed from one day to the next. Not counted: the Content Manager, portfolio-link sessions, team members signed in on that browser tab, and browsers that send Do Not Track or Global Privacy Control.
Nothing matches “{{ sheetQuery }}”.