Three apps, one account, one platform. They're made to work together.
Across every product we're building an AI layer that's actually useful. It reads your context, uses tools carefully, shows its work, and you stay in charge.
Two desktops, Aero™ and Aero™ Neo, and two AeroBook™ laptops, Nano and Pro. They go from an 8 GB fanless N100 laptop up to a twenty-four-core desktop, all running our own Linux with the Glass UX. The AI in it is there to help: find a document, sum up a project, show you what's next, and ask before it changes anything important.
They overlap on purpose. Which one you want depends on what you're trying to do this afternoon, not on which is the most capable.
Shiba
You have a problem to think through, something to write, code to work on, or a question with more than one right answer. Start here. Everything else runs on the same reasoning.
Cadence
You're at a school and need the day in one place: the feed, the calendar, notes, channels and
messages, with verified registration so you know who you're talking to.
Momentum
You want to keep at something daily and see the evidence. A thirty-second evening check-in, stored on
your own device.
What they share.
Why build several products and not one? Because the hard parts are the same in all of them. Every app sits on the same foundations, so when one gets better they all do.
One account
Sign in once. Your identity, plan and privacy choices follow you into every product.
One intelligence layer
The same reasoning model behind Shiba answers in Cadence too.
One set of rules
The same privacy policy, the same safety work and the same limits on what an app may ask for.
One place to leave
Export everything, or delete the account and its content across every product, from Settings.
No. Each one works on its own and none of them bugs you about the others. They get better together because they can read each other's context, not because we lock stuff until you sign up twice.
Is there a free tier?
Yes, on every product. The full breakdown of what each plan includes is on the
pricing page.
Are my conversations used to train models?
Not unless you turn it on. It's off by default in Settings. Heads up: right now that switch is saved on the device you flipped it on and doesn't reach our server yet. So treat it as telling us what you want, not as something we enforce, until this page says otherwise.
What about students under 13?
You need to be at least 13 for a Noctic Account. What we do differently for younger and school-age users is in children and teens.
Can I build on top of these?
Yes. Continue with Noctic is open to apps that aren't ours, and the tools to wire it up are in the
developer section.
The SaaS starter we build on, as a zip. Next.js 15, authentication, billing, multi-tenant workspaces and a dashboard, all wired together, typed end to end, and unbranded so you can ship it as your own.
Not a template you pull apart. A working product with your name missing from it.
A download, $199 USD, paid once.
Five things nobody enjoys building.
Authentication
JWT sessions in httpOnly cookies with server-side session records, so revocation is instant. Email
and password, Google and GitHub over PKCE, protected-route middleware and role-based guards.
Billing
Stripe Checkout and the customer portal, webhooks that verify signatures and survive being delivered
twice, tables for subscriptions and one-off payments, and plan entitlements.
Database
A Drizzle schema for users, OAuth accounts, sessions, organisations, members, invitations, subscriptions and payments, with the SQL migrations already generated.
Interface
A token-driven component library: buttons, cards, inputs, tables, modals, dropdowns, toasts, avatars
and badges. Dark and light, responsive, no framework to learn on top of Tailwind.
Dashboard
Collapsible sidebar, workspace switcher, user menu, theme switching with no flash on load, and the
settings, team and billing pages already written against the schema.
Nothing broken on arrival
npm run typecheck and npm run build both pass on a fresh unzip. Three
environment variables boot it; everything else stays disabled until you add its keys.
Next.js 15 with the App Router, TypeScript, Tailwind CSS, Drizzle ORM, PostgreSQL and Stripe. The zip is
the source tree, not a node_modules dump. Unzip it and run npm install.
One payment, by e-Transfer.
No checkout here and no card form. You send the money from your own bank, we send you a code, and the code opens the download.
Kick Start
$199 USD, once
The full source, unbranded
Unlimited projects, yours and your clients'
No subscription and no seat count
A single-use code, emailed to you
Send it to
nicholassteiche@icloud.com
Security question, if your bank asks for one
What kit is this
Answer
kickstart20
1
Send $199 USD
Interac e-Transfer to nicholassteiche@icloud.com. If your bank asks for a security question,
use the one above: What kit is this, answered kickstart20, lower case and no space.
2
Put your account email in the message
Write the address on your Noctic Account in the transfer's message field. That's where the code is sent, and the account it belongs to.
3
Get a code back
Once the transfer lands in the bank we email you a code of your own. It looks like
KS-A7QF-2M4X-9KDP-3TWE, and no one else is ever given it.
4
Spend it
Enter the code below and the zip downloads. The code is used up in the act, so save the file instead
of the code.
Paying from outside Canada, or in a currency your bank won't e-Transfer? Write to
support and we'll sort out another way to take the $199.
Already paid? Enter your code.
Sign in first. The code is issued to your account. Entering it uses it up and opens a private link that lasts fifteen minutes, so download the zip and keep it. A used code is used for good, including for anyone it gets forwarded to.
Your code is spent
Kick Start is yours. Save the zip somewhere you'll find it again, then unzip it, run
npm install, copy .env.example to .env.local, and the README
takes it from there.
Every file, readable and editable. Nothing minified, nothing hidden, nothing saved for a pricier tier.
Unlimited projects
Build as many products on it as you want, for you or for clients, and charge what you like. One purchase covers all of them.
Not for resale as a kit
Ship what you build with it. Don't repackage the kit itself, changed or unchanged, as a starter for
other people to buy or download.
No subscription
One payment. There's no renewal and no seat count. What you download is yours to keep and to build
on for as long as you like.
Support is best effort
Ask us anything at contact. This is a zip, not a managed service, so treat any
answer as a favour instead of an entitlement.
No refunds after the code
The code is the product, and it can't be returned once it's sent. If something in the kit is actually broken, tell us and we'll fix it or refund you.
Questions before you send money.
Why e-Transfer instead of a card?
Because a card checkout would mean running a whole payment setup for one product. An e-Transfer costs you nothing, clears the same day, and your card details never come near us.
How long does the code take?
Usually a few hours, one business day at worst. A real person reads the transfers, so if you pay overnight you'll hear back in the morning.
My bank sends e-Transfers in Canadian dollars.
Send the Canadian equivalent of $199 USD on the day you pay. If the rate's off a little either way that's fine. We're not chasing anyone over a dollar.
Nothing happens when I enter my code.
Check it character by character. Codes never use the letters I or O or the digits 0 or 1, so those are usually the typo. Spaces and lower case are fine. If it still fails, reply to the email the code came in.
Can I use the code twice?
No, and that's on purpose. A spent code is dead for everyone, so a forwarded one is worth nothing. For the first day after you use it, we'll still give you a fresh link if a download drops halfway. After that, ask us and we'll open it again.
Do I need a Noctic Account?
No. Kick Start is sold and delivered entirely outside the account system. Nothing about this purchase
touches your Noctic Account if you have one.
What isn't in the box?
Dependencies, which npm install fetches; a database, which you point
DATABASE_URL at; and your Stripe and OAuth keys. The README lists every variable and
what it switches on.
Do I get updates?
You get the build from that day, and the code won't open a newer one. If you want the current kit again, write to us and we'll send a fresh code. There's no changelog feed and no way to upgrade a project you've already changed.
Encrypted before it leaves your machine. Usync moves files between your own devices in a browser tab. Usync Air moves them between people, from a Mac or an iPhone, and nothing in the middle can ever read them.
AirDrop only works when both machines are in the same room. Email attachments get read by every server they pass through. This is the third option.
In development.
Your devices, and everyone else's.
Usync
Your own devices.
A browser tab on every machine you own. Drop files, a folder, some text or a link into one and it shows up on another. No cable, no juggling accounts, no emailing yourself.
Names your devices, remembers the ones you use, and works just as well from a phone browser as a desktop. Comes with a Noctic Account.
Native apps for macOS and iPhone that send to approved contacts. Watched folders, team spaces, and
a relay that holds ciphertext for as long as it takes the other side to collect it.
$10 a month. Universal on Apple silicon and Intel, iOS 16 or later.
Files that show up on a machine by themselves are how machines get wrecked. So a security code lets someone reach you. It never lets them write to you. That needs your OK, once, per person.
1
Everyone gets a code
Sixteen characters, generated for you and never chosen. Share it like a phone number. Roll it the
moment it leaks and the old one dies instantly.
2
Email plus code opens a request
That pair finds a person and asks to connect. It moves zero bytes. Wrong guesses are rate limited
and look identical to misses, so codes can't be fished out one attempt at a time.
3
You approve, once
Both sides agree before the database permits a single transfer. Auto-download then runs only for
approved contacts, and only under the ceiling you set.
4
The relay never sees a file
Everything is sealed on your device before it's uploaded. What passes through is ciphertext and a
checksum, and it's deleted the moment it's collected.
How a file moves.
Five steps, and none of them touch a server that could read anything even if it tried.
1 · Sealed
The sender's device generates a one-time key and encrypts the file with AES-256-GCM. The key exists
for this one transfer and is never reused.
2 · Wrapped
That key is wrapped for the recipient using X25519 key agreement, so only their device can unwrap it.
Private keys live in the Keychain and never leave the machine they were made on.
3 · Relayed
The ciphertext goes to the relay, which holds no key and can decrypt nothing. It's a corridor, not a
filing cabinet.
4 · Verified
The recipient downloads, unwraps, decrypts and recomputes the SHA-256. If it doesn't match, it's thrown away instead of saved. Half a file isn't a file.
5 · Wiped
Once collected, the object is deleted from the relay. Nothing accumulates that could later leak.
Built for people who move files all day.
Watched folders
Point Usync Air at a folder. Save a file into it and the file is already on the other machine. No
button, no upload dialog, no remembering to send it.
Inbox or straight to disk
Chosen per contact. People you trust land in a folder. Everyone else waits in an inbox until you say
so, however much they send.
Team spaces
Group your people. Drop a file once and it reaches everyone approved in the space.
Verified on arrival
Every transfer carries a SHA-256 checksum, recomputed after decryption. A mismatch is refused, not
opened.
No shared network
Nothing needs to be on the same Wi-Fi, in the same building or on the same continent. If both
machines can reach the internet, they can reach each other.
One account
The same Noctic Account that carries Shiba and Cadence. Sign in once and the
apps know who you are.
The rules that cannot be turned off.
Some settings are up to you. These aren't, because the whole point of auto-download is that you're not there to catch anything.
Executables never auto-save
Whatever auto-download says, anything on the refused list waits for you to look at it. The list is in
the app, not a server setting somebody else can edit.
Quarantine is kept
Files written to disk keep the flag macOS puts on downloads, so the operating system still asks its
own questions before anything runs.
Your size cap holds
Anything over the ceiling you set waits in the inbox instead of filling a disk while you sleep.
Approval is per person
Approving one contact approves that contact. There's no setting that opens you to everybody, because
we didn't build one.
Keys stay on the device
Private keys are generated in and never leave the Keychain. We can't read your transfers, and there's no key escrow to be compelled for.
Downloads are tied to your account and plan, so a build can't be passed around. Stripe handles payment and card details never reach us, same as everything else on the pricing page.
Honestly: not finished.
The apps are real and they build. What's not real yet is everything behind them, and it'd be easy to write this page like it was.
1
The apps build
macOS compiles in release and ships as a disk image. iOS runs. The encryption, the contact model and the safety rules above are actually written, not just sketched.
2
The backend isn't deployed
The database schema and the functions that turn a Noctic sign-in into a session are written but not live yet. Every call fails with a clear message so nothing pretends to work.
3
The installer is unsigned
Until it's signed and notarised, macOS will refuse it on any machine but the one that built it. That's the last step before anyone else can run this.
4
Transfers cap at 45 MB
A limit of the current storage plan, not the design. Resumable chunked upload is the next piece of
work and lifts it.
Questions.
Can you read my files?
No. And that's not a promise, it's how it's built. The key that opens a file is made on your device and wrapped so only the recipient's device can unwrap it. All we ever hold is ciphertext we have no key for, briefly, and then nothing.
What happens if I lose my device?
The private key goes with it, which means transfers sent to that device and not yet collected can't
be opened by anything. Set up a new device and ask the sender to send again. There's no recovery
key, because a recovery key is a key somebody else can be made to hand over.
Somebody has my security code. What can they do?
Ask to connect. That's the whole list. Until you approve them the database refuses every transfer,
and you can roll the code from the app, which kills the old one immediately.
Is Usync Air different from AirDrop?
AirDrop needs both machines nearby and both to be Apple. This needs an internet connection and an
approved contact. The overlap is smaller than it sounds.
Do I need Usync Air to use Usync?
No. The browser half stands alone and covers sending things to your own devices, which is most of
what most people want. Air is for sending to other people.
Is there a Windows or Android app?
Not yet, and not soon. The browser half runs anywhere; the native apps are macOS and iOS because that's where the Keychain work is done and where we can test properly.
When can I actually buy it?
When the backend is deployed and the installer is signed. Both are on the list above, and neither has a date, because a date we can't keep is worse than no date at all.
New to Linux? No problem. AXESS OS is easy to learn and easy to live with. If you're thinking about moving from Windows or a Mac, here are the questions people ask first.
Is AXESS OS as easy as my phone?
Is AXESS OS as easy as my phone?
Yes. It's Linux underneath and Glass UI on top. Settings are named after what they do. No daemons, no mount points, no acronym you meet once a year. The terminal is there if you want it, and you never have to open it to do ordinary computer things.
Normal Linux software runs, AppImage packages work as is, and a small set of our own apps comes with the basics installed. All four machines use the same Intel parts today, so what you install on one works on every Aero™ we ship now. Noctic Silicon is RISC-V, so when we move to our own chip, the system and its packages get rebuilt for it.
Why is every port USB‑C ?
Why is every port USB‑C ?
Because then every port is the same port: power, displays, storage, audio and networking through one connector, and any cable in any socket. The space an HDMI socket would take becomes battery on a laptop and airflow on a desktop. On day one you'll need an adapter for something. One hub on your desk covers it.
What does it know about me?
What does it know about me?
Nothing you haven't turned on. No keystroke logging, no screen watching, no “improve the product” toggle that shows up already on, and saying no never switches off something you paid for. Every machine works fully signed out.
Not yet. The AeroBook™ Nano is designed and its $499 is settled, but it hasn't been manufactured, so there's nothing to ship and we aren't taking orders. The other three are concepts with indicative pricing. Reserving a spot is free and commits you to nothing.
The same build of AXESS OS runs on all four machines, desk or bag. Every control is drawn in Glass UI, with no borrowed system dialogue anywhere, and the terminal is still there for anyone who wants it.
Standard AppImage packages work, alongside a small first-party library and useful essentials installed from the start. It's still Linux, presented better.
Plug in. Pair. Get going.
Plug in. Pair. Get going.
The desktops come without a display, keyboard or mouse: anything that speaks USB-C or Bluetooth works and pairs from the first screen you see. Up to four displays on the Aero™, one of them at 8K.
No account. No problem.
No account. No problem.
Every machine works fully signed out. A Noctic Account syncs your settings between machines if you want that, and nothing is held back if you don’t.
The Aero™ pairs Intel’s Core Ultra 9 285 (eight performance cores and sixteen efficiency cores, up to 5.6 GHz) with 64 GB of memory, under one large fan that barely has to turn.
Cooled like a tiny fridge.
Cooled like a tiny fridge.
A vapour chamber (a sealed copper plate with a little liquid inside) boils where the chip is hot and condenses at the cool edges, over and over, with no pump and nothing to wear out. The AeroBook™ Nano needs no fan at all.
Every port is the same port.
Every port is the same port.
Nothing only charges and nothing only carries data. USB-C for power, displays, storage, audio and networking. Up to 80 Gb/s per port on the AeroBook™ Pro.
Memory that stays where it’s put.
Memory that stays where it’s put.
Soldered next to the processor instead of in slots: shorter distances, lower latency, and no upgrading later. Buy the size you'll still want in four years.
Up to 16 hours. For real.
Up to 16 hours. For real.
Up to 14 hours on the AeroBook™ Nano and up to 16 on the Pro, whose 100 Wh pack is more than twice the Nano’s, because a machine that can draw power will.
Intel now. Noctic Silicon later.
Intel now. Noctic Silicon later.
The family is designed around our own N1 chips: N1x, N1 Bionic and N1 Pro. Until those exist it runs Intel Core Ultra, and an N100 in the Nano. Both are Intel, so it's the same AXESS OS, same apps, same drivers.
The Nano’s $499 is final. The Aero™ Neo from $1,499, the Aero™ from $2,499 and the AeroBook™ Pro from $3,499 are indicative until release in 2030, and every page says so next to the number.
Built for years, not seasons.
Built for years, not seasons.
A vapour chamber with nothing to wear out, memory sized for the next four years, and one architecture for the whole family. Moving to our own chips one day is a software non-event.
Made with classrooms in mind.
Made with classrooms in mind.
The AeroBook™ Nano is partly made for schools. It's light, silent, cheap to replace, and gets the same AXESS OS updates on the same day as the Pro.
Planned numbers for machines that mostly aren't built yet. Any of them can change.
Processor and memory, as it stands today
Aero™ Neo
Aero™
AeroBook™ Nano
AeroBook™ Pro
Processor
Intel Core Ultra 9 285H
Intel Core Ultra 9 285
Intel Processor N100
Intel Core Ultra 9 285H
Platform
Core Ultra 200H series
Core Ultra 200S series
Alder Lake-N
Core Ultra 200H series
CPU cores
16 (6P + 8E + 2LP-E)
24 (8P + 16E)
4 (4E)
16 (6P + 8E + 2LP-E)
Threads
16
24
4
16
Max turbo
5.4 GHz
5.6 GHz
3.4 GHz
5.4 GHz
L3 cache
24 MB
36 MB
6 MB
24 MB
Graphics
Arc 140T · 8 Xe cores
Intel Graphics · 4 Xe cores
UHD Graphics · 24 EU
Arc 140T · 8 Xe cores
Neural engine
NPU 3 · 13 TOPS
AI Boost NPU · 13 TOPS
None
NPU 3 · 13 TOPS
Memory
32 GB soldered
64 GB soldered
8 GB soldered
32 GB soldered
Memory speed
LPDDR5X-8400
DDR5-5600
LPDDR5-4800
LPDDR5X-8400
Upgradeable
No. Memory and storage are fixed when the machine is made, on all four.
Intel, Core Ultra and Arc are trademarks of Intel Corporation. Noctic has no partnership, endorsement or supply deal with Intel. These are just the parts machines like these would use if they were built today, picked off a public price list like anyone else’s.
What Noctic Silicon would replace them with
Our own RISC-V chips: N1x, N1 Bionic and N1 Pro. Three chips, one architecture, so one build of AXESS OS runs on all of them, each a step up from the last. None of them has been made yet. Every number below is a target in a spec, not something measured off a chip.
Aero™ Neo
Aero™
AeroBook™ Nano
AeroBook™ Pro
Chip
N1 Bionic
N1 Pro
None. Stays on Intel N-series
N1 Pro
CPU cores
8 (4P + 4E)
24 (8P + 16E)
None
24 (8P + 16E)
Threads
8
24
None
24
Max turbo
4.2 GHz
5.7 GHz
None
5.7 GHz
L3 cache
16 MB
36 MB
None
36 MB
GPU cores
10
24
None
24
Neural engine
16-core · 12.3 TOPS
32-core · 48 TOPS
None
32-core · 48 TOPS
Memory
16 GB LPDDR5X
16 GB
None
16 GB
Memory bandwidth
136.5 GB/s
205 GB/s
None
205 GB/s
Status
Designed and running in simulation. Not manufactured, no date.
Specification only. Not designed, not manufactured, no date.
Concept status: the Aero™, Aero™ Neo and AeroBook™ Pro are concepts. Nothing has been manufactured, there's no manufacturing partner and no release date. Their prices in the builder are indicative, and buying is locked until release, which we don't expect before 2030. The processor choice, memory, storage, display, battery, cooling, body and every other hardware and software detail on this page is planned, not final, and may change or be abandoned. Intel, Core Ultra and Arc are trademarks of Intel Corporation; Noctic has no partnership with or endorsement from Intel. The N1x and N1 Pro are specifications for silicon that doesn't exist yet, and N1 Bionic is designed but not made. See Noctic Silicon.
$499, settled. Designed, but not manufactured, so there's no date and no order to place yet.
One kilogram.
No fan. Ever.
Four hundred and ninety-nine dollars.
AeroBook™ Nano
One kilogram.
Opens with one hand.
A first computer, or a second one.
Every other machine in the lineup is a premium machine. This one isn't, on purpose. It's the only real way to put AXESS OS in front of a student, a classroom, or anyone who just doesn't want to spend a lot on a laptop.
The AeroBook™ Nano is built around a processor that costs a fraction of the others, a body made of anodised aluminium instead of titanium, and a screen picked for being good, not remarkable. What it doesn't cut is the software. It runs the same build of AXESS OS, gets the same updates on the same day, and collects the same amount of data about you as the Pro: none.
Good for
Browsing, email, documents, spreadsheets that a person made instead of a bank, calls, note-taking,
streaming, homework, coursework, and being carried around all day without a charger.
Not for
Video editing, 3D, gaming past what a browser can do, big compiles, virtual machines, or forty tabs at once. It'll try all of these and you'll notice it struggling.
Where it tops out
Four cores, four threads and 8 GB. About twenty-five tabs and a document is a comfortable day. Past that it starts swapping and you start waiting. Better we tell you now than you find out in week three.
Silent, always
Six watts of base power means no fan, no vents whirring in a quiet room, and nothing inside that can fail mechanically. Being fanless is a result of the chip, not some feat of engineering. A thin vapour chamber spreads the heat across the body instead. It's a sealed plate with a little liquid inside that boils off the hot chip and condenses at the cool edges, so it moves heat like a tiny fridge with no pump.
The same system
Glass UI, the same settings, the same apps, the same terminal if you want it. We don't hold anything back on the cheap machine to make the expensive ones look better.
Where it gives way
No neural engine, so on-device AI falls back to the CPU and runs slow or not at all. No face unlock. No touch. A 60 Hz screen. That's what the price costs you, and it's real.
AeroBook™ Nano
4cores
8 GBof memory
1.02 kgin a bag
$499to buy one
Intel N100. Nothing clever, and that is the idea.
A four-core Alder Lake-N chip that draws six watts and costs almost nothing. It's the most boring processor in the lineup and the easiest one to defend.
The N100 has four efficiency cores, no performance cores, no hyper-threading and no neural engine. It turbos to 3.4 GHz, shares 6 MB of cache across all four cores, and runs a small built-in GPU that's enough for a 1200p desktop, video, and whatever graphics a web page needs. It's the same chip inside tons of mini PCs and thin clients, and that's exactly why we'd use it. It's cheap, it's everywhere, Linux supports it well, and nobody has to invent anything to make it work.
Processor
Intel® Processor N100 (Alder Lake-N)
Cores / threads
4 efficiency cores / 4 threads (no hyper-threading)
Frequency
Up to 3.4 GHz burst
Cache
6 MB L3, shared
Base power
6 W
Graphics
Intel® UHD Graphics: 24 execution units, up to 750 MHz
Neural engine
None. On-device AI runs on the CPU, when it runs at all.
Memory
8 GB LPDDR5-4800, single channel, soldered to the board
Upgradeable
No. Nothing socketed, nothing removable.
Soldered, like the rest of the family
The Nano’s 8 GB is soldered on the board next to the chip, same as every Aero™ and AeroBook™. It's slower than the LPDDR5X in the AeroBook™ Pro, you can't upgrade it, and that's part of hitting the price.
Single channel, and what that costs
The N100 has one memory channel, so it gets about a third of the AeroBook™ Pro's bandwidth. You feel it in graphics and anything that moves a lot of data at once. You won't feel it writing an essay.
No Noctic Silicon successor, on purpose
The N1 chips are planned for the machines that need them. The Nano is about being cheap and available now, so for a machine like this the smart move is to keep buying the cheapest decent chip out there. The whole silicon story is on the Noctic Silicon page.
8 GB is the number, and it's fixed
It tops out low, the memory is soldered, and there's only one configuration. If you already know 8 GB won't cut it, look at the Aero™ Neo or the AeroBook™ Pro. That's a straight answer, not an upsell.
No fan.
Nothing to hear.
64 GB, or 500 GB.
The only choice you make when you buy a Nano, and it matters more than it looks.
Nano 64 GB
Nano 500 GB
Medium
64 GB eMMC 5.1, soldered
500 GB NVMe SSD, M.2 2242
Sequential read
Around 300 MB/s
Around 2.2 GB/s
Free after AXESS OS
Roughly 48 GB
Roughly 484 GB
Made for
Cloud-first work, school fleets, a second machine
Keeping your files on the machine
Everything else
Identical. Same chip, same memory, same body, same screen, same system.
1
Take the 64 GB if your files live elsewhere
A school account, a cloud drive, a home server. The machine is just a window into them, and it costs as little as it can.
2
Take the 500 GB if they don't
Photos, a music library, coursework going back years, anything you want to open on a train with no signal.
3
eMMC is slower, and it shows on big files
Booting up and everyday stuff feel about the same. Copying a few gigabytes doesn't. We're not going to act like they're equal.
4
Neither can be changed later
The eMMC is soldered. The NVMe module isn't, but we won't support you opening the machine.
Two finishes
Aluminium Silver.
Aluminium Slate.
One kilogram, two ports, no fan.
Anodised aluminium, not the titanium-and-aluminium unibody of the AeroBook™ Pro. On a machine this size titanium mostly shows up as a cost on a spreadsheet. The lid is stiff, the hinge opens with one hand, and the whole thing weighs a bit over a kilogram.
1080p, in the top bezel. No notch, no face unlock.
Unlock
Password or PIN
Keyboard
1.3 mm travel, not backlit, with the Aero™ key
Speakers
Two, bottom-firing
Microphones
Two
Ports
Two USB-C, USB 3.2 Gen 2 at 10 Gb/s, charge or data on either
External display
One, up to 4K at 60 Hz
Wireless
Wi-Fi 6E and Bluetooth 5.3
Battery
42 Wh, up to 14 hours, 45 W USB-C charging
Cooling
Vapour chamber, no fan. No vents, no moving parts.
Weight and thickness
1.02 kg · 15.4 mm
Body
Anodised aluminium
USB-C only, like the rest of the lineup. On the Nano that means USB 3.2 instead of USB4, because the N100 doesn't offer Thunderbolt. One cable still carries power, a display, storage and audio. If you need HDMI or USB-A, a hub gives you both.
Full specifications.
Planned figures for an unbuilt machine. Every one of them may change.
A browser, a document, mail, music and a video call all at once? Yes, easily. A big photo library, a virtual machine or forty tabs? No, and no configuration of this machine changes that. That's what the AeroBook™ Pro and the Aero™ Neo are for.
Why an N100 and not something faster?
Because the moment you move up, the price moves with it, and then it's just a more expensive laptop with the same screen. The Nano is only worth building if it's actually cheap.
64 GB or 500 GB?
64 GB if your files live in an account somewhere and the machine is a window onto them. 500 GB if you keep things on the machine. Not sure? Get 500 GB. Storage is the one thing here you can't work around later.
Does it run the same AXESS OS?
Same build, same day. No cut-down version and nothing saved for the expensive machines. The only exception is AI features that need a neural engine, because this chip doesn't have one.
Can I upgrade the memory or storage?
The memory is soldered, so no. The 500 GB model uses an M.2 module you could physically swap, but it's not a machine you're meant to service yourself and we won't pretend it is.
Is this the school machine?
Yes, it's the machine we'd put in a classroom. Silent, light, cheap to replace, and running a system that doesn't watch whoever's using it. What that looks like at scale is on the districts page.
Release status: the AeroBook™ Nano hasn't been manufactured. It's designed, specced and priced, and the $499 in the builder is the price we plan to keep. But no unit has been built, nothing is in production, and we're not taking orders or giving a ship date. Treat every number on this page as a design target, not a measurement. Intel and the Intel logo are trademarks of Intel Corporation. Noctic has no partnership with or endorsement from Intel.
A desktop computer fifteen centimetres square. Sixteen cores, 32 GB of memory and four USB-C ports, in a box light enough to carry from one desk to the next.
A concept. Prices are indicative, and buying is locked until 2030.
From $1,499, indicative. Buying opens at release in 2030.
Fifteen centimetres square.
Sixteen cores.
A desktop that travels.
A desktop that fits in a bag.
Most of a desktop computer is air. The Aero™ Neo is what's left when you take the air out and keep the processor.
It has the same Intel Core Ultra 9 285H as the AeroBook™ Pro, minus the screen, keyboard and battery, which is most of what a laptop costs. Plug it into the display you already have, grab it at the end of the day and plug it into another one. It runs off a USB-C charger, so the second desk just needs a cable, not a second computer.
Good for
Development, office and school work with a ton open, photo editing, 4K video, virtual machines, and anyone who works at more than one desk.
Not for
Working on a train. There's no screen and no battery, and a desktop that pretends otherwise is just a laptop with extra cables.
What it costs you
A fan you'll hear when all sixteen cores are busy, graphics that are good for integrated but aren't a graphics card, and 32 GB that's fixed the day it's made.
Powered over USB-C
A 140 W USB-C adapter comes in the box. On a smaller charger the Neo still starts and still works. It just holds back under heavy load, and it tells you.
Bring your own screen
No display, keyboard or mouse in the box. Anything that speaks USB-C or Bluetooth works, and one cable to
a USB-C monitor carries the picture as well.
Against the Aero™
The Aero™ has eight more cores, twice the memory and a fan that barely turns. It also weighs four kilos and stays where you put it. The Neo is the one that comes with you.
Aero™ Neo
16cores
32 GBof memory
15 cmsquare
1.5 kgto carry
Core Ultra 9 285H, in a very small room.
An Arrow Lake H-series chip with sixteen cores and memory soldered right next to it, cooled by one fan tuned to stay slow, not to break records.
No battery to protect and no lap to keep cool, so the Neo can run the processor harder than the AeroBook™ Pro does, and for longer.
Still no discrete GPU
Arc 140T shares the 32 GB with the processor. It's quick for photos, video and light 3D, but it's not a graphics card. If your work depends on one, this isn't your machine.
A vapour chamber, and one slow fan
A vapour chamber sits on the processor. It's a sealed plate with a little liquid inside that boils off the hot chip and condenses at the cool edges, moving heat like a tiny fridge with no pump. One blower, tuned slow, pushes that heat out of the case: silent while you write, audible during a long export.
What replaces it, one day
N1 Bionic: eight cores and 16 GB on the package, designed for exactly this kind of small, efficient
machine. It doesn't exist. The plan is on Noctic Silicon.
Six centimetres tall on purpose, because sixteen cores need a real heatsink and room for a fan to spin slowly. One piece of aluminium on a dark foot, the Aero™ mark on top and a status light on the front. Two USB-C ports face you, two face the wall, and power goes into whichever's closest.
Size
15 × 15 × 6 cm
Weight
1.5 kg
Ports
Four USB-C (two front, two rear), USB4 at 40 Gb/s
External displays
Up to three, at up to 6K
Power
USB-C Power Delivery, 140 W adapter in the box
Wireless
Wi-Fi 7 and Bluetooth 6.0
Wired network
None built in. The Aero™ Dock adds Ethernet from one port
Storage
1 TB NVMe, around 7 GB/s sequential read, with 2 TB and 4 TB to order
Cooling
One quiet fan over a vapour chamber
Audio
One small speaker, for alerts. No microphone.
Body
Aluminium unibody, in Silver or Graphite
USB-C only, like every machine in the family. If the second desk needs HDMI, USB-A, an SD slot or Ethernet, one dock covers all of it and stays put when the Neo leaves.
Four USB-C ports.
Power into any of them.
Full specifications.
Planned figures for an unbuilt machine. Every one of them may change.
It weighs 1.5 kg and fits in a bag next to a laptop. It's portable the way a laptop charger is. You carry it between places that already have a screen, a keyboard and a plug.
Why not just buy the AeroBook™ Pro?
If you work away from desks, yes. The AeroBook™ Pro costs $2,000 more for the screen, the battery and the titanium, and if you already own a monitor you'd be paying for a second one.
Will it run from my laptop charger?
Any USB-C Power Delivery charger will start it. Below 100 W it holds back under heavy load; on the 140 W
adapter in the box it doesn't.
Can I add memory later?
No. The 32 GB is soldered beside the processor and there's no larger configuration. If you know you need
more, the Aero™ has 64 GB.
No Ethernet port on a desktop?
No. Every port is USB-C. The Aero™ Dock adds Ethernet, HDMI, three USB-A ports and SD off one cable, and Wi-Fi 7 is fast enough that most people won't miss the socket.
Concept status: the Aero™ Neo is a concept. Nothing's been manufactured, there's no manufacturing partner and no release date. The prices in the builder are indicative and buying is locked until release, which we don't expect before 2030. Every number on this page is planned, not final, and could change or get dropped. Intel, Core Ultra and Arc are trademarks of Intel Corporation. Noctic has no partnership with or endorsement from Intel.
From $2,499, indicative. Buying opens at release in 2030.
Twenty-four cores.
Sixty-four gigabytes.
And a fan you won't hear.
The one that stays on the desk.
A desktop gets to be bigger than it seems like it needs to be, and the Aero™ uses that room on the two things a small machine can't have: more cores, and quiet while they work.
It's built around Intel’s Core Ultra 9 285, a desktop chip with eight performance cores and sixteen efficiency cores, with 64 GB of memory next to it. The case is sized around one 140 mm fan, because a big fan moving slowly is the only way to cool a chip like this without it sounding like one.
Good for
Large compiles, virtual machines, rendering on the processor, audio production, big photo libraries,
local models that live in memory, and long jobs you'd rather not listen to.
Not for
Games and anything that needs a graphics card. The Aero™ has integrated graphics and no slot for a card, and no amount of processor makes up for that.
What it costs you
Four kilos, a 240 W USB-C adapter and a spot on the desk it never leaves. Memory and storage are fixed the day it's made, like every machine in the family.
Quiet on purpose
A vapour chamber pulls the heat off the processor, and one 140 mm fan clears it out. The chamber is a sealed plate with a little liquid inside that boils off the hot chip and condenses at the cool edges, moving heat like a tiny fridge with no pump. Most of the time the fan turns too slowly to hear. Under a long export you'll notice air moving, not a whine.
Bring your own screen
No display, keyboard or mouse in the box. Up to four displays connect over USB-C, one of them at 8K,
and anything Bluetooth pairs from the first screen you see.
Against the Aero™ Neo
The Aero™ Neo is a thousand dollars less, a tenth of the size, and fast enough for most people. Get the Aero™ when you can name the job that needs twenty-four cores.
An Arrow Lake desktop chip: eight performance cores for work that has to finish now, and sixteen efficiency cores for everything that can run next to it.
Processor
Intel® Core™ Ultra 9 285
Platform
Core Ultra 200S series (desktop)
Cores / threads
24 (8 performance + 16 efficiency) / 24
Max turbo
5.6 GHz
Cache
36 MB L3
Base power
65 W
Graphics
Intel® Graphics, 4 Xe cores, integrated
Neural engine
Intel® AI Boost NPU, 13 TOPS
Memory
64 GB DDR5-5600, soldered to the board
Upgradeable
No. Memory is soldered, there are no slots, and the case isn't made to be opened.
Intended successor
N1 Pro (specification only)
Why not the K part
The Core Ultra 9 285K adds a tenth of a gigahertz and sixty more watts of base power. In a case built to be quiet, that just buys you noise, not speed.
Soldered memory, in a desktop
Unusual for a machine this size, and on purpose. It keeps the family’s rule that nothing inside changes after it's made. Buy the size you'll still want in five years.
The graphics are the weak point
Four Xe cores are enough for a few big displays, video and a desktop that never stutters. For 3D and games they're way behind a graphics card, and we'd rather just say that here.
What replaces it, one day
N1 Pro: twenty-four cores with memory on the package, the same eight-and-sixteen split. It doesn't exist and it's the hardest part to build. The plan is on Noctic Silicon.
Inside the Aero™
Aluminium shell140 mm fanVapour chamberCore Ultra 9 285 · 24 cores64 GB DDR5, soldered2 TB PCIe 5.0 SSD240 W USB-C power board
Two finishes
Aluminium Silver.
Aluminium Graphite.
Twenty-seven centimetres of aluminium.
One aluminium shell with nothing on the front but the Aero™ mark and two USB-C ports. Air comes in through the gap above the foot and goes out the back, where the power button and four more USB-C ports are.
Size
16 × 16 × 27 cm
Weight
4.1 kg
Ports
Six USB-C (two front, four rear), USB4 at 40 Gb/s
External displays
Up to four, one of them at 8K
Power
USB-C Power Delivery, 240 W adapter in the box
Wireless
Wi-Fi 7 and Bluetooth 6.0
Wired network
None built in. The Aero™ Dock adds Ethernet from one port
Storage
2 TB PCIe 5.0 NVMe, around 14 GB/s sequential read, with 4 TB and 8 TB to order
Cooling
One 140 mm fan over a vapour chamber
Audio
One speaker, for alerts. No microphone.
Body
Aluminium, in Silver or Graphite
Power comes in over USB-C like everything else. USB Power Delivery carries up to 240 W, which is enough to run the Aero™ flat out. Need HDMI, USB-A, SD or Ethernet? One dock gives you all of it.
Two USB-C on the front.
Four more at the back.
Full specifications.
Planned figures for an unbuilt machine. Every one of them may change.
If you're not sure, get the Neo. The Aero™ is for people who already sit waiting on their computer: long compiles, lots of virtual machines, renders that take hours.
Can I put a graphics card in it?
No. There's no slot, and the case is sized to cool the processor quietly, not to fit a card. If your work runs on a graphics card, this isn't the machine for it.
Why is the memory soldered in a desktop?
Because every machine in the family works that way, and because 64 GB is picked to last the whole life of the machine. It's a real limit, and it's why there's only one size.
How loud is it?
Close to silent doing normal stuff at a desk. Under a long full load you'll hear air moving. One big fan is the quietest way we know to cool twenty-four cores.
Can a desktop really run on USB-C power?
Yes. USB Power Delivery carries up to 240 W, and the Aero™ stays under that at full load. A smaller charger still starts it. The machine just holds back under heavy work until it has enough.
Concept status: the Aero™ is a concept. Nothing's been manufactured, there's no manufacturing partner and no release date. The prices in the builder are indicative and buying is locked until release, which we don't expect before 2030. Every number on this page is planned, not final, and could change or get dropped. Intel and Core Ultra are trademarks of Intel Corporation. Noctic has no partnership with or endorsement from Intel.
From $3,499, indicative. Buying opens at release in 2030.
Sixteen cores.
A 144 hertz screen.
Wherever you put it down.
AeroBook™ Pro
Turn it round.
Open it up.
The fastest machine you can carry.
If you're reading this page to figure out whether you need a Pro, you probably don't. The people this is for already know exactly what they need, because their work told them.
Sixteen cores (six performance, eight efficiency, two low-power) in a body with the room and airflow to keep all of them busy for an hour without backing off. Heavy software, heavy gaming, large models, big compiles, long exports. It weighs 2.14 kg and you'll hear the fan when you push it. That's the point, not a flaw.
Good for
Long renders, big compiles, video above 4K, 3D, heavy gaming, local models, and any job where the machine's busy longer than it's idle.
What it costs you
Twice the weight of the AeroBook™ Nano, $2,000 more than an Aero™ Neo with the same chip, and a fan you'll hear under load. That's exactly what performance you can carry costs.
Sixteen cores, sixteen threads
Six performance cores for work that has to finish now, eight efficiency cores for throughput, and two low-power cores for everything in the background. One thread each, on purpose.
A 100 Wh battery that still runs out first
More than twice the Nano’s battery for two more hours, because this machine actually pulls power. That's just math, not a flaw, and it's why the number says 16 and not something bigger.
Three displays, or one 8K
Four USB4 v2 ports at 80 Gb/s. This is the machine that turns into a desktop when it gets to a desk, and the ports are what make that work.
Where it doesn't win
The neural engine. The H-series chip has NPU 3 at 13 TOPS, well behind the newest low-power chips. On CPU and graphics the Pro is way ahead of them though.
AeroBook™ Pro
16cores
32 GBof memory
144 Hzon screen
100 Whof battery
Core Ultra 9 285H, given room to work.
An Arrow Lake H-series chip: more cores, more cache, more sustained power, and memory soldered to the board, not on the package.
No. Soldered, with nothing socketed anywhere in the machine.
Intended successor
N1 Pro (specification only)
Soldered, not on package
The H-series doesn't carry memory on the package, so the Pro solders it right next to the chip instead. Same result for you, fixed at purchase, just a slightly different layout inside.
Still no discrete GPU
Not even here. A card means a second pool of memory, copying between the two, and a power budget that costs more than it gives back in a machine this size. The graphics share the 32 GB.
Vapour chamber cooling
A large vapour chamber over the processor feeds two fans and two intakes. The chamber is a sealed plate with a little liquid inside that boils off the hot chip and condenses at the cool edges, moving heat like a tiny fridge with no pump. It's there so a forty-minute export runs as fast in minute forty as in minute one.
What replaces it, one day
N1 Pro: 24 cores, 5.7 GHz, 24 GPU cores, 205 GB/s. It doesn't exist yet and it's the hardest of the three to build. The plan is on Noctic Silicon, including how it could fail.
Four finishes
Titanium Natural.
Titanium Graphite.
Titanium Sand.
Titanium Black.
16.2 inches, 144 Hz, four ports.
The biggest laptop in the family, in a titanium-and-aluminium unibody, with six speakers, two subwoofers and a studio mic array. 16.8 mm thick, because the cooling has to fit somewhere.
If you're not sure, no. If you work at a desk, the Aero™ Neo has the same chip for less than half the price. The Pro is for people whose heavy work has to travel.
Why only sixteen hours from 100 Wh?
Because it has sixteen cores and cooling that actually lets them run. A big battery in a machine that pulls real power empties faster than a small one in a machine that can't.
No discrete graphics, even on the Pro?
No. Integrated Arc 140T sharing 32 GB. For rendering and compute that's a good trade. For top-end gaming it isn't, and if that's your thing, this isn't your machine.
How loud does it get?
You'll hear it under long heavy load, and it's silent the rest of the time. A machine this fast either makes noise or slows down, and we'd rather it made noise.
Can I get more than 32 GB?
Not this generation. The memory is soldered at 32 GB and there's no bigger option. If your work needs 64 GB and can stay on a desk, the Aero™ has it.
Concept status: the AeroBook™ Pro is a concept. Nothing's been manufactured, there's no manufacturing partner and no release date. The prices in the builder are indicative and buying is locked until release, which we don't expect before 2030. Every number on this page is planned, not final, and could change or get dropped. Intel, Core Ultra and Arc are trademarks of Intel Corporation. Noctic has no partnership with or endorsement from Intel.
Four machines, and the right answer usually isn't the expensive one. Answer seven questions and we'll tell you which one we'd point you at, why, and where we'd argue with ourselves.
Or just read the short version.
The quiz is there to help, it's not magic. If you already see yourself in one of these lines, that's your machine.
Your work already decided for you: long compiles, virtual machines, renders on the processor, all at one desk. You want twenty-four cores and 64 GB, and you don't need a graphics card.
Price is what decides it. It browses, writes, does calls and goes in a bag. You're fine with 8 GB, four threads and a 60 Hz screen because it costs so little.
Heavy work that has to travel: long renders, big compiles, local models away from a desk. And you're fine carrying 2.14 kg and hearing a fan for it.
None of them
You need a dedicated GPU, more than 64 GB of memory, or a machine you can upgrade later. All three are limits we chose for this family, and no configuration gets rid of them.
Pick the machine, the finish, how much storage you want and everything that goes with it. Prices are indicative. Nothing can be bought until the machines exist, which we don't expect before 2030. Whatever you build here can be reserved.
Aero™ Neo
Aluminium Silver · 15 cm square · 6 cm tall · 1.5 kg
What happens between now and 2030.
A configurator with a locked button is a weird thing to publish. It's here because the machines are designed down to the storage options, and we'd rather show you the real shape of the product than put up a page that pretends to sell something.
1
Now. You build one
Every option here is a real design decision. What you pick tells us which ones matter.
2
Next. A manufacturing partner
Nothing's quoted, tooled or on a production line yet. Until that changes, we can't commit to any price here.
3
Before release. Real prices
Once there's a bill of materials, these numbers get replaced with ones we can actually stand behind.
4
2030. The button unlocks
We ask reservations to confirm first. If you say nothing, nothing happens.
Why show prices at all if I can't buy it?
Because a spec with no price tells you nothing about whether the machine's for you. These are the numbers we're designing toward, marked indicative everywhere they show up, and they'll move.
Does reserving cost anything?
No. No card, no deposit, no address. It saves which machine you're into and holds you a spot in the first hundred. The reservation page explains the whole thing.
Will my configuration be kept?
The build you send with a reservation is saved to your Noctic Account so we know what to make first. It's not a commitment for either of us, and you can change it whenever.
Why 2030?
Because that's a realistic read of how long a machine like this takes with no manufacturing partner yet. If it moves, it'll move later, not earlier, and we'll say so on the changelog.
Our own RISC-V processor, designed here, for our own machines and our own operating system. It's the hardest thing we've ever proposed. It's not impossible, and this page is the whole plan, including the parts most likely to kill it.
Noctic designs its own semiconductors. We want to build a processor. Not a chip someone else designed with our name on the lid. A processor we specify, architect, verify and get manufactured. It uses the RISC-V instruction set, which is open: no architecture licence to sign, no royalty to pay, and room to extend it where the system needs something the base doesn't have. The cost is software. Anything that can be built from source runs once it's compiled for RISC-V, and a binary that only ever shipped for x86 doesn't run at all. We have designed it: the first processor, N1 Bionic, is specified end to end, and its core is written in SystemVerilog and runs compiled C in RTL simulation. We're a fabless chip designer, the same way Apple, AMD and Nvidia are: we design the chip, and a foundry makes it. What it doesn't have yet is silicon, and the two things that decide when it gets some are patents and money.
0Chips taped out so far
5Rungs between here and a laptop part
~4–6 yrRealistic design-to-product time for one part
RISC-VThe instruction set, decided and not up for debate
Everything below is written as though it'll happen. Read the
list of ways it dies before you believe any of it.
N1 Bionic.
Designed. Running. Not yet made.
WE HAVE IT DESIGNED. The architecture is specced end to end and the core runs real programs in simulation. A small test-chip version is being laid out on the open SkyWater 130 nm process. Nothing's been manufactured yet.
N1
An illustration. No N1 Bionic has been made yet.
What it does today.
Passes all 66 official RV64I and RV64M compliance tests, in both the full and the test-chip configuration.
Runs Dhrystone 2.1 compiled with GCC at -O3, every checked result correct, at 2.162 DMIPS/MHz and 0.679 cycles per instruction.
Predicts branches and forwards stores to loads. Those two steps took it from 0.951 to 2.162 DMIPS/MHz.
Checks itself cycle by cycle. The TAGE branch predictor, the 8-wide rename, the 512-entry reorder buffer and the issue queue each run against an independent model under random stimulus.
What it's meant to become.
Design targets. None of these has been measured.
Four performance and four efficiency cores, RV64GCBV on the RVA23 profiles, with 256-bit vectors.
Up to 4.2 GHz on the performance cores, in 15 W sustained and 30 W bursts.
LPDDR5X-8533 on a 128-bit bus, 136.5 GB/s, with a 16 MB system cache.
A 12.3 TOPS neural engine, on a 3 nm-class process that would need a foundry agreement.
P-coreP-coreP-coreP-coreEfficiency cluster 4 E-coresSystem cache · 16 MBNeural engineGraphicsRoot of trustLPDDR5XLPDDR5XLPDDR5XLPDDR5XPCIe · USB · display
The planned layout, not to scale. Graphics would be licensed, not designed here.
Designed, but still to be built as hardware: early mispredict recovery, out-of-order memory, real caches, the full width, floating point and vectors, then the MMU, the efficiency cores, the shared caches, the on-chip network, the neural engine and the security part. The performance targets aren't proven until a cycle-level model runs real workloads.
N1 Bionic, in characters.
The planned floorplan, drawn in text. Move your pointer over it to light up a part of the chip.
Inside the N1 Bionic core.
Block by block, with where each one stands. In RTL means it’s written in SystemVerilog and runs in simulation. Designed means it’s specified but not written as hardware yet. Target means it’s a number we’re aiming for. Nothing here has been measured on silicon, because there isn’t any yet.
Block
How it works
Where it stands
Instruction set
RV64IM today: the 64-bit integer base plus multiply and divide. The target is RV64GCBV on the RVA23 profiles, adding compressed instructions, atomics, single and double precision floating point, bit manipulation and RVV 1.0 vectors with 256-bit registers.
In RTL: RV64IM. The rest is designed.
Branch direction
TAGE. A base table indexed by the branch address, plus tagged tables indexed by a hash of the address and the global branch history, each table using a longer history than the last. The longest matching history makes the prediction. A miss allocates into a longer-history table, and usefulness counters decide which entries can be replaced.
In RTL. Checked against an independent model under constrained random stimulus.
Rename
Eight instructions a cycle. A register alias table maps each architectural register to the physical register holding its newest value, and a free list hands out unused ones. Inside a group of eight, each instruction checks every older one for a write to its sources: 28 comparisons per source operand, 56 for two, all in one cycle. That cost grows with the square of the width.
In RTL, model-checked the same way.
Reorder buffer
512 entries in program order. Instructions enter at rename and leave at retire, strictly in order, so exceptions are precise. Today a mispredicted branch is recovered when it reaches the head of the buffer, by restoring the rename table from the retired state. Early recovery, checkpointing the table at every branch, is designed.
Buffer in RTL, model-checked. Early recovery designed.
Issue
Instructions wait until their operands are ready. Every cycle, finishing operations broadcast their destination tag (wakeup), each waiting instruction compares it with its sources, and ready instructions are picked for the execution ports (select). That wakeup-and-select loop is one of the hardest timing paths in any out-of-order core.
In RTL, model-checked.
Loads and stores
A store queue and a load queue. A load searches older stores for the same address and takes the data straight from the queue when it finds it, which is store-to-load forwarding. Running loads ahead of stores whose address isn’t known yet, with a memory dependence predictor and replay, is designed. Ordering follows RISC-V’s weak memory model, RVWMO.
Forwarding in RTL. Out-of-order memory designed.
Caches
32 KB 8-way L1 instruction and data caches, virtually indexed and physically tagged. 256 KB private L2. A 16 MB L3 sliced around a ring, 64-byte lines, MESI coherence, miss status registers so each cache keeps several misses in flight, and stride and stream prefetchers.
Designed. Target sizes.
Address translation
Sv39 and Sv48 page tables, small TLBs beside each L1 with a bigger shared TLB behind them, and a hardware page-table walker.
Designed.
Floating point and vectors
IEEE 754 single and double precision, and the RVV 1.0 vector unit.
Designed.
Efficiency cores, fabric, neural engine, security
Four efficiency cores sharing an L2, the on-chip network, a 12.3 TOPS neural engine and the root of trust. Graphics would be licensed IP.
Designed. Targets.
0.679 CPI, worked out
Cycles per instruction of 0.679 on Dhrystone means 1/0.679, about 1.47 instructions finished every cycle on average. An in-order core can’t pass 1, because every stall stops everything behind it. Going past 1 is the out-of-order machinery doing its job.
Why 512 entries
At eight a cycle, a 512-entry window fills in 512 / 8 = 64 cycles. That covers an L2 or L3 hit. It doesn’t cover a trip to DRAM, which takes a few hundred cycles, but it does let the core find the next few misses while the first one is waiting. Overlapped misses cost about the same as one, and that overlap is called memory-level parallelism.
Why a 32 KB, 8-way L1
32 KB / 8 ways = 4 KB per way, which is exactly one 4 KB page. So every index bit sits inside the 12-bit page offset that translation never changes. The cache can start its lookup before the TLB answers, and the same line can never end up stored under two names.
136.5 GB/s, worked out
LPDDR5X-8533 moves 8,533 million transfers a second. On a 128-bit bus that’s 8,533 × 128 / 8 = 136.5 GB/s. N1x is LPDDR5X-6400 on 128 bits: 102.4 GB/s. N1 Pro’s 205 GB/s needs 6400 on 256 bits or 8533 on 192, and that bus isn’t chosen yet.
What a TOPS number means
TOPS = 2 operations per multiply-accumulate × the number of MAC units × the clock. For scale, 4,096 INT8 MACs at 1.5 GHz is 12.3 TOPS. The array size and clock behind N1 Bionic’s target haven’t been published, so read it as a target, not a design.
Why 4.2 GHz is a burst
Dynamic power goes with capacitance × voltage² × frequency, and a higher clock needs a higher voltage. So the last few hundred megahertz cost far more power than they add speed. That’s why 4.2 GHz sits inside a 30 W burst budget and the chip lives at 15 W sustained.
What Dhrystone proves, and what it doesn’t.
Dhrystone is small and old, it fits in any cache, and compilers know it well. Running it correctly at 2.162 DMIPS/MHz proves the pipeline, the predictor and the forwarding work together on real compiled C. It doesn’t predict how fast a laptop would be. CoreMark and SPEC CPU 2017 on a cycle-level model with real caches would, and we haven’t run those yet. When we do, the results go here, good or bad.
How it’s checked.
Compliance. All 66 RV64I and RV64M architectural tests pass.
One source, two builds. Widths and sizes are parameters, so the same RTL builds the full core and the smaller test-chip configuration, and both pass the same tests.
Per-block models. The predictor, rename, reorder buffer and issue queue each run against an independent model written separately from the hardware, under constrained random stimulus. A predictor bug doesn’t crash anything, it only makes the chip slower, so this is the only way to catch one.
Next. Lockstep comparison against the functional model at every retired instruction, formal proofs of invariants (the free list never hands out a register twice, the reorder buffer never loses an entry, no store reaches the cache before it retires), random instruction streams and coverage.
The test chip.
The test-chip configuration is being laid out on SkyWater’s SKY130, a 130 nm process with an open process design kit. Open PDK, open-source tools, so the whole flow from RTL to GDSII runs without a licence: synthesis, floorplan, place and route, clock tree, static timing, DRC and LVS. It’s slow and old on purpose. The point is proving the flow end to end, not speed. Nothing has been taped out.
Built to be tested.
A factory has to tell a good die from a bad one in seconds, so design-for-test goes in from the start. Scan chains link the flip-flops into shift registers a tester can load and read. Built-in self-test covers every memory array. A debug port follows the RISC-V debug specification, so on real silicon we can halt the core, read its registers and step it one instruction at a time.
Why RISC-V, and not x86 or Arm.
An instruction set is the deal between software and silicon. Picking one decides, on day one, which programs already run and which have to be rebuilt, translated or dropped. x86 is covered in patents at the modern end and its decoder alone is a research project. Arm means paying Arm and designing inside their licence. We're taking the third option, and with it the software problem, not the licensing one.
x86-64
Arm
RISC-V
Software you already own
Runs. Every Linux binary, every AppImage, every proprietary tool, unchanged.
Most of it needs rebuilding, and the closed-source stuff needs the vendor to care.
Some of it. The desktop side is thin and filling in slowly.
Licensing
No open licence. Patent-encumbered at the modern end. The hardest of the three.
Available, but you pay Arm and you build inside their architecture licence.
Free and open. Nothing to sign, nothing to pay.
Firmware and boot
One well-trodden path: UEFI or coreboot, ACPI, standard PC platform.
All over the place. Every device tree is its own little archaeology project.
Getting better fast, still not mature for everyday laptops.
Virtualising Windows
Native speed, no translation layer.
Possible with Windows on Arm, with caveats.
Not realistically.
Difficulty of building one
Highest. The decoder alone is a research project.
High.
Lowest. You can build a working core as a student.
Our verdict
RISC-V. It's the only one of the three a company our size can build and own outright. Nothing to licence, nothing to pay, and room to add what AXESS OS needs. The cost is that thin column on the right, and closing that gap is our problem to solve, not a reason to rent someone else's architecture.
The porting work is ours, not yours
AXESS OS is Linux, and Linux runs on RISC-V. What's thin is the long tail, the one tool somebody needs that nobody's rebuilt yet. Checking for that is exactly the homework Aero™ is supposed to take away, so carrying the distribution is our job, not yours.
Translation is a tax we'd rather not levy
Emulating one architecture on another works. Rosetta and FEX both proved it. But it costs performance, battery, and a whole class of bugs that only show up on your machine. Native code running natively has none of that.
Designing the chip and the system together
When the same company owns the scheduler and the core, the two can be built to agree. Which work goes on an efficiency core, what the power states mean, how the neural engine gets fed: today those are guesses. If we build both, they're decisions.
Unified memory needs package control
Putting memory inside the processor package and not in slots is what makes the bandwidth and latency numbers on the Aero™ page possible. You can't get that buying a chip off a price list. It's a packaging decision, and those belong to whoever designs the part.
Every fast chip is RISC underneath.
This is the most useful thing to get. Inside, a modern x86 processor is already a fast, simple, RISC-style machine. Bolted on the front is a decoder that reads x86 instructions and translates them, in hardware, into the simple operations the machine actually runs. That decoder never goes away. It's silicon, power and complexity spent staying compatible with a format from 1978. Building on RISC-V is the same machine without the translator on the front.
STAGE 1Fetch
Pull bytes of program from the instruction cache, guided by the branch predictor guessing where the code goes next.
STAGE 2Decode
Read 16- and 32-bit instructions straight out of the stream. The low two bits give the length, so there’s no hunting for where one ends and the next begins. Each one becomes one or more micro-operations.
STAGE 3Rename
Map the 32 integer and 32 floating-point registers the program can see onto a much bigger pool of physical registers, so instructions that only reuse a register name stop waiting on each other.
STAGE 4Schedule
Hold micro-ops until their inputs are ready, then issue them in whatever order the machine can actually run them.
STAGE 5Execute
Integer, vector, branch and address units do the work, several at once, across a set of parallel ports.
STAGE 6Memory
Loads and stores line up, check each other for conflicts, and hit L1, L2, L3 or main memory, in that order of hope.
STAGE 7Retire
Results are committed strictly in program order, so from the outside all that chaos looks exactly like a machine doing one thing at a time.
The x86 decoder is where the difficulty lives. Instructions are between one and fifteen bytes long, and you can't know where the second one starts until you've finished parsing the first. Arm's 64-bit instructions are always four bytes. RISC-V's are four bytes, or two with the compressed extension, and the lowest two bits of every instruction say which, so finding where each one starts takes a few gates instead of a search. Solving that, usually with parallel speculative decoders and a cache of already-decoded micro-ops, is most of what makes an x86 front end expensive.
Show it
CPUP-core clusterWide out-of-order cores for work that has to finish now. Deep buffers, aggressive prediction, high clocks, high power.
CPUE-core clusterNarrower cores sharing one L2. Several fit in the area and power of one P-core, and they take everything that can run in the background.
CACHEShared L3The last stop before memory, sliced across the fabric so every core sees roughly the same latency to any slice.
MEMORYMemory controllerTalks to LPDDR5X sitting on the package millimetres away, not centimetres away on a stick.
GRAPHICSIntegrated GPUShader cores, texture and raster units, media encode and decode blocks. It reads the same memory the CPU does, so nothing has to be copied across a bus to be drawn.
AINeural engineA fixed-function matrix machine for the on-device models in AXESS OS. Far more efficient than the CPU at exactly one shape of maths.
I/OUSB4 and PCIeEvery external port, the NVMe storage link and display output, all off one controller block.
FABRICInterconnectThe network on the die. Every block above talks through it, and it decides cache coherency, ordering and a great deal of the real-world performance.
POWERPower managementPer-block voltage and frequency, thousands of times a second. On a fanless machine this unit is the difference between silent and throttled.
TRUSTSecurity engineBoot measurement, key storage, memory encryption. Small, isolated, and the piece we would publish the most detail about.
PACKAGEOn-package LPDDR5XMemory dies sitting on the same substrate as the processor. Shorter wires mean lower latency and less energy per bit, and it's the reason unified memory is fast. It's also the reason it can never be upgraded.
CPUGraphics and AIMemoryShared and platform
One level down
Eight cores, and the memory they share.
The floorplan above shows which blocks exist. This one shows how they reach memory, which (as the cache note below explains) is where almost all real-world speed is won or lost.
Core and L1L2 cacheL3 cacheMemory and uncore
Eight cores, arranged two by four. Each has private L1 instruction and data caches and its own L2. All eight reach a shared 16 MB L3 across a ring bus, and the L3 feeds the system agent, which holds the memory controller, the I/O hub and power management. Coherency is kept across the ring, and every memory request leaves through the system agent. One thread per core, no simultaneous multithreading, for the reasons below.
Target figures for a planned part. Nothing here has been taped out, verified on silicon or manufactured.
Why two kinds of core
A performance core is about four times the size of an efficiency core for way less than four times the work. If something isn't urgent, running it on the small core finishes it at the same moment for a fraction of the energy. The scheduler decides which is which, and that scheduler is ours.
Why one thread per core
Simultaneous multithreading fills empty slots by pretending one core is two. It wins on servers. On a laptop it buys throughput and sells predictability, and it's been behind ten years of side-channel bugs. We'd rather be consistent than impressive.
Why the cache hierarchy matters more than the clock
A miss all the way to memory costs a few hundred cycles. Almost all real-world speed is won by not
missing: bigger caches, better prefetchers, smarter replacement. Clock speed is the number on the box.
Cache is the number you feel.
Why there's no discrete graphics card
A separate card means a second pool of memory and copying back and forth all the time. One shared pool is slower at the very top end and better almost everywhere else, and it uses way less power. You only fully get that choice if you design the package.
Speculation, and its bill
The chip guesses which way branches go and runs ahead on the guess. When it's wrong it throws the work away. Spectre and Meltdown showed that the thrown-away work leaves fingerprints. Any new core has to be designed against that from the first sketch, not patched after.
Fixing bugs after it ships
x86 chips patch themselves with microcode. A RISC-V core like this one is mostly hardwired and has no big microcode store, so field fixes work two other ways. Chicken bits are control registers that switch off a feature that misbehaves, like a prefetcher or a fast path. Machine-mode firmware can trap an instruction the hardware gets wrong and emulate it in software. Both are easier to verify than microcode, and we’d document both publicly.
From a document to a working part.
Chip design isn't one job. It's about a dozen different jobs that hand work to each other in a fixed order. A mistake caught at step four costs an afternoon. The same mistake caught at step nine costs a year and a mask set.
1
Specification
What the part has to do, at what power, how hot, at what price, by when. Written down and argued over before anyone draws a single block.
2
Performance model
A software simulator of the microarchitecture, cycle-approximate, running real workload traces. This is where cache sizes, pipeline depth and issue width get decided, in software, where changing your mind is free.
3
Microarchitecture
The actual design: every buffer depth, every port, every queue, every corner case in the decoder. Hundreds of pages of spec that the RTL then implements exactly.
4
RTL
The design written as code, in SystemVerilog, describing what every register holds on every clock edge. It reads like software and behaves like wiring.
5
Verification
Half to two thirds of the whole effort. Constrained-random tests, formal proofs on the tricky blocks, and running the design against real RISC-V programs to check it matches a reference model instruction by instruction.
6
Synthesis
Tools turn the RTL into real logic gates from the foundry's standard-cell library, and then the long fight over area, timing and power starts.
7
Place and route
Millions of standard cells get placed, a clock tree gets built to reach every flip-flop at nearly the same moment, and every net gets routed across a dozen or more metal layers. Timing closure is the part that eats months: every path has to meet setup and hold at every corner of process, voltage and temperature.
8
Signoff and test
Static timing, power integrity, electromigration, design-rule and layout-versus-schematic checks. Scan chains and built-in self-test are added so that a factory can tell a good die from a bad one in seconds.
9
Tapeout
The design is frozen and sent to the foundry. Photomasks get cut. This is where the project stops being reversible and starts being expensive.
10
Fabrication
Twelve to sixteen weeks of lithography, etch, implant and deposition, from several hundred process steps on a mature node to well over a thousand at the leading edge, ending in a wafer of dies that are tested while still attached to it.
11
Packaging
Good dies are cut out and mounted on a substrate with the memory stacks beside them, connected, lidded and tested again. Advanced packaging is its own supply chain with its own queue.
12
Bring-up
First silicon arrives and someone tries to make it print a character. Then boot firmware. Then a kernel. Bugs found here turn into an errata entry, a chicken bit or firmware workaround, or a stepping, which is a partial re-spin that costs months and new masks.
13
Software enablement
Compiler support, kernel support, power management, graphics driver, firmware. AXESS OS has to know the part exists and how to run well on it, and none of that happens by itself.
14
Qualification
Thousands of hours across voltage, temperature and ageing, until failure rates are known, not hoped for. Only then does a part go into something a person buys.
None of this is secret. The tools are Cadence, Synopsys and Siemens. The foundries are TSMC, Samsung, GlobalFoundries and Intel. Every fabless company follows the same process. The barrier was never knowledge. It's money, people and time, in that order.
Ambitious is not the same as impossible.
We're not going to try a laptop chip as our first project, because we already know how that ends. The plan is a ladder. Each rung is affordable from the one below it, makes something real, and can be dropped without wasting the rungs underneath.
Sand
RUNG 0 NOW
A simulator, in software
An RV64GC functional model that defines what correct means, and a cycle-approximate model of the microarchitecture. The functional model is what the hardware gets checked against. The cycle-level model with real caches, running CoreMark and SPEC-style workloads, isn’t finished, and until it is the performance targets stay unproven.
Cost: time
RUNG 1 NOW
A core in RTL, then on an FPGA
The N1 Bionic core, written in SystemVerilog. That part exists: it passes the RV64I and RV64M compliance suite and runs Dhrystone in RTL simulation. What’s left on this rung is putting it on an FPGA development board and booting Linux on it, at tens of megahertz. Slow, and proof the core works on real hardware, not just in a simulator.
Cost: low thousands, one to two years
RUNG 2
A shuttle test chip
Real silicon on a mature node, sharing a wafer with dozens of other projects through a multi-project wafer service. Not a product. A few square millimetres that prove we can close timing, hand over a manufacturable design and get working parts back. The first time the design meets physics instead of a simulator.
Cost: tens of thousands to low hundreds of thousands
RUNG 3
A small, real SoC
A modest multi-core part on a mature node, with licensed graphics and I/O blocks instead of our own, running AXESS OS on a development board. Slow by 2026 standards and still useful as a product for something, like a thin client, a home server or a developer box. The first chip anyone outside could hold.
Cost: single-digit millions, a team of dozens
RUNG 4
A laptop-class part
Out-of-order cores, hybrid clusters, our own or licensed graphics, memory on the package, an advanced node, real packaging. This is the first rung where we get to say the word competitive, and the first that needs outside money, not revenue.
Cost: tens of millions per tapeout, hundreds of engineers
RUNG 5
N1 Bionic
The chip described further down this page, in an Aero™ Neo, in someone's bag. Leading-edge node, full neural engine, the whole system designed together. Every rung below has to go right for this one to exist at all.
Cost: a different company than we're today
The realistic read: rungs 0 and 1 are a determined small team with time. Rung 2 is a grant, a partner or a good year. Rung 3 needs a funded business. Rungs 4 and 5 need an industry to decide we're worth backing. We can start climbing without knowing if we reach the top, and every rung is worth having on its own.
What silicon actually costs.
Rough public industry numbers, rounded, so the ladder above reads like math and not hope. The mask set is the fixed cost of asking a foundry to make your design at all, before you have a single part you can sell.
Process node
Mask set, roughly
What it suits
Where it lands for us
130 nm – 65 nm
Tens of thousands, shared on a shuttle
Test chips, teaching, small controllers
Rung 2
28 nm
Around one to two million
Low-power SoCs, embedded parts
Rung 3
7 nm
Around ten to twenty million
Mainstream mobile and laptop silicon
Rung 4
3 nm and below
Twenty million and up, per tapeout
Flagship processors
Rung 5
And that's only masks
Tool licences, IP blocks, emulation hardware, packaging, qualification and salaries are way bigger. A leading-edge laptop chip program costs several hundred million pounds before the first unit ships.
50–65%Of a chip programme's effort spent on verification, not design
12–16 wkWafer turnaround, every single time you re-spin
300+Engineers on a typical leading-edge laptop SoC
1Escaped bug needed to cost you the whole schedule
N1x, N1 Bionic and N1 Pro.
Three chips, one architecture, so one build of AXESS OS runs on all of them. Think base, Pro and Pro Max: same design, each one a step up from the one before. N1 Bionic is designed and running in simulation. The other two are targets in a spec, not something measured off a chip, and none of the three has been made yet.
N1x
N1 Bionic
N1 Pro
Intended for
A fanless machine (none in the lineup yet)
Aero™ Neo
Aero™ and AeroBook™ Pro
CPU cores
4 (2P + 2E)
8 (4P + 4E)
24 (8P + 16E)
Threads
4
8
24
Max turbo
3.4 GHz
4.2 GHz
5.7 GHz
L3 cache
12 MB
16 MB
36 MB
GPU cores
4
10
24
Neural engine
8-core · 11 TOPS
16-core · 12.3 TOPS
32-core · 48 TOPS
Memory
8 GB LPDDR5X, on package
16 GB LPDDR5X, on package
16 GB, on package
Memory bandwidth
102 GB/s
136.5 GB/s
205 GB/s
Instruction set
RV64GC, with the vector extension.
Multithreading
None. One thread per core, deliberately.
Package
Soldered, with memory on the substrate. Nothing socketed, nothing upgradeable.
Status
Specification only. Not designed, not manufactured, no date.
Designed and running in simulation. Not manufactured, no date.
Specification only. Not designed, not manufactured, no date.
Until these exist, Aero™ runs Intel Core Ultra silicon. It's a real, shipping platform, so the machine and the operating system can be judged now instead of in a decade. What Aero™ uses today.
The system comes first, on purpose.
Aero™ ships on someone else's processor, and it's not because we're impatient. A custom chip is only worth anything if the software for it already exists and is already good. Building the OS on hardware anyone can buy means AXESS OS gets judged on its own, and the day Noctic Silicon works there's something ready to put on it.
One system, two architectures
The Aero™ machines run Intel today and Noctic Silicon is RISC-V, so this is a real architecture change, not a quiet swap. AXESS OS is built from source, so the system and its packages move over by being rebuilt. What doesn't move over is a closed program that only ever shipped for x86. We'd rather say that up front than have it blow up at the handover.
Firmware we can read
A custom part means the boot firmware is ours too: coreboot-derived, auditable, and without a management engine nobody outside the vendor has ever seen the source of. That's one of the better arguments for doing any of this.
The scheduler and the cores agree
Hybrid cores only work if the OS knows which thread should get which core. When both sides are ours, that's a decision we make, not a guess based on hardware hints read through a keyhole.
Toolchains, unchanged
GCC and LLVM already make code for this instruction set. We add a tuning target, not a whole back end. Compare that to a brand new architecture, where just the compiler work takes years before anything runs well.
Errata, published
Every processor ships with bugs. Ours will too. What we can actually do differently is a public errata list in plain language, with what each bug affects and what the fix costs you in performance. Not a PDF nobody links to.
x86 vector code has to be ported
AVX and SSE are x86 instructions, so a RISC-V chip doesn’t have them at all. Code built from source gets the RISC-V Vector extension instead, RVV 1.0, which is vector-length agnostic: the same binary uses whatever width the hardware has, 256 bits on N1 Bionic. Plain loops get auto-vectorised by GCC and LLVM. Hand-written AVX intrinsics don’t, and need porting or a translation header like SIMDe. We’d list exactly which packages that hits.
How this dies.
Written now, while it costs nothing to say, instead of later when it would cost something to admit.
Money, first and most likely
Every rung above rung 2 needs money we don't have and haven't raised. This is the most likely ending: the ladder stops wherever the money stops.
Patents
A freedom-to-operate review, where a patent firm reads the design against live claims, could come back saying it can't ship without a licence. And that licence could be unavailable at any price we could pay. That ends it, no matter how good the chip is.
An escaped bug
A verification hole that reaches silicon costs a re-spin: three to six months and a fresh mask set. A
small company gets one of those. Maybe two.
Being fast enough isn't optional
A first chip four times slower than a shipping Intel part is a cool engineering result and a product nobody buys. There's no partial credit in a laptop.
Foundry access
Leading-edge capacity goes to customers who buy it by the wafer-year. A first-time customer with a small order is at the back of a really long line, if they get in line at all.
People
There aren't many engineers on earth who've built an out-of-order core of any kind, and almost all of them work for two companies that feel strongly about that. Hiring is harder than funding.
Time
Four to six years per chip means the spec is written for a world that'll have moved on by the time it ships. Aim at where the industry is today and you're guaranteed to show up late.
It might not be worth it
Intel and AMD make really good x86 chips and sell them to anyone. If the answer at rung 3 is that we can't beat what we can already buy, the right call is to stop, say so on this page, and keep building the software.
Questions.
Is Noctic a semiconductor company?
A semiconductor design company, yes. Noctic designs its own semiconductors, and N1 Bionic is our own processor design, written in RTL and running in simulation. We’re fabless, like Apple, AMD and Nvidia: we design the chip and a foundry like TSMC or SkyWater makes it. We’ll never be a semiconductor manufacturer with our own factory. When the SkyWater test chip comes back, that’s our first semiconductor chip, and this answer gets updated.
Is any of this real yet?
No silicon exists yet. What does exist is N1 Bionic, designed and running real programs in simulation, and the plan on this page. Everything described as a part is a spec, not a measurement.
Then why publish it at all?
Because it explains why Aero™ is built the way it is, and because a plan written down in public is one people can hold us to. If the ladder stalls, this page gets updated to say so.
Why RISC-V, when so little desktop software runs on it?
Because the licence problem is permanent and the software problem isn't. Nothing we can do would get us an x86 licence, and an Arm licence would mean designing inside someone else’s rules forever. The distribution we ship is built from source, so most of the gap is a recompile instead of a rewrite.
Is RISC-V ready for a laptop?
Not yet, and we're not pretending it's close. The cores exist, Linux runs and the toolchains are good. The gap is desktop polish and the long tail of closed software, and closing that gap is the work.
What does Aero™ use in the meantime?
Intel Core Ultra processors, and an N100 on the Nano. Real parts, available now, with memory soldered right next to the processor. The whole Aero™ design depends on that.
Will my software run on a Noctic chip?
If it's open source, almost definitely. It gets built for RISC-V the same way the rest of the system does. If it's a closed program that only ever shipped for x86, no. That's the real cost of this choice and we're not going to hide it.
When?
There’s no date, and making one up would be lying. Rungs 0 and 1 are under way: the core runs in RTL simulation and its test-chip version is being laid out. A shuttle tape-out, rung 2, needs money we haven’t raised. Rung 5 depends on whether this turns into a very different company.
Concept status: Noctic Silicon is a research and design project. N1 Bionic is designed and runs in simulation, but no processor has been manufactured, verified on silicon or benchmarked on real hardware. The N1x, N1 Bionic and N1 Pro, their core counts, clocks, cache, graphics, neural engine and bandwidth numbers, the process nodes, the costs and the stages on this page are targets and estimates, not commitments, products or final specs. There's no licence agreement, no foundry agreement, no funding and no date.
Agent mode plans first, then does it. Every step it takes is written down where you can read it.
Agent mode
Give it a goal, not a question. Shiba plans, does the work and reports back.
Effort tiers
Economic, Low, Medium, High, Plus and Ultra. Pay only for the thinking you need.
Code
Full projects, multi-file artifacts, live previews and one-click deploys.
Images & video
Generation, editing, 360° panoramas and style transfer.
Voice & call mode
Super realistic speech with quick, to-the-point answers.
Memory
Remembers what matters to you, and forgets what you tell it to.
Visible reasoning.
Watch it think before it answers.
On effort tiers above Medium, Shiba shows its chain of thought, so you can see why it picked an answer and not only what it picked.
Six tiers, one dial.
Most assistants decide how hard to think for you. Shiba gives you the control, and shows what each setting costs before you use it.
Economic
Fast, cheap, literal. Good for lookups, reformatting and anything you already know the shape of.
Low
Normal conversation. Enough thinking to be right without making you wait.
Medium
The default. Handles most real work, and it's where the reasoning starts showing.
High
Multi-step problems, longer code, arguments with more than one moving part.
Plus
Work you'd normally block out a whole afternoon for.
Ultra
The hardest tier. Slower and pricier on purpose, for problems where being right matters more than being fast.
What people use it for.
Writing that has to be right
Drafting, editing and arguing with your own draft. It'll tell you a paragraph isn't working, not politely rewrite it into something blander.
Code, from the first file
Whole projects, not snippets: multi-file artifacts, live previews and a deploy at the end. Agent mode runs the build, check, fix loop on its own.
Schoolwork, done right
Explaining a concept until it clicks, making practice questions, checking your reasoning. It won't write a student's assignment and pretend that's what was asked.
Research with sources
Deep research goes across lots of sources, keeps track of where each claim came from, and tells you when sources disagree instead of averaging them.
Images and video
Generation and editing, 360° panoramas and style transfer, in the same conversation as everything
else.
Talking instead of typing
Call mode answers at talking speed and gets to the point, because nobody wants an essay read out loud.
Memory you control.
You can read it
Everything Shiba remembers about you is listed in plain sentences, not guessed from some hidden profile.
You can delete it
One thing or all of it, whenever you want. Deleted memory doesn't come back from a cached copy.
You can turn it off
Memory is a setting, not a requirement. Conversations work exactly the same without it.
It isn't training data
Your conversations aren't used to train models. Memory is for you, not the next model version.
Where it says no.
An assistant that'll do anything isn't a feature. What it does depends on the verified age on the account, and the tiers are explained on Safety.
No help with anything meant to harm a person, including weapons and mass-casualty capability.
No finished assignments passed off as a student's own work.
No content that sexualises minors, in any framing, ever.
No impersonating a real person, and no made-up quotes attributed to one.
No pretending to be a clinician, a lawyer or a crisis service.
Yes, and it's the same account that carries your plan into Cadence.
Noctic Account.
What is visible reasoning, exactly?
Above Medium effort the working shows up next to the answer, so you can check how it got there instead of just trusting it. You can collapse it if you don't want to see it.
Can it browse the web?
Yes, for research and current information, with sources attached to what it tells you.
Is my conversation private?
Your conversations are yours, they're not used to train models, and encrypted mode adds local processing with screenshot and clipboard protection. See Privacy.
Can I build on it?
Yes. Keys, OAuth and examples are under Developers. Model access goes through our server, so no key ever reaches a browser.
Taken this week from the builds themselves, with the demo timetable in them. The two aren't the same app underneath (iPhone is native, Android runs the web build), so each tab shows its own screens instead of one set pretending to be both.
Built around a school day.
A photographed timetable, parsed
Real output shape
Mon
Tue
Wed
Thu
Fri
08:30
Math
Bio
Math
Eng
Art
10:00
Eng
Math
Bio
Gym
Math
12:30
Gym
Hist
Eng
Chem
Bio
14:00
Chem
Art
Hist
Bio
Study
Source Photo of a printed sheetParse time 4.1sConfirmed rows 20 of 20
Cadence AI, powered by Shiba AI, reads the photo, figures out the grid and makes real calendar events you can edit.
Feed & reels
Posts, reposts and short video that stay inside your school and grade.
Calendar
Import a timetable from a PDF or photo. Holidays and PED days included.
Notes
AI summaries, cue cards, slideshows and auto-tags. That's Cadence AI, powered by Shiba AI.
Channels
School and grade channels, with verified announcements.
Messages
Encrypted DMs with local nicknames.
Verification
Free blue check by scanning your student ID, verified by AI. The scan is deleted the moment the check finishes. Only the result is kept.
A day in it.
1
Morning
Today's timetable, what changed, and whether that PED day everyone was arguing about is actually happening.
2
Between classes
The feed for your grade, the bulletin board for tryouts, and channels that are actually your school.
3
In class
Notes that turn themselves into cue cards after, tagged to the right subject automatically.
4
After school
Messages, what's due, and what's coming up tomorrow.
Why it isn't a group chat.
Every school already has one. It works right up until the day it matters.
You know who is in it
Verification ties an account to a real enrolled student. No former students, no younger siblings, no stranger who got the link in 2023. The card that proves it's deleted as soon as it's read. The feed knows you're a student, and we keep no image of you.
Announcements read as official
Only staff can broadcast, channel by channel. A notice from the office actually looks like one.
Nothing important scrolls away
The calendar and bulletin board are places you go to, not messages buried under 400 replies.
Reports go somewhere
Moderation is done by named people at your school, with a log of every decision and why.
Leaving is clean
Switch schools and your access moves with you. Your notes and messages stay yours.
Nobody is farming attention
No infinite feed, no streaks, no follower count. Quiet hours are on by default for students.
What staff can and cannot see.
It's the first thing every school asks, so here's the answer without the marketing.
Visible to staff
Channel posts, bulletin entries, reports filed, and moderation history. Anything published to a group.
Not visible to staff
Direct messages, private notes and assistant chats. There's no setting that shows them.
Not visible to us
Private student content isn't used to train models and isn't read for ads, because there aren't any.
The one exception
A specific message that's been reported, seen by a moderator only as part of that report.
You can make an account and use notes, messages and your own calendar. Channels and verified announcements need a staff member to claim the campus first.
How does timetable import work?
Take a photo of the printed sheet you got. Cadence AI figures out the grid and makes real calendar events you can edit, not a picture you have to squint at.
What does the blue check mean?
That the account belongs to a verified student or member of staff at that school. It's free, and it
isn't for sale.
Does it work offline?
Your calendar and notes stay readable offline, and sync when you're back online.
Is it on the App Store?
It installs from the web on any device, with an Android build available. The details are on The base of Cadence. Until release, iPhone and Android test builds go to testers first. Join Cadence Test.
What happens when I graduate?
Campus access ends when the school takes you off the roster. The account, your notes and your messages are yours and stay with you.
Try the iPhone and Android apps before they come out.
Until Cadence is released, new builds of the phone apps go to testers first. Sign up here, say which phone you use, and the Cadence team adds you to the test, through TestFlight on iPhone or Google Play’s internal testing on Android. The builds are unfinished on purpose. Finding what breaks is the job.
Which phone, and the email your app store knows you by. That's all we need to add you.
Checking your account…
You need a Noctic Account.
Cadence runs on a Noctic Account, so testers need one too. It also means only you can change your details or leave the test. It's free and takes a minute.
Here, once. Your place is held against your Noctic Account.
2
You're added
By the Cadence team, through TestFlight or Google Play. It's done by hand, so you'll get an invite later, not a download here.
3
You install it and tell us
On iPhone the invite comes from TestFlight. On Android you get a link to join the test on Google Play. Then use it, and tell us what breaks.
Questions testers ask.
Which email do I give?
The one your phone’s store uses. On iPhone that's your Apple ID (check it in Settings, under your name at the top). On Android it's the Google account signed in to the Play Store. Your school email only works if it's also one of those.
Can students join?
Yes, from 13, or younger with a parent or guardian’s permission. How Cadence treats students
and minors is set out in Students and minors, and a test build follows the
same rules as the app.
How long does the test last?
Until Cadence comes out. No date here, because a date we can't keep is worse than no date.
How do I leave?
Sign in and press Leave the test on this page. Your sign-up is deleted, the Cadence team is
told to take you out of TestFlight or Google Play, and no new builds reach you.
What changed in each build of the phone apps, including what was broken.
Cadence is in testing, so builds go out often and some of them fix what an earlier one broke. Testers get them through TestFlight on iPhone and Play internal testing on Android. Join the test if you want them as they land. Build numbers are the ones shown in Settings, under Help & about.
1.1.0
A new camera for wraps, and the website looks like the app
The wrap camera shows exactly what it records: the whole 9:16 picture, nothing cropped to fill the screen, with 0.5×, 1× and 2× on the back camera, pinch to zoom and tap to focus. Record in clips: stop, start again where the song left off, take back the last clip, then trim or delete any clip before posting. Lyrics can be on your wrap or just for you to lip-sync to.
Add sound shows what’s trending and the sounds people at your school use most before you search.
Sharing a post now sends a link that opens it on cadenceai.fyi, and the website and the Android app
now look and work like the iPhone app.
Live Photos move, and wraps look the way you filmed them
Live Photos in a post or story now move: each one plays its few seconds of motion as a smooth loop in
the slideshow, just as it does in the Photos app. Tap LIVE on it before posting to share the still
photo instead.
Wraps filmed with the front camera on iPhone 17 came out sideways and zoomed in, because that camera
is mounted differently from older ones. Cadence now asks each camera which way is up, and the
iPhone 17’s square front camera films a proper upright 9:16 picture. Wraps also no longer come
out more zoomed in than the camera showed while filming.
More to do on the big screen
Cadence on Apple TV has an Ambient Mode to leave on while you get ready: a big clock, the class
you’re in with a ring showing how long is left, and what’s next. Set how long it takes to
get to school and Today shows when to leave, with a reminder when it’s time. Today also shows
when school ends and how long until the weekend or your next day off.
The new Focus Timer lets you study with a 25, 45 or 60-minute timer on the TV, and a finished
session counts toward your study streak on your iPhone. The You tab shows your streak, points and
level next to the days you’ve rated, and you can play the song you picked for a day.
Ask Siri “When does school end today in Cadence?” or “How long until my next class
in Cadence?” on your iPhone, Apple TV or HomePod.
Cadence on Apple TV, and lyrics that start where your song does
There’s now a Cadence app for Apple TV. Connect it from your iPhone in Settings › Apple TV with a 4-digit code, and the TV shows the class you’re in (or the next one) big enough to read from across the room, the next two weeks, the days you’ve rated, and your notifications. It all comes straight from your iPhone over your Wi-Fi, encrypted. No account on the TV, nothing through a server, and messages never show what they say. While Cadence is open on the TV, a banner appears five minutes before each class and when something new arrives on your phone. When it’s closed, the number on its icon counts what you haven’t seen. Removing the TV on your phone clears everything from it.
Ask Siri “What class do I have in Cadence?” on your iPhone, your Apple TV or a HomePod (with
Personal Requests on). Settings › Siri & HomePod lists what you can ask.
When you add a song to a wrap you can now choose which part plays: drag along the waveform and it
plays from there. The lyrics line up with that part by themselves; if they’re off, tap the line
you hear, or nudge them earlier or later.
Notifications that arrive, and a tab bar made of glass
Cadence now checks for new posts from people you follow, and for likes, comments, replies, reposts, shares, follows and messages, even after you’ve left the app. iOS wakes it every so often to look, and tapping a notification opens the post or chat. While you’re in the app they show as a banner at the top, and the list under the bell is still there after you close Cadence. If notifications are off, the Feed offers to turn them on.
Put a finger on the tab bar and slide: a lens of glass follows it, magnifying the tab underneath, and
springs onto the tab you let go on. Taps work the same as before.
Your study streak counts again
The streak and the daily points never moved: a mix-up in the app meant no day was ever saved as a study day. Now any of these keeps your streak going: writing or changing a note, finishing a quiz, practising flashcards, or studying with Study Coach, Onyx or a note’s AI tools. Flashcards earn points too, 2 for each card (up to 60 a day). Tap the progress card on your profile to see what counts and what you’ve done today. Posting still earns points but isn’t a study day.
You can slide your finger along the tab bar to move between tabs, the way iPhone apps do now: the
glass follows your finger, and letting go opens that tab.
Messages, reposts and a safer Feed
Messages are back on iPhone, for friends only (people who follow each other). Open them from the paper plane in the Feed or the Message button on a friend’s profile. Send photos, react with ❤️ 😂 😮 😢 🔥 👍, and see when a message has been seen. Every message and photo is checked before it’s sent and again when it arrives, links can only go to school sites, phone numbers, addresses and invite links can’t be sent, and a notification says who wrote to you, never what they said. Report or block from any chat, and lock Messages with Face ID in Settings.
Reposting works like Instagram: tap the repost button to share a post with your followers, who see
“you reposted” over it, add a note if you want, and tap again to take it back. Send a post or
a wrap to a friend, add a photo to a comment, and follow someone from their face in Wraps.
The Feed has For you, ranked for you on your phone, plus Following, Friends and Latest, with
“Why you’re seeing this” and “Not interested” on every post. Swearing
can’t be posted any more, including spellings like “fuk” and “sh1t”, and
profile pictures are checked like any other photo. Notifications now cover likes, comments, replies,
reposts, shares, new followers and new posts from people you follow, and whatever happened while
Cadence was closed arrives when you open it; tap one to go straight there.
Tap a class in Schedule to rename it or change its room, teacher or colour. Rate your day has a song of
the day now, and its card is story-sized, with your week so far.
Deleting stories, and moderation
Stories have a ··· menu now: delete your own, or report someone else’s. Cadence developers can delete any post, wrap or story from its menu, the same way they already could on the website, and a delete now waits for the server. If it’s refused, the post stays and you’re told why, instead of disappearing and coming back later.
Wraps, with the words on screen
You can post Wraps from the iPhone app now: Create › Wrap. Pick a sound, and it plays while
you record, from 15 seconds up to 10 minutes, or choose a video you already have. Cadence finds the
song’s lyrics and lines them up with the sound by itself, then shows the line being sung up by
the camera while you record, so you can lip-sync. Practise plays the sound with the words before you
start. Add text, set how loud your video and the sound are, write a caption, and share. The camera no
longer zooms in by itself: recordings keep exactly the frame you saw.
Photos and videos of any size post now. They’re made a sensible size on your phone and sent
straight to storage, with a progress bar and a retry, instead of the short request that used to fail
with “network” or “too large”. The Feed’s top bar tucks away as you scroll
down and comes back when you scroll up.
Everything that was still a web page on iPhone is native now: writing a note (scan pages, add a photo or a PDF), the AI tools for a note, the study coach, Onyx, your timetable and bell times, the school calendar, reporting a post, feedback, your standing and insights. The Feed opens with a free student ID check, and the picture is erased straight after. New: rate your day each evening, tell someone about it, see your days ranked from best to worst, and ask Siri “What classes do I have tomorrow in Cadence?”.
Notes, drawn by iOS
On iPhone a note now opens as a native screen instead of a web page. It fills the screen and closes with an X. Read and Study sit side by side in a switch at the top. Read shows the note set like a page. A PDF opens in Apple’s own reader, so you can select a word in a handout and copy it, look it up in the dictionary or translate it. The old reader drew pages as pictures and never could.
Study shows how much of the note’s deck is waiting, with one button to practise it, and the
tools grouped underneath: test yourself, understand, tidy up, homework help. Three rows that were
all flashcards under different names are gone. Practice is native too: a card you tap to turn over,
and Again, Hard, Good and Easy with the time each would put the card away for. It uses the same
deck and the same schedule as before, so nothing you studied is lost and the website agrees.
The bar across the top is Liquid Glass again, in the floating shape you know, with lighter
controls. The last time it was native your profile picture vanished in light mode: the page was
sending the avatar’s colour as transparent, because the avatar is painted with a gradient.
That's fixed at both ends. The bar no longer appears on the sign-in screen, and it steps out of the
way of the Study coach, whose close button it used to cover.
The app stopped shouting
A hundred and six rules in the stylesheet set text in capitals, and nearly all of them were
ten-pixel labels with wide letter-spacing. The effect on a phone was that the smallest text on
every screen was also the loudest, competing with the thing you actually came to read. Those
labels now read as ordinary sentences, at a size you can see.
The three shortcuts on Home had two labels each: “VIEW TIMETABLE” stacked above “Schedule”, “SCHOOL POSTS” above “Feed”. Now they have one.
Your profile showed your streak twice: a pill with a dot for each day of the week, and directly
beneath it a ring repeating the same number. The ring is gone and the two that remain, points and
rank, share the row instead of leaving a hole where the third used to be.
The note page is a page again, and Settings has a way out
Tapping a note used to spend a quarter of the screen before showing you a word of it: the app’s
own bar across the top, then the subject, the title, the date and the card count on four separate
lines. The note now fills the screen, the four lines are one, and what you wrote sits on a page of
its own instead of running edge to edge on the background.
Under the note there used to be eleven things to tap, five of them flashcards under five different names, all in the same scroll as your writing. They've moved into a Tools sheet. The note keeps one action at the bottom, within reach of your thumb: practise the cards it has, or make them if it has none. Two dead tabs marked “Note” and “Study” were still in the page from a design that was removed. They're gone.
Settings had no close button at all. It has one now, it fills the screen instead of sitting under the app bar, and its seven headings have stopped shouting in capitals. Rows without an icon used to start their label in a different column from rows with one, so the list ran down the page in two ragged edges. They line up now. A section heading that pinned itself to the top was being drawn under the rows it was covering, so text showed through it. The headings scroll with the list now, the way an inset-grouped list on iOS does.
Study was unusable in the dark, and a flashcard had no card
The Study screen’s main button had no visible label in dark mode. The word “Continue”
was there the whole time, in exactly the same cream as the button under it, so the screen looked like
it had a blank pill at the bottom. The same fault hid “Try again”, “Next question”
and “Next card”. One line of theme styling, written for form fields, was reaching the
buttons as well and making them inherit the page’s text colour.
The rest of that screen has been rebuilt around it. Each question sits in its own rounded card instead
of a thin outlined box. The grades you can aim for no longer wrap, so “100” isn't left
alone on a line of its own. The four labels that shouted in capitals now read as sentences. The button
sits at the bottom of the screen where your thumb is, instead of below a text box you had to scroll
past to reach it.
Practising a note’s cards was a flashcard screen with no card: the question floated in the middle
of a flat page with nothing around it. It's a card now, and tapping it turns it over. Again and Easy
are tinted so you can tell them apart without reading, and the intervals under them are readable, not grey on grey.
Four widgets on Home, and a reader that behaves like a book
Home used to open with three numbers that never changed: how many subjects you take, how long the cycle is, how many periods there are. In their place, four things that move: how much of today’s studying is done, drawn as a ring; what’s being examined or handed in over the next four weeks, colour-coded; the notes you wrote last; and what’s sitting in your card decks, with a tap to start.
A document note now opens with a cover (the title, how many pages, which file, when you added it) and a scrubber under the page you can drag through the whole document instead of tapping an arrow once per page. You can mark a page, which puts a tick on the scrubber, and write a note against a particular page.
Highlighting and looking a word up aren't here yet. The pages are drawn, not laid out as text, so there's nothing to select, and buttons for them would only pretend. That needs a text layer over every page, and it's the next thing in the reader.
It stops flashing the old design, and it stops dropping frames
Opening the app used to flash an older-looking version of itself for a second, then redraw. The app is one really big page, and the phone was painting it while still reading it. Now nothing shows until the whole thing is ready, in the theme you last picked.
Scrolling is quicker for five specific reasons: a shader was repainting the bars on every frame
forever, a timer was forcing the phone to recompute the layout four times a second, a contrast check
was re-reading every element on screen whenever anything changed, nineteen surfaces were running an
expensive blur filter, and a cleanup step was firing a fake window resize. The worst frame we could
measure went from 30.5 ms to 8 ms.
The buttons in the top bar are smaller, and still just as easy to hit.
A glass top bar you can actually see, and a Notes list that gets out of the way
The buttons in the top bar were painted white on a pale bar, so in light mode they vanished. They're back, on a bar that's now properly Liquid Glass. Same shape, real material.
Notes used to put six controls between you and your first note. The two view switches and the filter
button are gone; search, the category pills and your notes grouped by day are what is left.
Settings looks like Settings: rounded inset groups, dividers that start after the icon, and a search box that finds the row you meant instead of the section it lives in. Liking a post is instant. It used to redraw the whole post just to colour in one heart.
Notes fill the screen, and the theme stops arguing with itself
A note used to open as a card floating over a dimmed copy of the list. It fills the screen now,
between the top bar and the tab bar, and Settings does the same.
Switching between light and dark left the words in the old theme’s colour, white on a pale page, and it never recovered. A safeguard meant to rescue unreadable text was pinning colours in a way nothing else could override. It lets go on every switch now, and re-checks once the new colours are actually drawn.
The Read / Study switch is gone
A note had two modes and you could only see one at a time. Reading a note and studying it aren't two modes: you read a note, and studying is something you do to it. One screen now: the note, then what the cards are doing (“12 cards · 3 ready · practised 2 days ago”), then one button that knows what comes next (Practise 3 cards, or Make cards from this note if there are none yet) and the rest of the study tools under it.
Sign-up worked again
The Grade field on the Create account form was invisible on a phone, and the form wouldn't submit without it, so nobody could finish making an account. Deleting your account and signing out had also gone missing whenever Settings was filtered to Account, which is the first place anyone would look.
PDFs you can read, and a straight answer about school email
A PDF note was being scaled to fit its height, which put a letter-size page at 261 px across on a
phone. It fits the width now and scrolls, the way Files and Books do, and the document runs edge to
edge instead of sitting in a frame.
Verifying a school email used to fail with “Check your connection” when your connection was fine. The check just isn't switched on yet. Now it says so, and checks whether you're actually online before blaming you.
PDFs also no longer freeze the app while they open: a security rule was stopping them from being
drawn in the background, so all that work happened on the screen’s thread.
Home Screen widgets, study cards, and a tab bar drawn by iOS
Widgets for the Home Screen and Lock Screen showing the next class and the day’s cycle. Study cards
that a note writes once and then brings back as you forget them. On iPhone the tab bar is now drawn by
the system in Liquid Glass instead of painted by the app, with the selected tab sliding between
positions.
Reporting and blocking a post opened a menu that could land off the screen; the notifications panel
opened in the top-left corner, half of it off the edge. Both fixed.
Known, and not fixed yet
Unlocking the Feed with a school email isn't switched on yet, so that check can't pass. The app says so instead of pretending it's your connection. Direct messages are turned off in this version. Anything else you find, tell us. The whole point of a test build is that it breaks.
Noctic cloud backend with row-level security; media through signed uploads so posts sync across
devices.
AI
Every model call goes through a server function. No key ever reaches the browser.
Identity
Regular Cadence accounts, or Continue with Noctic for one-tap sign-in.
Delivery
Installable PWA, Android APK and iOS home-screen app.
Why it was built this way.
Cadence runs on whatever a student already has, which is usually a four-year-old phone with no storage left. Everything below comes from that.
It has to open on the bus
One document means the app works on a bad connection in the time it takes a native app to show its splash screen.
No app store in the way
Nothing to review, nothing to approve. A fix reaches every student the day it's written, which matters a lot when what broke is the timetable in September.
Nothing for IT to deploy
No server, no plugin, no management profile. A school can be up and running by the end of lunch, not the end of a procurement cycle.
Old devices still count
The interface is built to stay smooth on the kind of hardware a flagship demo ignores. Nobody should need a new phone to read an announcement.
What you can count on.
Offline
Your calendar and notes stay readable offline. Anything new you write waits and syncs later.
Updates
Applied next time you open it. There's no version to chase and nobody stuck on last term's build.
Notifications
Quiet hours are on by default for student accounts, and channels you're not in can't reach you.
Appearance
Light and dark follow your system, or you can set it yourself and each device remembers.
Accessibility
Keyboard operation, screen-reader labels and reduced motion throughout. Current gaps are listed on
Accessibility.
Model access
Every call goes through our server and is rate limited. No key is ever in a browser, on any page, in any build.
Every page starts at night, blue light over navy, and turns to day as you read. Bold type holds the structure, one blue does the pointing, and nothing gets an outline.
Our Glass design is sexy.
Glass, running live
Drag it. Throw it. Let go.
Noctic
Real refraction, not a blur. Every pixel behind the panel is bent through a bevelled glass surface with Snell's law and per-channel dispersion at the rim, the same optics we tune in Shiba and Cadence. It behaves like the material it's drawn as, too: pulled along after your hand instead of pinned to it, stretched in the direction you throw it, ringing where you touch it, and fusing with any drop you bring it near.
One blue, from night to day.
The palette is one sky. Navy at the top of the page, royal blue at the horizon, then ice and white. Royal blue is the only colour that ever asks you to do something.
DuskNight navy to horizon
Royal blue#2453F0
Night blue#7AA2FF
Ice#EEF3FF
Day#FFFFFF
Ink#0A1030
Bold on top.
SF Pro everywhere. Headlines are weight 800 with tight spacing, and the text underneath stays regular, so weight alone tells you what matters.
Display · 800
Make it intuitive.
Headline · 800
One account for all of it.
Title · 700
Works ahead of your school year.
Tagline · 600
Consistency you can see.
Body · 400
Sign in once and every Noctic app knows it's you. The text that explains things stays plain, so the headline above it can do the work.
Rules we keep.
No outlines.Surfaces are separated by tint and a long, low shadow. No hairlines, no boxes drawn around things.
No black.The darkest colour on any page is night navy. Screens float with no device frame around them.
One blue.Royal blue fills buttons and whole bands. It always points to the next thing to do.
Status in words.Whether something's available, in testing or a concept is said in a sentence, never with a tag or a dot.
Centred.Content stays in the middle of the page, so your eye never has to hunt for where a section starts.
Every page starts at dusk.Each page opens in the night sky and fades into day as you scroll.
The pieces.
Everything you press is a pill. Everything that holds something is a rounded, tinted surface.
NocticProductsResearchDesign
The bars are clear liquid glass. You see straight through them, the edges bend what’s underneath like a lens, and the rim catches the light. Never solid, over the dusk or over the day.
One solid blue pill for the action that matters, and a soft blue one next to it for the next best.
Email
Fields are tinted wells that turn white with a blue ring when you type in them.
Tonight’s plan17:00 Chemistry review18:00 History outline
Panels lift off the page with a long, low blue shadow, not an edge.
Motion that means something.
The light at the top of every page is real. Particles drift, form the Noctic droplet on the home page, move away from your pointer, and spread out as you scroll into the day. An animation has to explain a change. If it's only there to look expensive, it gets deleted.
Reduced motion matters just as much. Every transition has a still version that means the same thing, used automatically when your device asks for less movement, and the particles settle into a still constellation. Settings → Appearance overrides it either way.
Auth, billing, AI gateway, storage and security, shared across every Noctic product.
Build on the platform and the second your app goes live you get years of work on rate limiting, row-level security, scoped consent and model routing for free.
Continue with Noctic, step by step
Runs automatically
Your app
›
Noctic Account
›
Consent
›
Token
Authorization code with scoped consent. Tokens can be revoked from the account page whenever.
Identity
OAuth 2.0, scoped consent, revocable tokens and verified profile propagation.
Billing
One subscription follows the account. If a payment fails, access is cut right away.
AI Gateway
Rate-limited, model-routed, keyless access to the AI layer from any app.
Storage
Signed uploads, bucket-level RLS and cross-device media sync.
Security
Column-level grants, security definer functions and continuous dependency scanning.
Edge functions
Serverless functions with mandatory JWT validation and automatic abuse limits.
What you inherit on day one.
These are the parts nobody plans for and everybody ends up having to build.
Sign-in that already works
No password reset flow to write, no sessions to get wrong, no verification email to send. The account exists before your app does.
A plan that follows the user
Someone who upgrades in Shiba is upgraded in your app on the very next request. You never have to build billing to find out.
Model access without keys
Requests go through us and get routed and rate limited on our side. There's no key in your client to leak and no provider account for you to manage.
Consent you didn't design
People see exactly which app is asking for what, approve it scope by scope, and revoke it from one page. Revoking is instant, not eventually.
Abuse limits by default
Rate limiting comes switched on, not as something you add after your first bad week.
Age-aware behaviour
Assistant tiers follow the verified age on the account, so an app students use behaves right without you writing the rules.
Rules of the platform.
Least privilege
Ask for the scopes you use. Asking for more than your app needs gets refused at review.
Revocation is real
When someone revokes access, tokens stop working right away. There's no grace window to abuse.
No secrets in a browser
Client secrets go on your server. An app that ships one in front-end code gets suspended.
State isn't optional
The authorisation flow needs it, and we reject callbacks that come back without a matching value.
No re-selling identity
Profile data from sign-in can't be sold, brokered or merged into someone else's graph.
Students are a special case
Apps that reach student accounts have to follow the extra rules in Children and Students.
Getting on it.
Register the app
Name it, set a redirect URL, and pick the scopes you actually need.
Register.
Build the flow
Authorisation code with state, exchanged on your server. Ready-made examples are in
Code examples.
Test it for real
The developer tools let you inspect tokens, check webhook signatures and see what a real consent screen gives back.
Go live
Scopes past basic identity get reviewed before release. If something's missing we tell you, we don't just quietly reject it.
We sent a six-digit code to your address. Enter it to finish
signing in.
Codes expire after 10 minutes.
No code yet? Check your spam folder. The same email carries a sign-in link that works just as well if
you'd rather tap it. Wrong address? Contact support.
The code couldn't be sent, so nothing's coming. Nobody's signed in and nothing about the account changed. Tell support and we'll fix the delivery.
Account temporarily locked
There were five failed sign-in attempts on this account, so we locked it and emailed an unlock link to the address on file. Open that email and follow the link to confirm it's yours.
The lock lifts by itself in 15:00, or right away once you use the link.
Connecting as this account. Use Switch if you have more than one. You'll be asked for the password and an emailed code before anything is connected. You can revoke access any time from your account.
Your Noctic Account details are used to sign you in, to keep the account secure and to support you.
We don't sell them and we don't hand them to the apps you connect unless you approve the scope
first. See how your data is handled. By continuing you agree to the
Terms of Service and the Privacy Policy.
One account for Shiba, Cadence and every app you connect with Continue with Noctic.
Account
Noctic Account
Member since
Last sign-in
About you
Personal Information
The details on your account. Your name is what apps see when you approve the profile scope. The rest stays with us.
About you
Date of birth
Your date of birth turns on age-appropriate features, so you can't edit it here. Contact support if it's wrong. Language and text size are in Settings.
Protection
Sign-In and Security
Your email address is your account name. Every sign-in also needs a code we email you, so a password alone is never enough.
Sign-in
Noctic Account
Two-step verificationOn
Account recovery
Lock after failed attemptsAfter 5 attempts, for 15 minutes
Access
Passwords are checked against known breaches in your browser before we accept them, and the password itself never leaves this device. More in Security.
Access
Devices
Every device signed in to this account and its recent sign-ins. Sign out any one of them, all the others, or every device including this one, which also revokes the tokens held by the Noctic apps.
Connections
Sign in with Noctic
Apps you've approved with Continue with Noctic, what each one got, and a button that ends it. Revoking works right away.
Apps only ever see the scopes you approved. Your date of birth, plan history, moderation records,
private notes and assistant conversations aren't available through any scope.
How the ecosystem works.
Subscription
Plan and Billing
What this account is on right now. Plans are bought inside the product you're using, and cancelling kicks in at the end of the period you've paid for.
Card details are handled by Stripe and never reach our systems.
Contact us about invoicing or an education agreement.
Your data
Data and Privacy
Take a copy whenever you want, or close the account for good. Neither costs anything, and neither needs a chat with us first.
Deletion removes your profile, posts, notes and generated content across everything. It can't be undone and it's done within thirty days. How privacy works.
What it protects.
Scoped consent
Apps ask for identity, profile, email or API access, and you approve each one.
Revocable
Remove any app's access whenever from your account settings.
Private by default
Birthdays, plan history and moderation records are never shared with apps.
Verified status
Verification you earn in one product counts across all of them.
What an app can ask for.
Four scopes, no bundles, and nothing granted without you saying so.
identity
That you're a real signed-in Noctic user, and a stable identifier for you. Nothing else.
profile
Display name, avatar and verification badge. Stuff other people can already see.
email
Your email address, so the app can contact you. Asked for separately and you can say no to just that.
api
Permission to make model requests for you, counted against your plan and shown in your usage.
Your date of birth, plan history, moderation records, private notes, direct messages and assistant
conversations aren't available through any scope. There's no partner tier that unlocks them.
Keeping it yours.
See every connection
A list of every app with access, what it asked for, and when you approved it.
Revoke immediately
One button ends access right away. No grace period, no token that keeps working for an hour.
Strong sign-in
New passwords are checked against known breach lists before they're accepted, and the password never leaves your browser.
Export and delete
Take a copy of everything, or delete the account and its content across every product, from
Settings.
Noctic is one account across Shiba, Cadence and everything else we make, and building on Noctic means building on that account. There are three ways in.
Sign people in. Continue with Noctic is standard OAuth 2.0: an authorisation code, optional
PKCE, and a userinfo endpoint. Any Noctic Account can register an app, and it's free.
Connect a classroom. Class Sync reads what a class website publishes into Cadence, and the
Teacher API keeps the class and its roster in step with a school's own records.
Join the Developer Program. A named publisher on the consent screen, a listing in the Ecosystem, higher limits, early builds and hardware. It's free, and the Noctic Developer team decides.
Where things are
Address
What it's for
developer.noctic.ink
This site: the docs, the platform, keys, tools, examples, Kick Start, the Program, Shouts and events.
noctic.ink
The Noctic Account itself: sign-in, profile, devices and connected apps.
shibaai.dev/oauth/authorize
Where your app sends people to sign in and approve it.
oijfjxqcavxiexnyszbu.supabase.co/functions/v1
The token and userinfo endpoints.
api.noctic.ink
Class Sync at /class-sync, the Cadence Teacher API at /teacher and the Parable API at /parable.
Start
Quickstart
From nothing to a signed-in user. You need a Noctic Account (if you're reading this signed in, you have one) and a server that can keep a secret.
Register an app. A name and the redirect URI of your callback page, on
Register an app. You get a client ID and a client secret, and the
secret is shown once.
Send people to Noctic. Link to the authorisation URL with your client ID, redirect URI, the
scopes you want and a random state.
Take the code on your callback. Noctic comes back with ?code=shc_…&state=….
Check state is the value you sent before you do anything else.
Exchange it, on your server. POST the code with your client ID and secret to the token
endpoint. A code lasts sixty seconds and works once.
Read who signed in. Call userinfo with the access token and keep what you need.
Everything on this site happens as your Noctic Account, so every key can be traced back to whoever made it and revoked by them. No separate developer login and nothing extra to set up.
You're signed in here automatically
noctic.ink and developer.noctic.ink are one family of sites and share one session. Sign in on either and the other knows straight away. Come here from a browser where you're already signed in to Noctic and there's nothing to press. Signing out works the same way: sign out of one and you're signed out of both, on this device.
Not signed in anywhere? Sign in takes you to noctic.ink for your password and the emailed code, then straight back to the page you were on, signed in.
Picked not to stay signed in? Then the session lasts until you close the browser, on both sites, and isn't saved on the machine.
What the people using your app see
Everyone who signs in to your app can see it in their Noctic Account with the scopes it has, and disconnect it whenever. When they do, its tokens stop working right away, no grace period. Treat a sudden 401 as a disconnect and send them back through sign-in, don't keep retrying.
Sign in with Noctic
How it works
Sign in with Noctic is OAuth 2.0 with the authorisation code grant. Your app never sees a password. People sign in on Noctic, approve the scopes your app wants, and come back to you with a short-lived code your server trades for tokens.
Authorise. Your app sends the person to the authorisation endpoint.
Consent. They sign in if they need to, and see your app's name and the scopes it wants. Apps
published by members of the Developer Program show the member's verified name here.
Callback. Noctic redirects to your redirect URI with a code and your state.
Exchange. Your server trades the code for an access token and a refresh token.
Use. Call userinfo with the access token, and refresh it before it expires.
A plain link or a redirect. Every parameter goes in the query string.
Parameter
Required
What it is
client_id
Yes
Your app's client ID.
redirect_uri
Yes
Where to send the person back. Must exactly match one registered for the app.
response_type
Yes
Always code.
scope
No
Space-separated. identity profile email covers most apps.
state
Recommended
A random value you save and check on the way back. It's what stops a fake callback.
code_challenge
Public clients
The PKCE challenge, for apps with no secret.
code_challenge_method
With a challenge
S256.
Token exchange
From your server, POST JSON to the token endpoint. The code begins shc_, expires sixty
seconds after it's issued and works once, and redirect_uri has to be byte-for-byte the
one used to get it. Nothing gets sent there this time. It's part of the proof the exchange
belongs to that sign-in.
Field
What it is
access_token
A signed JWT. Send it as Authorization: Bearer …. Valid for one hour.
refresh_token
Gets a new access token without bothering the person again. Store it on your server, encrypted, like the real credential it is.
expires_in
Seconds until the access token expires.
scope
What was actually granted, which can be less than what you asked for. Read it, don't assume.
Refreshing
Access tokens last an hour. Refresh shortly before one expires instead of waiting for a request to
fail, and keep the new refresh token that comes back with the new access token.
PKCE, for apps that can't keep a secret
Single-page and mobile apps ship their code to the people using them, so they can't keep a client secret. They send a code_challenge with the authorisation request instead, and prove it with the matching code_verifier when they exchange the code. The PKCE generator makes a pair to test with.
Userinfo and scopes
One GET with the access token. The response is shaped by what the person approved, not what you asked for, and a field you were refused is missing, not empty. Check before you read it. Call it once after sign-in and store what you need, because it's rate-limited per token.
Scope
What it adds
identity
The stable Noctic user ID, sub. Proof of a real account and nothing more.
profile
Username, display name, picture, plan and verified status. What other people already see.
email
email and email_verified. Refusable on its own without refusing the rest.
api
Model requests on the person's behalf, drawn from their plan. No extra profile fields. Granted on request, so ask us.
Date of birth, plan history, moderation records, private notes, direct messages and assistant
conversations aren't available through any scope, and there's no partner tier that unlocks them.
OAuth errors
You see
What it means
invalid_grant
The code expired, was already used, or was issued for a different client or redirect URI. Codes are fragile on purpose. Just start the flow again.
invalid_client
The client ID and secret don't go together. Roll the secret on Keys if you lost it.
401 from userinfo
The token expired or the person disconnected your app. Refresh once. If that fails too, send them back through sign-in.
403 from userinfo
The token is fine but doesn't have the scope. Ask for it in the authorisation URL, because a scope can't be widened afterwards.
Build
Apps and keys
An app is a name, a homepage and one or more redirect URIs, and it has two credentials.
Credential
How to treat it
client_id
Public. It goes in the authorisation URL and names your app on the consent screen.
client_secret
Private. Shown once, when the app is made or the secret is rolled, and never again. It belongs in an environment variable or a secret manager on your server. Not in a repository, a front-end bundle or a screenshot.
Redirect URIs
Register every environment you actually use: production, staging, and http://localhost while you develop.
localhost may use http://. Everything else should be https://.
The redirect_uri in a request has to match a registered one exactly: scheme, host, port and path.
Register production and development as separate apps, so if a development secret leaks it can't touch real users.
Rolling a secret, and signing everybody out
A lost secret can't be recovered, only replaced. Rolling it on Keys issues a new one, and the old one stops working the moment it does, so have the deploy ready before you roll. Sign out all users on the same page ends every session your app holds, on every device.
Every webhook we send carries its signature in the X-Noctic-Signature header:
sha256= and then the HMAC-SHA256 of the raw request body, keyed with your signing secret,
in lowercase hex. A request whose signature doesn't match didn't come from us. Drop it without doing
anything else.
Take the raw body. The exact bytes that came in. Parsing the JSON and turning it back into text changes them and breaks the hash.
Compute the HMAC. SHA-256, keyed with your signing secret, as lowercase hex.
Compare in constant time. A plain equality check leaks the answer a byte at a time.
Refuse old deliveries. Anything older than five minutes, so a captured delivery can't be replayed at you.
Verify, answer with a 2xx, then do the work. Slow handlers cause retries and retries cause duplicates, so make the handler idempotent and key it on the event's ID. The webhook signature tool makes the exact header for a payload so you can test your check.
Build
The button
Every integration uses the same entry point, so people recognise it wherever they see it. Use the mark and the wordmark together, keep the trademark symbol, and never restyle the label.
The brand guidelines cover the mark, the wordmark and the product names in full.
Build
Design kit
Glass is the design language behind everything Noctic makes: system type doing the hierarchy, one blue accent, hairline borders, blurred surfaces over a single background, two corner radii and one motion curve. The design kit packs it as a skill (the rules, every token in light and dark, the components and the way we write) so Claude can build your interface in the Noctic look, or you can read it and build it by hand.
Noctic design skillnoctic-design-skill.zip · 16 KB · a skill for Claude, and plain CSS for everyone else
Unzip it where your tools look for skills. Then ask for the Noctic look, like “build the settings page in the Noctic style”, and Claude reads the kit before it writes anything.
What is inside
File
What it holds
SKILL.md
The four layers, the rules we never break, type, colour and a checklist to go through before anything ships.
assets/glass.css
Every token in light and dark, and the components built from them: the glass bar, stages, pill buttons, cards, fields, status pills, code blocks and sheets. Drop it into any site. No build step.
assets/starter.html
A whole page made from nothing but glass.css, with an appearance switch, to copy from.
references/components.md
Markup, sizes and states for each component, and the motion table.
references/voice.md
How we write buttons, headlines, errors and empty states.
The rules, in short
PageStageCardInkSecondaryAccent
Tokens, never values. No component holds a raw colour, so light and dark are one switch.
Two radii. Controls are 12px, containers 16px, and floating buttons are full pills.
One accent. Blue marks the next thing to do and nothing else. One filled blue button per screen.
Type does the hierarchy. Take every border away and the page should still read right.
Motion has to earn it. 220ms on one curve, cubic-bezier(.16, 1, .3, 1). With reduced motion it fades instead, and nothing goes missing.
Words stay whole. Sentence case, full stops on headlines, and no navigation label ever gets cut off with an ellipsis.
The look, not the brand. Use Glass freely in your own product. The Noctic mark, the name and our product names stay ours, so keep them out of your logo, app name and copy. The one place they belong in your app is the button above. The brand guidelines have the detail.
Cadence
Class Sync
A class website, read into a class. Your site sends a manifest of what it publishes (decks, notes, handouts, links) and Cadence fetches each item, pulls the text out of it and files it under the class the key belongs to. Everything a student sees comes from something the teacher posted, and everything Cadence AI says about the subject can be traced back to it.
Two kinds of key
Key
Where it lives, and what it can do
ntk_pub_…
Publishable. It sits in a script tag right on the class website, so it's locked to the class's own sites and can do one thing: offer material for its class. It can't read anything back or see a student.
ntk_sec_…
Secret. Server-side only, for an LMS or CMS plugin. Reads and withdraws material as well as posting it, and is the only key the Teacher API accepts.
Get both from Class keys. We store a hash of each key, not
the key, so a lost one is replaced, not recovered.
Endpoints
Base URL https://api.noctic.ink/class-sync. Send the key as a bearer token, or in X-Noctic-Key.
Call
What it does
POST/verify
Checks a key and returns its class. Changes nothing. Call it first and show the class name, so a key pasted into the wrong site is obvious.
POST/materials
The manifest, up to 500 items. Items already on file are matched on id and updated, so posting the same list on every page load is totally fine.
GET/materials
What is held for the class and what happened to each item. Secret key only.
DELETE/materials?id=…
Withdraws one item from students and from Cadence AI. Secret key only.
Only id and url are required on an item. title, kind, topic, checksum and posted_at make it easier to find and cheaper to sync. A top-level complete: true says the manifest is the whole class, so anything missing from it gets withdrawn. Leave it off when you sync one page at a time. The full Class Sync reference has every field, the file types Cadence reads, and the drop-in script that does all of this for a normal class page.
Cadence
Teacher API
Class Sync handles material. The Teacher API is everything else about a class: its name and term, the sites allowed to speak for it, and the roster. It's for schools whose register lives in an SIS or an overnight CSV instead of a web page.
Secret key only, and from a server only. It refuses ntk_pub_ outright and sends no
CORS headers, so a browser will never hand a roster to a script, even if somebody pastes a secret key
into a page.
Base URL https://api.noctic.ink/teacher, the same authentication as Class Sync, and a
budget of 60 calls a minute shared with Class Sync, because it belongs to the key. There's no class ID
to pass: the key is the class.
Call
What it does
GET/class
The class, its allowed origins, whether sync is live, and counts of the roster and material.
PATCH/class
name, subject, school, term, site_origins, live. Fields left out, or sent empty, are left alone, except site_origins: [], which clears them.
GET/students
The roster. ?include=removed adds people taken off it.
POST/students
{"handles": ["alice", "@bob"]}, up to 200 at a time. A string is split on commas and whitespace.
DELETE/students?handle=…
Takes one person off, immediately. Removing somebody already off isn't an error.
Each handle comes back active (they have an account and are in the class), invited (nobody has that handle yet, and it turns on by itself when they sign up), already or invalid. If a whole export comes back as invited, it usually means the export has the wrong column in it. The full Teacher API reference walks through a full nightly sync.
Parable
Parable API
Parable 1 is our own model, and this is how you put it in your app. One endpoint, one model, and you pick how hard it thinks. It speaks the same chat completions shape most SDKs already know, so pointing an existing client at it is usually just a new base URL and a new key.
Keys go on a server. A Parable key spends your token budget, so it never goes in a page or an app bundle. The API sends no CORS headers, so a browser won't get an answer back even if a key ends up in one.
Base URL https://api.noctic.ink/parable. Send your key as a bearer token. Keys start with pk_live_ and you make them under Parable keys. We only keep a fingerprint of each one, so a lost key gets replaced, not recovered.
Call
What it does
POST/v1/chat/completions
Send messages and get an answer. model is parable-1, effort picks how long it thinks, and stream: true sends it back as server sent events.
GET/v1/models
The model and its effort levels. Doesn't need a key.
GET/v1/status
Whether Parable 1 has somewhere to run right now, and how many tokens your key has left today.
Each message has a role (system, user, assistant or tool) and text content. Images and voice work in Shiba but aren't on the API yet, so a message with an image in it gets a clear 400 instead of being quietly dropped. When the model shows its working, it comes back in message.reasoning next to the answer, not hidden.
Effort
There's one model, not a menu of them. Effort is how long it gets to think before it answers, and it's the main thing that decides cost and speed. Leave it out and you get medium.
Effort
Good for
economic
Labels, short rewrites, yes or no. Fastest and cheapest.
low
Everyday questions and quick summaries.
medium
The default. Most chat, most writing.
high
Maths, code and anything with several steps.
plus
Long problems where it should plan and check itself.
ultra
The hardest work. Slowest, and it uses the most tokens by far.
Where it runs
Parable 1 can run on our servers or right in a browser on a Noctic machine, and the API splits the work between the two. Lighter effort usually runs locally and heavier effort goes to a server. If one side is busy or offline the other one picks it up, so your code never has to care. Every reply says which one answered in noctic.route, either server or local.
A prompt sent to a local machine only waits in the queue until it's answered, and then it's wiped. Nothing you send is used to train the model.
Limits and errors
Each key gets 60 requests a minute and 200,000 tokens a day to start with. Both are counted per key, and Parable keys shows where you're at.
Code
Meaning
400 invalid_request
Something in the body is wrong. The message says which field and why.
401 no_key
No bearer token was sent.
401 unknown_key
The key was mistyped or revoked. Make a new one under Parable keys.
429 rate_limited
Over 60 requests this minute. Wait for Retry-After.
429 daily_budget_spent
The key has used today's tokens. It resets at midnight UTC, and Retry-After says how long that is.
503 no_capacity
Nowhere to run it right this second. Nothing was charged. Try again after Retry-After.
504 timed_out
It didn't finish in time. Nothing was charged for the answer. Try again or use a lower effort.
Reference
Limits and errors
Every refusal says what it is and, when it can, what to change. These are the ones worth knowing before you ship.
Limits
Limit
Applies to
What happens
60 calls a minute
Each class key, across Class Sync and the Teacher API
429 rate_limited, with Retry-After in seconds
500 items, 512 KB
One Class Sync manifest
413 too_many_items; split it
200 handles
One POST /students
413 too_many_handles; send batches
200 MB
One file read by Class Sync
The item is marked skipped with a reason
60 seconds
An authorisation code
invalid_grant on exchange
1 hour
An access token
401; refresh it
Error codes
Code
From
Meaning
401 no_key
Teacher API
No bearer token and no X-Noctic-Key.
401 malformed_key
Teacher API
That isn't the shape of a class key.
401 unknown_key
Both
The key isn't active. It was rolled, revoked or mistyped. Make a new one under Class keys.
403 origin_not_allowed
Class Sync
A publishable key used from a site the class doesn't list. Usually www, staging, or http against a registered https.
403 read_needs_secret_key
Class Sync
A publishable key tried to read or withdraw. That's on purpose.
403 needs_secret_key
Teacher API
You sent the publishable key.
405 no_browser
Teacher API
A CORS preflight arrived. Call it from a server.
409 class_paused
Class Sync
The class exists but sync is off. Turn it on under Class keys.
413 too_many_items
Class Sync
Over 500 items or 512 KB in one manifest.
413 too_many_handles
Teacher API
Over 200 handles in one call.
429 rate_limited
Both
Over 60 calls in a minute on one key. Wait for Retry-After.
Malformed items inside an otherwise good Class Sync manifest are counted in ignored and
rejected instead of failing the call. One bad date shouldn't cost a teacher a term of
material.
Reference
Security checklist
Before you ship, every one of these should be true.
The client secret and every ntk_sec_ key live on a server, in an environment variable or a secret manager.
Every authorisation request carries a random state, and the callback refuses one that doesn't match.
Apps without a server use PKCE with S256, and never a client secret.
Redirect URIs are registered exactly, and production and development are separate apps.
Refresh tokens are stored server-side and encrypted, and treated like a password.
You ask for the fewest scopes that work, and read the scope that comes back.
Webhooks are verified against the raw body, compared in constant time, and refused after five minutes.
A 401 sends the person back through sign-in instead of retrying in a loop.
Publishable class keys list only the exact origins that should use them.
Found a vulnerability in Noctic itself? Tell us through Security, not an issue anybody can read.
Reference
Tools and examples
Tools that run in your browser, as you, against the live endpoints. Nothing you type leaves your device except the call you choose to make.
Everything above is free and open to any Noctic Account. The Program is for the stuff that needs a name attached: a verified publisher on the consent screen instead of "an unverified developer", a listing in the Ecosystem, higher limits, early builds, hardware and the labs. Membership is free.
Memberships
Membership
For
Individual
One person publishing under their own legal name.
Organisation
A company publishing under its registered name. Needs an entity number, an email at the company's own domain, and someone who can sign for it.
Education
A school, college or university. No entity number asked for.
Enterprise, in-house
Apps used inside your own organisation and never listed publicly.
How an application is decided
You enrol. Who you are, the entity if there's one, eight questions about what you're building, and the agreement. It saves as you go.
An automatic check reads it the moment you submit. Anything missing or contradictory comes straight back with a list of what to fix. Fix it and submit again, as often as you need.
The Noctic Developer team decides. A complete application waits with the team, and they accept or decline it with a note written for you. While it's waiting you can pull it back to change something.
A complete application is accepted right away. The Developer team can still review any membership after, and decline one with a note written for you.
You're a member. The decision shows up on your membership page the second it's made, and everything the Program unlocks is on from then.
Status
What it means
Draft
Being filled in. Nobody but you can see it.
Needs a change
Sent back, by the automatic check or by the team. The note says what to change.
Waiting for review
Complete, and with the Developer team.
Member
Accepted. The membership is active.
Declined
Not accepted this time. The note says why, and Support is the way to ask again.
Developer Shouts are short posts from the Noctic Developer team: releases, heads-ups about changes, events and anything else worth a developer's attention. They're on developer.noctic.ink/shouts, and the latest three sit at the top of the developer home. Pinned shouts stay first while they're still true, and anything that changes how an API behaves gets written into these docs too.
Events (sessions, labs and meetups) are listed on Events once they're scheduled, and you take a seat there with the account you already have. Program members get the labs first.
Community
Help
Does any of this cost anything?
No. Registering apps, the identity, profile and email scopes,
Class Sync, the Teacher API and the Program are free. Only the api scope draws on a
plan, and it draws on the user's.
Why am I not signed in on the developer site?
Usually because you're not signed in on noctic.ink in this browser either, or you signed out of one of them, which signs you out of both. Press Sign in and you'll come straight back here. If you're signed in on noctic.ink and still see this, reload the page once and tell us if it keeps happening.
I lost my client secret
It can't be recovered, only replaced. Roll it on Keys; the old one stops working as the new one is issued.
My webhook signature never matches
Almost always the body. A framework that parsed the JSON already threw away the bytes you need. Use its raw-body option, and check the secret for a trailing newline.
How long does a Program application take?
The automatic check answers the second you submit. A complete application then waits for the Developer team, and the decision shows up on your membership page as soon as it's made.
Five parameters, and only the first two are required. Everything the builder makes is a plain URL. You can read it, paste it into a browser, and see exactly what your users will see.
client_id
Your app's public ID, given to you when you register it. Fine to ship in a mobile app or a front-end bundle. It says who you are but doesn't prove anything on its own.
redirect_uri
Where we send people once they've decided. It has to match one of the URIs registered for the app, character for character, including the scheme, any port and any trailing slash.
scope
A space-separated list from identity, profile, email and api. Ask for as little as you need. Short lists get approved way more often than long ones.
state
Any random string. We hand it back untouched on the redirect, and checking it against what you sent is what stops cross-site request forgery. Optional in the spec, expected in real life.
code_challenge
The S256 hash of a secret your app keeps for the length of the flow. Required for anything that can't hold a client secret: single-page apps, mobile apps, desktop apps.
The whole round trip.
1
Send them here
Your app opens the URL this page builds. Nothing has been granted yet.
2
They decide
We show who's asking and exactly which scopes. They can approve or refuse each request.
3
We redirect back
Your redirect URI receives a one-time code and the state you sent, as query parameters.
4
You exchange it
Your server swaps that code for tokens. The code dies on first use, or after sixty seconds.
The URI in the link isn't one of the URIs saved against the app. The comparison is exact, so
http versus https, a stray trailing slash or a missing port will all fail.
Fix it under API keys.
invalid_client
The client ID doesn't exist, or the app has been deleted. Copy it again from
API keys instead of typing it out.
invalid_scope
You asked for a scope the app isn't allowed to request. Scopes are set at registration, so widen them there first, then rebuild the link.
The user lands back with access_denied
They said no, or closed the window. That's a normal outcome, not an error. Handle it by explaining what your app can't do without the grant, and offer the link again.
Should I build this URL by hand in production?
Yes. This page is for checking your parameters while you build. In production, build the URL in your own code so the state and code challenge are fresh every time.
A client secret only works if it can stay secret. A single-page app ships its source to the browser, and a mobile app can be unpacked, so neither can keep one. PKCE swaps the secret for a value made fresh for each sign-in and used exactly once.
1
Invent a verifier
A long random string, 43 to 128 characters. Keep it in memory or session storage for the flow.
2
Hash it
SHA-256, then base64url with the padding stripped. That result is the challenge.
3
Send the challenge
It rides along on the authorisation URL. The verifier itself never leaves your app.
4
Prove it at the end
You send the verifier when exchanging the code. We hash it and compare. No match, no tokens.
Someone who steals the authorisation code still can't use it, because they never saw the verifier that has to go with it.
Getting it right.
Do I need a new pair for every sign-in?
Yes. Reusing a verifier defeats the whole point. Make one when the user starts signing in and throw it away once you have the tokens.
Can I use the plain method instead of S256?
We only accept S256. The plain method sends the verifier in the clear on the first request, which
leaves it in browser history, referrer headers and server logs.
Where should the verifier live between the two requests?
Session storage is the usual answer for a web app, so it dies with the tab. Stay away from local storage, and anywhere another site or another app on the device could read it.
My exchange fails with invalid_grant
Nine times out of ten, the verifier sent at the end doesn't match the challenge sent at the start. Usually a new one was generated in between, or a page reload wiped it.
Is this pair safe to use for real?
The values here come from your browser's own crypto.getRandomValues, so they're properly random. Use them to test the flow, and let your app make its own in production.
This calls the live endpoint, so you need a real code from a real redirect. Codes are single-use and short-lived. If you've already exchanged one, start the flow again to get another.
A fresh code
Begins shc_, arrives as the code query parameter on your redirect URI, and
expires sixty seconds after it's issued.
The same redirect URI
Byte-for-byte the one used to get the code. Nothing gets sent there this time. It's part of what proves the exchange belongs to that authorisation.
Your client secret
For confidential clients only. If your app is a single-page or mobile app, leave it empty and send a
PKCE verifier instead.
A server to do it from
In production this call goes on your backend. A secret that reaches the browser is a published secret, no matter what the bundler promises.
What comes back.
access_token
A signed JWT. Send it as Authorization: Bearer …. Valid for one hour.
refresh_token
Trades for a new access token without bothering the user again. Store it on your server, encrypted, and treat it like a real credential.
expires_in
Seconds until the access token dies. Refresh before then, not after a request already failed.
scope
What was actually granted, which may be narrower than what you asked for. Read it, don't assume it.
invalid_grant
The code expired, was already used, or was issued for a different client or redirect URI. Codes are fragile on purpose. Run the flow again.
invalid_client
The client ID and secret don't match a registered app. Roll the secret from API keys if you have lost it.
The user revoked access. What happens to my tokens?
Both stop working right away. There's no grace period. Treat a sudden 401 as a revocation and send the user back through authorisation, don't retry.
This page splits the token on its dots and base64-decodes the middle part. That's all decoding is. Nothing here checks the signature, and nothing here leaves your browser. Anyone can read a JWT. Only your server, holding the right key, can tell whether to believe it.
What to check on your server
The signature against our published keys, then exp, then iss, then aud against your own client ID. In that order, and reject on the first one that fails.
Never trust the header
The alg field comes from whoever made the token. Pin the algorithm you expect in your own code, don't read it back out of the token.
Don't put secrets in one
A JWT is signed, not encrypted. Anyone holding the token can read every claim in it, including the browser it went through.
Mind the clock
Expiry is checked against your server's clock. A drifting clock makes tokens look expired the second they arrive, or lets them hang around too long.
The claims you will see.
sub
The stable Noctic user ID. This is the value to store against your own records.
iss
Who issued the token. Always a Noctic issuer for tokens from our endpoints.
aud
Who it's for. Should be your client ID; if it isn't, the token isn't yours to accept.
exp
Expiry as a Unix timestamp. One hour after issue for an access token.
iat
When it was issued. Useful for spotting a clock-skew problem between machines.
scope
What the user actually granted. Enforce this on every request, not only at sign-in.
email
Present only when the email scope was granted and approved.
A user ID is stable for the life of the account. An email address isn't. People change them. Key your
database on sub.
The response depends on what the user approved, not what you asked for. A field you were refused is missing, not empty, so check it's there before you read it.
identity
sub only. Proof of a real signed-in account and a stable identifier for it.
profile
name, picture and verified. What other users already see.
email
email and email_verified. Requested separately, and refusable on its own
without refusing the rest.
api
No extra profile fields. It grants model requests against the user's plan, nothing more.
Date of birth, plan history, moderation records, private notes, direct messages and assistant
conversations aren't available through any scope, and there's no partner tier that unlocks them.
Using it well.
Should I call this on every request?
No. Call it once after sign-in, store what you need, and refresh it now and then (daily is plenty). The endpoint is rate-limited per token, and a chatty integration will hit that limit.
I get 401 with a token that worked a minute ago
It expired or got revoked. Refresh it once. If the refresh fails too, the user pulled access and needs to authorise again.
I get 403 with a valid token
The token is fine but doesn't have the scope. Ask for it in the authorisation URL. You can't widen a scope after the fact.
The name field is missing
Either the profile scope was refused, or the account has no display name set. Fall back
to something neutral instead of showing an empty space.
Can I cache the picture URL?
Cache it, but re-fetch every so often. Avatar URLs change when someone updates their picture, and the old one stops working.
Every webhook we send has an HMAC-SHA256 signature over the raw request body, made with your signing secret. Recompute it on your end and compare. If they don't match, the request didn't come from us and you should drop it without doing anything else.
1
Take the raw body
The exact bytes received, before any JSON parsing. Re-serialising changes them and breaks the hash.
2
Compute the HMAC
SHA-256, keyed with your signing secret, rendered as lowercase hex.
3
Compare in constant time
Use your language's timing-safe comparison. A plain equality check leaks the answer a byte at a time.
4
Check the timestamp
Reject anything older than five minutes, so a captured delivery can't be replayed at you later.
Common traps.
My signature never matches
Almost always the body. A framework that parses JSON and hands you an object has already thrown away the bytes you need. Use your framework's raw-body option.
It matches locally but not in production
Check for a proxy that rewrites the body, and check for a trailing newline your shell added when you copied the secret into an environment variable.
Should I respond before or after processing?
Verify, acknowledge with a 2xx, then process. Slow handlers cause retries, and retries cause
duplicates. Make your handler idempotent and key it on the event ID.
What if my secret leaks?
Roll it from API keys. Deliveries signed with the old secret stop
verifying at once, so deploy the new value before you roll.
Is the payload encrypted?
It's signed, not encrypted. The transport is HTTPS. The signature proves who sent it and that nothing changed on the way, but it doesn't hide the contents from anything terminating your TLS.
Registering takes about a minute, and nothing here is permanent. You can change every field later from API keys.
A name people will recognise
It shows on the consent screen, above the list of scopes. Use the name your users actually know the product by, not an internal codename.
A homepage
Somewhere a curious user can go to figure out who you are. Optional, but apps without one get approved less often when they ask for more than identity.
At least one redirect URI
Where we send people after they decide. Add every environment you'll actually use: production,
staging and http://localhost for development.
Somewhere to put the secret
An environment variable or a secret manager. Not a repo, not a front-end bundle, and definitely not a screenshot in a group chat.
What happens next.
1
You get credentials
A client ID you can publish, and a client secret shown exactly once on this page.
2
Your app appears in API keys
Where you can edit URIs, roll the secret, grab the button markup or delete the app completely.
3
You build the flow
Authorisation URL, then code exchange. Our tools check each step against the live endpoints.
4
You ship
New apps start with identity, profile and email. Ask us if you need api.
No. Registering an app and using identity, profile and email
is free and always will be. Only the api scope draws on a plan, and it draws on the
user's, not yours.
Can I register more than one app?
Yes, and you should. Separate credentials for production and development mean a leaked development secret can't touch real users.
I lost the client secret
It can't be recovered, only replaced. Roll it from API keys. The old one stops working the second the new one is issued, so deploy carefully.
Do I need a review before going live?
Not for the three default scopes. Apps requesting api are looked at by a person first, so
write to support with what you're building and roughly what volume you expect.
What are the rules about what I do with the data?
Profile data obtained through sign-in may not be sold, brokered or merged into a third-party graph.
The full terms are in the legal centre.
Three kinds live here. App keys are for signing people in with Noctic. Class keys are for teachers pushing their own material into Cadence. Parable keys are for calling Parable 1 from your own app. They have nothing to do with each other except they're all yours, and it was easier to find them in one place.
A key you paste into the class website you already have. Every deck, set of notes and handout you post there shows up in Cadence under that class, and Cadence AI answers your students using the slide you actually taught from. You say who those students are, and only they can read it.
A Parable key lets your server call Parable 1. It spends your token budget, so it goes in an environment variable on a server, never in a page or an app.
Your new key. Copy it now. You won't see it again, we only keep a fingerprint of it.
Pick an app above, then copy the markup. It renders the official Continue with Noctic™ element and sends
people through the authorisation flow.
Preview
Markup
Choose an app above to generate your snippet.
Looking after credentials.
A client ID is public on purpose. A client secret is a password for your app, and everything that goes for a password goes for it too.
Server-side only
If a secret is in a browser bundle or a mobile app, it's published. Public clients use PKCE instead, which is made for exactly that.
Out of version control
Environment variables or a secret manager. A secret that gets committed once lives in the history forever, even after you delete the file.
Roll on a schedule
Twice a year is a good habit, and right away whenever someone who had access leaves. Rolling is instant with no downtime if you deploy the new value first.
One app per environment
Separate registrations for production, staging and local work. It keeps redirect URIs tidy and limits the damage of a mistake.
Rolling and deleting.
Roll the secret
Issues a new secret and invalidates the old one at once. Existing access tokens keep working until
they expire; new exchanges need the new secret. Deploy the new value before you roll.
Edit redirect URIs
Works right away. Removing a URI breaks any sign-in already in progress against it, so change them when things are quiet.
Delete the app
Permanent. Every token and every grant is revoked right there, and the client ID never gets reused. Users see the app vanish from their connections list.
If you think a secret leaked, roll it first and figure out what happened after. Then tell us at support so we can look for weird use of the old one.
The name is what your students see above the material in Cadence, so use the one they call it. The site is the address your class pages actually live at. The publishable key only works from there.
Publishable key: this one goes in your class website.
Secret key: server-side only, and shown once. Skip it unless you're wiring up an
LMS.
Sync starts paused. Paste the snippet below, check it says the right class, then turn the class on.
The snippet, ready to paste.
Pick a class above, then drop this into the template your class pages share. The footer usually works. It reads the page you already publish and sends a list of what's on it. Nothing about any student is read, and the only thing uploaded is the addresses of your own files.
A key decides what gets into Cadence. The roster decides who reads it. They're separate on purpose: your class website is public, and the material Cadence keeps for your class isn't.
Add people by the username you already know them by (@alice) from the Students button on the class above. Paste a whole class list at once if you have one. Commas, spaces and new lines all work, and the @ is optional.
1
You add a handle
If it belongs to a Noctic Account, that student can study the class next time they open Cadence. Nothing to accept, no invite email.
2
A handle nobody holds waits
Setting up next term's roster before the students even have accounts is normal. The handle is held, shown as unfinished, and gives access to nothing until someone claims it.
3
They read the class, not the keys
A student on the roster sees the class name and the material that's still published. They can't see
your keys, your other classes, or who else is on the roster.
4
Removing is immediate
Take a handle off and access goes at once. The name stays visible to you as removed, so a student who left mid-term doesn't just vanish from your own record of the class.
Take a deck down from your class site and it stops being readable for everyone on the roster at the same moment. The roster grants access to what you publish now, not to an archive of it.
Two keys, on purpose.
A key pasted into a web page is public, no matter what anyone meant. So the key made for that job is built to survive a stranger reading it, and the key that isn't never goes there.
ntk_pub_… Publishable
Lives in the page in plain sight. It can offer material for its own class and nothing else. It can't read the class back, can't see a student, can't reach another class, and is refused outright from any site but the ones you named. If someone copies it out of your source, the worst they can do is offer your class a link, which you'll see in the list below and can remove.
ntk_sec_… Secret
For a server: an LMS plugin, a static-site build step, a nightly job. It also lists and withdraws material, and it isn't locked to a site, which is exactly why it should never show up in a page. Treat it like a password.
Both are locked to one class. A key can't be tricked into touching a class it wasn't made for, so the worst a leaked key can do stays inside the room it came from.
What students get.
1
You post as usual
The deck goes on the class page like always. There's no second place to upload it.
2
Cadence reads it
Slides, speaker notes, headings and handouts get pulled apart into text, saved under the class, and dated to when you posted them.
3
It shows up in the class
Students in the class see the material where they already look, right next to the lesson it goes with in the calendar.
4
The tutoring gets specific
Cadence AI answers from your slide 14 and quotes it, not from the internet's idea of the topic. When it has nothing from you, it says so instead of making something up.
No, and that's the point. Class Sync reads the site you already keep, wherever it's hosted: a school CMS, Google Sites, WordPress, a folder of static pages. If you can paste a script tag into the template, it works.
What if a student has no Noctic Account yet?
Add them anyway. The handle is held against the class and shown as unfinished, granting nothing until someone actually holds it. Then they get access without you doing anything else. That's why you can write September's roster in August.
Could I add a handle and reach the wrong person?
A handle belongs to one Noctic Account, so a correctly typed one reaches exactly that person and a mistyped one reaches nobody. It just waits, unclaimed. The chips on the class show you which is which before anything has been read.
Can students see who else is in the class?
No. A student can see they're on a roster and read the class material, but the class list is yours. Knowing you're in a class isn't the same as getting the list.
Can students see material I haven't posted yet?
Only what your class site publishes ever gets sent, so a draft that isn't on the site doesn't exist as far as we're concerned. Take a deck down and it's pulled from Cadence on the next sync.
What happens to files behind a login?
They get skipped, and the list below says so. Cadence fetches your material as an anonymous visitor, and anything it can't open, it won't guess at. Use a secret key from your server if you need to push material we can't reach ourselves.
Is my material used to train a model?
No. Class material is only read to answer questions for the students in that class, nothing else. It's not training data, it's not pooled across schools, and deleting the class deletes it. The legal centre has the wording that holds us to that.
I pasted the key and nothing happened.
Make sure the class is turned on (sync starts paused on purpose) and that the address in your browser bar matches the site you registered, www included. The list above shows the last time each key was used, which is usually enough to tell "not reaching us" apart from "reaching us and getting refused".
Can another teacher use my key?
It could only ever add to your class, and you'd see it in the material list. If a few teachers share a class site, register the class once and make a key each, so one key can be rolled without messing up anyone else.
One endpoint. You send a manifest of what your class site publishes, we fetch each item, pull the text out, and file it under the class the key belongs to. Everything a student sees comes from something you posted, and everything Cadence AI says about your subject can be traced back to it.
Base URL https://api.noctic.ink/class-sync. Authenticate with the key as a bearer token, or
in X-Noctic-Key if a bearer header is awkward where you are.
POST /verify
Checks a key and returns the class it belongs to. Costs nothing and changes nothing. Call it first, and show a teacher the class name so a key in the wrong template is obvious right away.
POST /materials
The manifest. Up to 500 items in one call. Items already on file are matched on id and updated, so posting the same list on every page load is how it's meant to be used, not a mistake.
GET /materials
What we hold for the class and what happened to each item. Secret key only. A publishable key can't read anything back.
DELETE /materials?id=…
Withdraws one item. It stops being visible to students and stops being quoted. Secret key only.
An item.
Only id and url are required, and id falls back to the URL if you leave it out. Everything else makes the material easier for a student to find and for Cadence to place in the term.
id
Your own identifier for the item, like a slug, a CMS post id or a file path. It's what makes the second sync an update instead of a duplicate. Keep it stable across renames. The title can change freely.
url
Where the file actually is. It has to be reachable without signing in, or the item gets marked skipped and no student sees a broken link.
kind
slides, notes, handout, reading, syllabus, assignment, link or document. Leave it out and we figure it out from the file extension, which is almost always right.
checksum
Anything that changes when the file does: an ETag, a hash, a last-modified stamp. When it hasn't moved, we skip the fetch entirely, which is most of the cost of a sync and all of the load on your server.
topic
The unit or chapter, in your words, like "Unit 3: Reconstruction". It lets a student ask about a unit instead of a filename, and it's what Cadence cites back to them.
posted_at
When you posted it. Cadence uses this to line material up with the calendar, so a student studying last Tuesday's lesson gets last Tuesday's deck.
complete
Top-level, not per item. true says the manifest is the whole class, so anything not in it gets withdrawn. Leave it off when you sync one page at a time, or a single page will wipe out the rest of the term.
Wiring it up.
The drop-in script covers the normal case: a class page with links on it. Class keys writes it for you with your own key already in it. The rest is for when you have a real CMS and would rather push than get scraped.
Put your publishable key in and the browser examples rewrite themselves with it. The server-side ones read a secret key from the environment instead, and always will. A secret key that's been through a web page isn't a secret anymore.
Nothing you type here is sent anywhere. Get a key from
Class keys.
What we can read.
A slide deck isn't a wall of text and we don't treat it like one. Cadence keeps the structure, because a student asking "what was on the slide about the New Deal" is asking about a slide.
PowerPoint and Keynote
.pptx, .ppt, .key and .odp. Titles, body text,
tables and, the part that usually matters most, the speaker notes, kept per slide and numbered, so
an answer can point at slide 14 and mean it.
PDF handouts
Text and headings by page. A scanned worksheet gets read with OCR, and if the scan is too bad to trust, the item is marked failed so it doesn't get indexed as nonsense.
Notes and documents
.docx, .odt, .rtf, .md, .txt and
Pages. Headings become structure, so a document's own sections survive into what a student can ask
about.
Pages on your site
A link item is read as an article: the actual page content, without the navigation and the cookie banner. Handy for a syllabus that lives as a web page, not a file.
Spreadsheets
.xlsx and .csv, read as tables with their headers. Mark schemes and data sets stay readable instead of turning into a pile of numbers.
What we skip
Video and audio, anything behind a login, anything over 200 MB, and anything that isn't one of the above. Skipped items are listed under the class with the reason. Nothing just disappears.
Limits and what they mean.
500 items per call
Per manifest, not per class. Send a term at a time if you have more.
512 KB per manifest
This is a list of addresses, not the material itself. If you're anywhere close to it, you're probably sending file contents by mistake.
60 calls a minute per key
Plenty for a class site, and low enough that a key found in someone's page source isn't worth much. The drop-in script syncs once per page load and that's it.
200 MB per file
Over that the item gets skipped with a reason. Split up a term-long deck. Students like it better anyway.
Unchanged items are free
Same checksum, no fetch. A site that posts its whole manifest on every page load costs one database statement, which is why we'd rather you do that than try to be clever about it.
When it goes wrong.
401 unknown_key
The key isn't active. It was rolled, revoked or mistyped. Make a new one under Keys.
403 origin_not_allowed
A publishable key used from a site the class doesn't list. Almost always www, a
staging domain, or http against a registered https. Add the exact origin.
403 read_needs_secret_key
A publishable key tried to read or withdraw. That's on purpose, not a bug.
409 class_paused
The class exists but sync is off. Turn it on under Keys once the snippet reports the right class.
429 rate_limited
Over sixty calls on one key in a minute. Retry-After says how many seconds are left. The drop-in script syncs once per page load, so if you're seeing this from a class site, something's calling in a loop.
413 too_many_items
Over 500 in one manifest, or over 512 KB. Split it.
Every refusal says what it is and, when we can, what to change. Broken items inside an otherwise good manifest are counted in ignored and rejected instead of failing the whole call. One bad date shouldn't cost a teacher a term of material.
Class Sync handles material: your site says what it publishes and Cadence reads it. This is everything else about a class: what it's called, which sites can speak for it, and the register. It takes the same key, so if your class site is already syncing, you have one already.
It's for the schools whose class list isn't a web page. If your students come from an SIS, an overnight CSV or a script somebody wrote in 2019, this is how the roster stays right without a teacher retyping it into Class keys every September.
A publishable key lives in a <script> tag on a page anyone can read. A class list is a list of kids’ handles. Those two things are never allowed to meet, so this endpoint refuses ntk_pub_ completely. Not a limited view of the roster. No view at all.
It also sends no CORS headers at all. That's on purpose, and it's the same decision said a second way: a browser won't hand the response to a script even if somebody pastes a secret key into a page. The request can go out, but nothing comes back. Call this from a server.
Base URLhttps://api.noctic.ink/teacher
AuthThe secret key as a bearer token, or in X-Noctic-Key. Same as Class Sync.
ScopeWhatever class the key belongs to. There's no class id to pass and no way to reach another one.
Rate limit60 calls a minute, shared with Class Sync. The budget belongs to the key, not the endpoint.
The whole API.
GET /class
The class, its allowed sites, whether sync is live, and counts of the roster and the material we have. Call it first. A wrong key pointed at a real class is obvious here and expensive later.
PATCH /class
name, subject, school, term, site_origins, live. A field you leave out is left alone, and so is one you send empty. Same rule as the developer page. The exception is site_origins: [], which clears them, because there has to be a way to take away a site’s permission.
GET /students
The roster. ?include=removed adds people taken off it. Each entry carries a status and
whether that handle has a Noctic account yet.
POST /students
{"handles": ["alice", "@bob"]}, up to 200 at a time. A string works too and gets split on commas and whitespace, because that's what comes out of a spreadsheet cell. You get a result for each handle and a total.
DELETE /students?handle=…
Takes one person off. Access goes immediately. Removing someone who's already off is not an error, so a nightly sync doesn't have to remember what last night did.
What a result per handle means
activeThat handle has a Noctic account. They're on the class now.
invitedWritten down, but nobody holds that handle yet. It becomes active by itself the day they sign up. A
whole export landing as invited usually means the export has the wrong column in it.
alreadyThey were on the roster before you called.
invalidNot a handle. Letters, digits, dot, dash and underscore, two to forty characters.
A nightly roster sync.
What almost everyone wants: read what we have, compare it to the class list you already have, and send only the difference. Adding someone twice doesn't hurt anything, so the safe version is the one that doesn't try to be clever.
const KEY = process.env.NOCTIC_TEACHER_KEY; // ntk_sec_…
const BASE = 'https://api.noctic.ink/teacher';
const head = { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' };
// 1 · Check the key points where you think it does.
const { class: cls } = await fetch(`${BASE}/class`, { headers: head }).then(r => r.json());
console.log(`${cls.name} — ${cls.students.active} active, ${cls.students.invited} invited`);
// 2 · What we hold, and what your register says.
const { students } = await fetch(`${BASE}/students`, { headers: head }).then(r => r.json());
const held = new Set(students.map(s => s.handle));
const should = new Set(await registerFromYourSIS()); // your side
// 3 · Send only the difference.
const adding = [...should].filter(h => !held.has(h));
if (adding.length) {
const out = await fetch(`${BASE}/students`, {
method: 'POST', headers: head, body: JSON.stringify({ handles: adding }),
}).then(r => r.json());
console.log(out.tally); // { active: 24, invited: 2 }
}
for (const h of [...held].filter(h => !should.has(h))) {
await fetch(`${BASE}/students?handle=${encodeURIComponent(h)}`,
{ method: 'DELETE', headers: head });
}
Keep an eye on the invited count. It's the number of names that didn't match anyone, and on a first run against a real school it's the only line that tells you the handles in your export are actually Noctic handles.
Put your client ID and redirect URL in the two boxes and every example below rewrites itself with your values. Nothing you type here is sent anywhere. It stays in this browser.
Your client secret never goes in front-end code. Keep it on your server, in an environment variable.
Step 1 — Send people to Noctic.
A plain link is enough. This is the official button, styled for light and dark.
Step 2 — Swap the code for a token.
Noctic sends the person back to your redirect URL with ?code=…&state=…. Your server trades that code for an access token. This has to happen on the server.
Step 3 — Read who signed in.
One GET with the access token gives you the person's Noctic identity: id, username, name, picture, and email if the email scope was approved.
Step 4 — Keep the session alive.
Access tokens don't last long. Use the refresh token to get a new pair, and revoke when someone signs out.
Everything here applies to your Noctic Account, so a change you make once follows you into Shiba, Cadence and anything else you sign in to. Preferences save as soon as you set them.
Account unlocked
Thanks. Following the emailed link confirmed the account is yours, and the lock is gone. If those failed attempts weren't you, set a new password below before you carry on.
Not signed in
Sign in to sync these preferences across your devices.
Signed out, your choices are remembered on this device only.
Appearance.
How Noctic looks on this device. Text size and accent colour are saved locally, so a shared computer never carries your choices into someone else's session.
Accent colour
Used for links, highlights and focus rings across every page.
Text size
Makes body text bigger without changing the layout.
Animations
Page transitions, reveals, and the scenes on the Aero™ pages. Matching your device follows its own setting: Reduce motion on a Mac or iPhone, Animation effects on Windows (battery saver turns it off too). When matched, scenes still play, just without anything sliding or zooming.
Always underline links
Marks links by shape as well as colour, which helps if colours are hard to tell apart.
Language
Noctic follows your device language by default. Choosing one here overrides it.
Left on match your device, Noctic follows your system's reduce-motion setting: nothing slides, zooms or drifts, and the scenes on product pages still play without moving. The other two options override it here, on this device. See Accessibility for everything else we support.
Notifications.
Choose what reaches you and when. Security messages are the one thing we always send. A sign-in code or an unlock link has to arrive even if everything else is off.
Security and sign-in
Confirmation codes, unlock links, new-device alerts and password changes.
Product updates
A note every so often when something you use gets a feature worth knowing about.
Research and papers
New work from the research team, including model cards and evaluations.
Cadence mentions and messages
Someone replies to you, mentions you in a channel, or sends a direct message.
Newsroom
Company announcements. About one email a month, never more.
Where to send them
In-app notifications show up next time you open the product.
Quiet hours
Nothing but security messages between these times, in your local time zone.
to
Weekly digest instead of alerts
Bundles everything non-urgent into one message every Monday.
We don't sell your address, and marketing mail is off unless you switch it on. Every email we send
carries a one-click unsubscribe.
Account privacy.
What other people can see, and what we're allowed to learn from how you use things. The defaults are the private ones. Nothing here has to be switched off to protect you.
Who can see your profile
Your display name, avatar and verification badge.
Discoverable by email
Lets someone who already knows your address find your profile. Off hides you from search.
Show when you were last active
Shows a small presence dot in Cadence channels and direct messages.
Usage analytics
Overall counts of which features get opened. Never any message content.
Personalised suggestions
Lets Shiba use your recent activity to decide what to show you first.
Help improve our models
Off by default, and we don't train on your conversations. Right now this switch is only saved on this device and doesn't reach our server yet, so it tells us what you want but doesn't enforce it. Write to us if you need that in writing.
How your account is protected, and how to cut off access you don't want anymore.
Two-step email verification
Required. Every sign-up and every sign-in ends with a six-digit code sent to your address, so a password alone is never enough.
Lock after failed attempts
Five wrong passwords lock the account for fifteen minutes and send an unlock link to your email. Follow the link and the lock lifts right away.
Alert me about new sign-ins
An email whenever your account is used on a device we haven't seen before.
Change your password
Pick something long. New passwords are checked against known breaches before we accept them, and the check happens in your browser. The password itself never leaves this device.
We'll email a six-digit code to confirm the change before it takes effect.
Confirm the change
Enter the six-digit code we sent to your address. Your password isn't
changed until the code checks out.
Codes expire after 10 minutes.
Where you're signed in
Signing out everywhere revokes every token on every device, including the Noctic apps. You'll need your password and a new code to get back in.
When this account was signed in to, how, and from which network address.
Apps you've approved with Continue with Noctic have their own tokens. Check and revoke those from your Noctic Account, or read how grants work in Security.
Your data.
Take a copy whenever you want, or close the account for good. Neither costs anything, and neither needs a chat with us first.
Export a copy
Downloads your profile and every preference on this page as a JSON file you can read or keep.
Reset preferences
Puts appearance, notifications and privacy back to their defaults on this device.
Delete your account
Deletes your account and its content across every Noctic product. This can't be undone. Type DELETE to confirm, and we'll handle it and email you when it's done.
What we keep and for how long is in the Privacy Policy. Backups clear out within thirty days of a deletion.
One form, one inbox, a real person. We usually get back to you within a day.
We'll send a copy to your email so you have a record of it.
When to expect an answer.
These are the times we actually hold ourselves to, not the ones we hope for.
General questions
One working day. Usually the same day.
Billing and plans
One working day. Refund decisions happen in the first reply, not after some review cycle.
School and district
One working day, from the person who knows your campus.
Privacy requests
Acknowledged in seven days, completed within thirty.
Accessibility reports
Acknowledged in two working days, assessed within ten.
Security reports
Same day, including weekends.
Anything involving a student's safety
Right away, before everything else in the queue.
Before you write.
Check the status page
If something broke for everyone at once, it's probably us and probably already posted. Service status.
Search the Field Guide
Verification, calendar imports, plan changes and sign-in problems are covered there in more detail than an email would give you. Field Guide.
Try one clean attempt
Reloading signed out in a private window rules out half of all sign-in problems in about thirty seconds.
Manage it yourself
Connected apps, appearance, plan and deletion are all in Settings and work right away.
What to put in the message.
The difference between one reply and four is usually three lines of detail.
1
What you did
The steps you took, in order, ending with the thing that failed.
2
What you expected
Sometimes the product is doing exactly what it was designed to do and the design is the problem. We want to hear that.
3
What happened instead
The exact wording of any error message, or a screenshot with other people's names removed.
4
Where
Browser or app, device, and roughly when. Never send us a password or a full API key.
Special routes.
Security
Report a vulnerability through Contact marked security. We reply the same day, we won't threaten you for reporting in good faith, and we credit researchers who want it. Please don't test against real student accounts.
A student at risk
Contact your school's moderators first, because they can act right away. Tell us too and we'll put it above everything else in the queue.
Privacy and data requests
Access, correction, export and deletion. Parents and guardians should read Children and Students first, because we check the relationship before doing anything.
Legal and copyright
Notices and counter-notices go through the legal centre.
Press
Announcements are in the Newsroom; asset requests go through
Brand.
Developers
API keys, OAuth and webhooks are documented under Developers.
We answer in English and French. No phone queue and no chatbot in front of the inbox. Every reply is written by someone who can actually change the thing you're writing about.
Announcements that actually get read, a calendar that matches the real timetable, verified student identity, and an AI study coach, all under one district agreement.
Student ID scanning links accounts to real students, so outsiders stay out of channels.
Official channels
Grade, homeroom and campus-wide channels with broadcast rights for staff.
Shared calendar
Holidays, PED days and maybe-PED days, posted once and visible everywhere.
Timetable import
Students take a photo of a printed schedule and AI turns it into a live calendar.
Moderation
Reporting, review queues and staff moderators with a full history of every action.
Bulletin board
Clubs, tryouts and lost and found on a board students actually check.
Rolling out.
Register the school
Claim your campus in Cadence and verify with a staff ID.
Open the channels
Grades and homerooms set themselves up, and staff get broadcast rights.
Load the year
Import the calendar once, holidays and PED days included.
Most schools get through all three steps in under a week. None of it needs a server, a plugin or an IT project.
Four people, one app.
Administrators
One place to reach the whole campus, and a record of who announced what. Verified rosters mean the audience is exactly the school, and you can export the moderation history when you need it.
Teachers
Post once to a homeroom, no more chasing a group chat you don't control. Broadcast rights are given per channel, so a message from staff actually reads as one.
Students
The timetable, holidays, club sign-ups and the real announcements in one feed, on the phone they already have. No public follower count to perform for.
Families
A straight answer about what the school can and can't see, and a way to request or delete a student's data that goes to a real person, not a form.
What a licence covers.
Everything below is included. No paying extra per feature.
The whole campus
Every enrolled student and every staff member, on any number of devices. It's licensed per school, not per seat, so a class that grows in October doesn't turn into a procurement meeting.
Channels and announcements
Campus-wide, grade and homeroom channels made from the roster, plus channels staff set up themselves for teams, trips and clubs. Broadcast rights are set per channel.
One calendar, loaded once
Term dates, holidays, PED days and maybe-PED days, entered by one person and visible to everyone the second they save. Students add their own timetable on top.
Timetable import
A student takes a photo of the printed schedule they got in September and gets a live calendar out of it. No template, no data entry, no asking the office to export anything again.
Bulletin board
Tryouts, auditions, club sign-ups, lost and found. The paper board nobody reads, moved to where students already look.
Moderation with a paper trail
Reporting, a review queue, named staff moderators and a full history of actions with the reasons written down. Every decision traces back to a person.
What it is not.
Being clear about this up front saves everyone a whole procurement cycle.
Not the official record
Cadence doesn't hold grades, transcripts or attendance. Your student information system stays the system of record and we're not trying to replace it.
Not a surveillance tool
There's no admin view of private notes, direct messages or assistant chats, and you can't buy one. See Children and Students.
Not a marking platform
Assignments can be announced and dated. Submitting, marking and feedback stay wherever your school already does them.
Not a device manager
We don't install profiles, lock down devices or report on what a student does outside our app.
What you need before you start.
1
A staff verifier
One member of staff with a school ID to claim the campus and approve the first moderators.
2
A roster source
A list of grades or homerooms. A spreadsheet works, there's no integration to build.
3
A calendar owner
One person in charge of term dates, so the year gets entered once and stays right.
4
A moderation policy
Your existing conduct policy, applied to a channel. We give you the tools, not the rules.
The school. Announcements, channels and the calendar stay with the campus.
Who owns private content
The student. Notes, direct messages and assistant history aren't visible to staff.
Advertising
None, anywhere, on any plan. We don't build ad profiles of students.
Model training
Private student content isn't used to train models.
Leaving
A school can export its channel and moderation history and close its campus. Student accounts stay when the school leaves, because they were never the school's to delete.
Requests
Parents and guardians can ask for access, correction or deletion. We check the relationship, reply within seven days and finish most requests within thirty.
Support and training.
Setup session
A live walkthrough with whoever's claiming the campus, covering channels, rights and the calendar.
Staff briefing
A short session for teachers on broadcasting, moderation and what students can and can't see.
Term-start check
We go over the calendar and rosters with you before the year starts, when mistakes are cheap to fix.
A named contact
School email goes to a person who knows your campus, not to a general queue.
Questions we get asked.
Do students need a school email address?
No. Verification links an account to a real student through the school's own roster and ID check, so it works for schools that don't give out student email at all.
Can teachers read direct messages?
No, and there's no setting that turns it on. A moderator only sees a specific message when it's reported, and only as part of that report.
What happens to a student who transfers mid-year?
Their access to the old campus ends when the school takes them off the roster. The account, its notes and its calendar go with the student and can be attached to the new school.
Does this work on school-managed devices?
It runs in a browser and as an app. Nothing to install centrally and no management profile to push out.
What if a student posts something serious?
Reports go to your moderators, not ours. Your staff handle them under your conduct policy, with a log of what was decided and by who.
Can parents get accounts?
Parent accounts aren't part of the current licence. Parents can make data requests about their own kid any time through Contact.
How is it priced?
Per campus under one agreement, not per seat. Prices for your school size are on the Pricing page or just ask us.
Noctic Plus and Noctic Pro cover Shiba, Cadence and Momentum on one yearly bill. Turn off an app you won't use and the price goes down with it.
Included apps. Switch off anything you won't use
$390 / year, USD
Billed once a year, in US dollars. It renews on the same date every year, for the same amount, until you cancel. If taxes apply where you live, Stripe adds them at checkout. Cancel whenever from your Noctic Account.
Noctic Free
A daily allowance across chat, images and code, all of Cadence, and a Noctic Account that works everywhere. No card, no time limit.
Plans renew yearly and cancel instantly if a payment fails. Access stops the moment billing lapses, it's never silently kept going. Stripe handles card details and they never reach us.
What the plans actually change.
Every product is on every plan. What changes is how much and how hard.
Daily treats
Free gets a daily allowance across chat, images and code. Noctic Plus raises it a lot and Noctic Pro raises it again. Treats reset on a rolling daily window, not at midnight in one time zone.
Effort tiers
Free goes up to Medium. Noctic Plus opens High and Plus effort. Noctic Pro unlocks Ultra. A harder tier thinks longer and costs more treats per request.
Cadence
Free anywhere a school has licensed the campus. Cadence Air on Plus and Cadence Pro on Pro add group spaces, analytics and the staff tools on top.
Momentum
Momentum Plus syncs streaks and the evening check-in across devices. Momentum Pro adds long-range
trends, exports and shared habits.
Voice, research and market data
Plus and above.
Peak-hour priority
When it's busy, Plus and Pro get served before Free.
Dropping an app
An app you switch off just isn't part of the plan. It drops back to its Free tier and the yearly price goes down by that app's share. Add it back whenever you like and the change is prorated.
About treats.
A treat is one unit of work. A short answer costs one. A long piece of reasoning, an image or a multi-step agent run costs more, because it actually uses more.
You see the cost first
The effort tier is something you set, and you see what a request costs before you send it.
Nothing expires early
Treats reset daily. We don't sell packs that expire without telling you at the end of a month.
Running out isn't a wall
Lower effort tiers keep working when the higher ones run out, so you're never fully locked out.
No surprise overage
Consumer plans can't charge you more than the plan price. No surprise overage bill later.
Billing, plainly.
Renewal
Yearly, on the day you subscribed. You'll see the date and amount in your Noctic Account before it happens.
Cancelling
One button in your Noctic Account, under Plan and Billing. No "are you sure" offer and no cancellation survey. It goes through right away, and you keep the plan until the time you already paid for runs out.
Failed payments
Access ends right away, it doesn't keep going on credit. Nothing gets charged again unless you do it.
Refunds
If something we shipped made the plan unusable, write to us and we'll refund it. We decide in the first reply, not after some review cycle.
Changing plans
Upgrades and added apps kick in right away and are prorated. Removing an app or going from Pro to Plus happens at the end of the year you've paid for.
Card details
Handled completely by the payment processor. Card numbers never touch our systems.
Price changes
Announced at least thirty days ahead. An existing plan keeps its price until the notice period's over.
Schools are priced differently.
A campus licence covers every enrolled student and every staff member under one agreement, not per seat. A class that grows in October shouldn't turn into a purchase order.
The Free plan is the trial. It doesn't expire, it includes all of Cadence, and it never asks for a card.
What happens to an app I switch off?
It drops to its Free tier, it doesn't disappear. Your data stays exactly where it is, and adding the app back later picks up where you left off.
Do students pay?
Not for Cadence. When a school licenses the campus, the school pays and students use it for free. A student can still get a personal Shiba plan if they want the higher tiers.
What happens to my content if I downgrade?
Nothing gets deleted. Conversations, notes and posts stay put. Only the limits change.
Can I pay monthly?
Noctic Plus and Noctic Pro are yearly, and that's how they cost what they cost. Campus agreements are yearly too, invoiced, not put on a card.
Do you offer education or non-profit discounts?
Campus licensing is already cheaper than per-seat. For anything else, ask us and we'll give you a straight answer.
Is there advertising on the free plan?
No. There are no ads in any Noctic product, on any plan, so there's no plan that removes them.
We build the software, and the hardware it runs on.
Noctic™ writes the models, the accounts and the apps people actually open, and designs the silicon and the machines under them.
We started with one AI assistant and one school app. The interesting part ended up being the space between them: one account, one plan, one privacy model, and products that get better the second you use another one. Everything since has been that same idea pushed further down the stack, all the way to the chip.
Our philosophy.
Hardware and software only feel like one thing when the same people are responsible for both. Most of it feels stitched together because it is: the model from one company, the interface from another, the device from a third, and nobody answerable for the seams.
So we focus on the whole path, not just one layer: the silicon, the hardware it goes in, the model, the software people actually use, and one design language across all of it. Not because owning more is good on its own, but because the parts only stop fighting each other when the same people are responsible for all of them.
The truth is it's slower, it's harder, and it leaves us nobody else to blame. That's the trade, and we think it's the only way the result feels like one thing instead of four.
Fewer apps, deeper ones
Every new screen has to earn its spot by getting rid of one somewhere else.
Keys never touch the browser
All model access runs on the server. It's slower to build and we're not budging on it.
Ship to real users
Cadence is used in a real school while it's still in beta. That's how we get feedback.
Say what it costs
Clear plans, instant cancelling, no tricks at renewal.
Where we are.
3Products shipping
1Account across all of them
2026Cadence public release
"The goal isn't to make the most features. It's to make the right ones disappear."
Noctic design principle
What we make.
Shiba AI
A reasoning model and assistant, with effort tiers you pick instead of one setting we picked for you. It's the layer the other products are built on.
A campus platform with verified rosters, real channels and a calendar that matches the timetable a student was actually given. In beta at a real school.
The machines the rest of it runs on, designed around how the software behaves, not around some chassis that already existed. Two desktops, and two AeroBook™ laptops.
Shiba started as a model and a chat window, built to be useful, not to look impressive in a demo.
One school app
Cadence started because a group chat is a bad way to run a campus, and everyone had just accepted it was the only option.
One account
The interesting part ended up being where they connect: one identity, one plan, one privacy model, and products that get better the second you open another one.
One company
Noctic became the parent brand, and everything moved under one ecosystem and one policy.
How we operate.
1
Remote, written
Decisions get written down so nobody has to have been in the meeting to understand them.
2
Small on purpose
A team that fits in one conversation. Every hire has to make the product better, not just bigger.
3
Users before roadmap
A real school uses the beta. What breaks there matters more than whatever was planned for the quarter.
4
Slow where it counts
Privacy, minors and key handling don't get a shortcut. Nothing ships around them.
Where to go next.
Who runs Noctic
One person, for now, holding more titles than is ideal. The full story is on Leadership.
Press and media
Announcements are in the Newsroom; assets and usage rules are on
Brand.
Working here
Open roles, how we hire and what the trial project looks like are on Careers.
Privacy and data
The plain-language version is on Privacy; the binding version is the
Privacy Policy.
Safety
How the assistant behaves by age tier, and what it won't do, is on Safety.
Schools
Licensing, rollout and district questions are on Education.
Our plan to design our own RISC-V processor now has a page instead of a rumour: how the chip works, how one gets made, the five stages between here and a laptop part, what each stage costs, and the real list of ways it could fail. No silicon exists.
Aero™ is a concept, on Intel for the time being
Aero™ is labelled a concept everywhere it appears, and the lineup is now specified around shipping Intel Core Ultra parts instead of silicon that doesn't exist. The N1 chips are still the goal. They've just moved to the page that lays out what building them would take.
Aero™ hardware
Noctic is exploring four computers (the Aero™ and Aero™ Neo desktops and the AeroBook™ Nano and AeroBook™ Pro laptops) running AXESS OS, our own Linux-based system with the Glass UI.
Noctic™ becomes the parent brand
Shiba and Cadence come together under one company, one account and one ecosystem site.
Continue with Noctic
OAuth 2.0 sign-in opens to first-party apps, with scoped consent and revocable access.
Parable 1
Our own model, trained independently. Six effort tiers from Economic to Ultra, visible reasoning, and Agent Mode for multi-step work.
Cadence beta
Feed, calendar, notes, channels, DMs, reels and verified school registration. Public release NOWW!! 1,
2026.
For press.
We're a small team, so press emails go to a person, not an agency. Expect a reply within a working day, including a straight answer when the answer is no.
Interviews
Available for product, education technology and privacy stories. Tell us your deadline in the first
email.
Assets
Logos, product shots and screenshots on request. Usage rules are on Brand and the
legal position is under Trademarks.
Fact checking
Send us the claim and we'll confirm or correct it before you publish. It's free and quick.
Schools
We won't put a school or a student in front of a journalist. Any campus story goes through the school's own communications team first.
Embargoes
We respect them and expect the same. Everything not under embargo is already on this page.
Each row exists because something would break without it.
Account details
Name, email and a verified date of birth. The date of birth sets the assistant's behaviour tier; it is
not shown to other users.
What you write
Conversations, notes, posts and messages. Stored so you can come back to them, and readable by you.
School membership
Which campus, grade or homeroom you belong to, so the right channels appear and the wrong ones do not.
Plan and billing
What you pay for and when it renews. Card details are handled by the payment processor and never reach
us.
Security signals
Sign-in attempts and rate-limit counters, kept briefly, used to stop account takeover and abuse.
Diagnostics
Optional and aggregated. Error and performance counts with no advertising identifier attached.
What we do not do.
No advertising
None in any product, on any plan. There is no advertising business here to compromise the rest.
No selling data
We do not sell, rent or trade personal information, and we are not part of any identity graph.
No training on private content
Your notes, messages and assistant conversations are not used to train models.
No silent expansion
A connected app gets the scopes you approved. New scopes require asking you again.
No background tracking
We do not follow you around the web, and we do not read location when the app is closed.
No shadow profiles
We do not build records about people who have never had an account with us.
What you can do about it.
1
See it
Ask for a copy of what is held against your account. The button in Settings gives you your
profile, your preferences and your devices straight away; anything beyond that, including
conversations and school data, comes by request and by hand.
2
Correct it
Fix anything wrong, including a date of birth entered incorrectly at sign-up.
3
Revoke it
Cut off any connected app from account settings. Access ends immediately, not at the next renewal.
4
Delete it
Delete the account and its content from settings, in any product. No retention call, no exit survey.
Requests are answered within seven days and completed within thirty. Where a request comes from a parent
about a student, we verify the relationship first — the detail is on
Children and Students.
How long we keep things.
Your content
Until you delete it or delete the account. We do not expire your own material to save space.
Deleted content
Removed from the live service immediately and purged from backups on the backup rotation.
Security logs
Kept briefly, then discarded. Long enough to investigate an incident, not long enough to be a record
of you.
Billing records
Kept as long as tax and accounting law requires, and no longer.
Moderation records
Kept while the account exists, because a safety decision without a record is not reviewable.
School ID scans
Deleted the moment the check finishes. The card is scanned only to verify a student for the Cadence
feed; we keep the yes or no and the school, never the image.
If you like owning a product from start to finish, this is that.
Applied AI engineer
Full-time · Remote
Turn what the model can do into product behaviour that holds up in front of teenagers. Evaluation, refusals, latency budgets, and the difference between a demo and something a school trusts.
Design engineer
Contract · Remote
Design in the browser, not in a file. Interface work across Shiba, Cadence and this site, with strong opinions on type, motion and what to leave out.
Education partnerships
Part-time · Remote
Sit between schools and the product. Run campus onboarding, answer the questions districts actually ask, and bring the awkward ones back to us instead of smoothing them over.
Security engineer
Full-time · Remote
Access control, keeping schools separate, key handling and abuse resistance on a platform full of minors. You'll be able to block a release, and we expect you to.
iOS/Android engineer
Full-time · Remote
Native apps for Cadence and Shiba. Offline behaviour, notifications that respect quiet hours, and the kind of performance work that never shows up in a screenshot.
Ten teams, none of them big. Every open role above is in one of these, and you're expected to wander into the others.
Core OS
6 people · Hiring
Identity, keeping schools separate, the data layer and the background work every product sits on. If the wall between two schools has to hold, it holds here first.
Web
4 people · Hiring
This site, the console and the dashboard. Server-rendered, fast on a school laptop, and readable without JavaScript where we can.
Apps
3 people · Hiring
Native iOS and Android for Cadence and Shiba. Offline behaviour, notifications that respect quiet hours, and performance work that never shows up in a screenshot.
Applied AI
4 people · Hiring
Model behaviour as part of the product: evaluation, refusals, latency budgets and the gap between a demo and something a school will trust on a Monday.
Infrastructure
2 people · Not hiring
Deploys, monitoring, on-call and the bill. The team that finds out first, and would rather find out from a graph than from a student.
Security & Trust
3 people · Hiring
Access control, key handling, abuse resistance and the appeals process. Can block a release and is expected to.
Design
2 people · Hiring
Design engineering, not handoff. Type, motion, density and a never-ending argument about what to leave out.
Data
2 people · Not hiring
Instrumentation, experiments and real numbers. That includes telling the rest of us when a result we liked doesn't survive a second look.
Education Partnerships
2 people · Hiring
Between schools and the product. Campus onboarding, the questions districts actually ask, and bringing the awkward ones back to us.
Words
1 person · Hiring
Docs, the Field Guide, error messages and release notes. Anything a user reads that isn't a button gets written here.
Not sure where you fit? Tell us what you'd want to own and we'll figure it out.
Remote and written first. The team can be anywhere on this.
You own the surface
Not a ticket queue. You take a product area, decide what it should be, and you're the one who answers when it breaks.
Remote and asynchronous
Written first, with a couple hours of overlap instead of a calendar full of meetings. Decisions get written down so nobody has to have been in the room.
Ship to real users
Cadence is in a real school while it's in beta. Feedback comes from students the same week you ship, which is uncomfortable and super useful.
Slow on the parts that matter
Privacy, minors and key handling don't get a shortcut. Everything else is expected to move fast.
The hiring process.
You write to us
A short note about what you've built and what you'd want to own here. No cover letter.
A conversation
Forty-five minutes on your work and ours. You'll talk to someone who can answer technical questions.
A real problem
A real piece of work from something we're actually building, done on your own time and paid. No algorithm puzzles and no unpaid weekend projects.
Decision
An answer within a week either way, with a reason. We don't leave people hanging.
What we look for.
Evidence over credentials
Something you made that we can look at counts for more than where you went to school. No role here needs a degree.
Comfort with ambiguity
Most problems show up as a complaint from a real user, not a spec. Turning that into a decision is the skill.
Writing
A remote team runs on written arguments. If you can explain a trade-off in a paragraph, you'll do well here.
Judgement about minors
Every role touches a product teenagers use. We look for people who treat that as a responsibility, not an annoyance.
Questions we get asked.
Do you sponsor visas?
All roles are remote, set up as either employment or contract depending on where you live. Tell us your location early and we'll be straight about what's possible.
Do you hire students or junior engineers?
Yes, if the work fits. What we care about is proof you've built and shipped something, not years of experience.
Is the trial project paid?
Always. It's sized to a few hours and you keep the work no matter how it goes.
Do you work with recruiters?
No. Candidates sent to us without being asked get deleted unread.
What if none of the roles fit?
Write anyway. Tell us what you'd build and why it belongs here. A few of the roles above started as exactly that kind of message.
Noctic research turns reasoning, multimodality and agents into useful product behaviour, not spectacle for its own sake.
Our research is small and applied. We study the parts of AI that change how a product feels: how a model plans, grounds answers in real sources, uses tools, recovers from a wrong first step, and knows when a person should be brought back in. One strand isn't about models at all. Noctic Silicon is our long-range work on the processor underneath.
Graded deliberation
Choose an effort tier
Chain length 3 stepsLatency 1.4sRelative cost 1x
Same question, six budgets. The tier decides how long the model thinks before it commits to an answer.
AI built for the real world.
Attention, drawn in text: in “the cat sat down because it was tired”, the word “it” looks back at every word before it, and looks hardest at “cat”.
Graded deliberation
Six effort tiers, from Economic to Ultra. The same question can cost a fraction of a cent or kick off a long chain of thinking, and the user decides.
Legible reasoning
In-between steps are summed up into something a person can check, not dumped raw or hidden completely.
Agentic execution
Planning, picking tools, multi-file code and fixing its own mistakes, judged on whether the program actually runs.
Grounded multimodality
Photographed timetables, scanned handouts, charts and panoramas. Vision that has to handle a bad phone photo taken in a classroom.
Tool use with boundaries
Models should know what they can check, ask before doing anything big, and leave a clear trail of what they changed.
Personal context
A useful assistant remembers the right context without turning someone's private life into a mystery training set.
How we evaluate.
Task completion
Did the program compile, run, and do what was asked? No partial credit.
Cost per solved task
Effort tiers only help if a cheaper tier handles most work. We track where that line is.
Recovery rate
How often the model catches its own wrong turn without being told.
Refusal quality
Refusing the right things and explaining why, without refusing normal work.
Real usage
Cadence runs in a real school during beta. Real-world failures matter more than test scores.
Model line.
Parable 1
Current general model, trained independently by Noctic. Reasoning, code, vision, voice. Six effort tiers and Agent Mode.
Cadence AI
Applied layer for education, powered by Shiba. Timetable extraction, notes, flashcards, summarisation.
Noctic Image
Image generation and editing, including equirectangular panorama output.
Noctic Voice
Low-latency speech in and out for call mode, tuned for interruption instead of monologue.
The longest-term thing we work on, and the only one measured in years, not releases: our own RISC-V processor.
Everything above is software research, where a wrong answer costs an afternoon. Silicon is the opposite: a mistake caught late costs a mask set and a year. So this strand is slow on purpose, fully public, and currently living in a software simulator, not a fab. It's the most ambitious project at Noctic and the one most likely to fail, and we'd rather publish the plan with the failure modes attached than act like we're further along.
Why it belongs in research
Because it's not a product and won't be one for a long time. It's a question (can a small team design a useful RISC-V core?) being answered in the open, one stage at a time.
Where it's now
N1 Bionic is designed and runs in a software simulator, with a functional and cycle-approximate model behind it. Nothing on an FPGA yet, no test chip back, no foundry, no licence, no date. Zero chips taped out.
What it's for
Firmware we can read, a scheduler and cores designed to agree with each other, memory decisions that belong to us, and a published errata list. Aero™ runs Intel Core Ultra until then.
How it's evaluated
Same as everything else here: against a reference model, instruction by instruction. A core that disagrees with the spec on one edge case doesn't ship.
Mildly relaxed language. Mature and harmful categories stay closed.
18 and over
Adult tone available. Illegal, harmful and exploitative categories remain refused at every age.
Unverified
Treated as the strictest tier until a birthday is confirmed on the account.
What we refuse, always.
Sexual content involving minors
Zero tolerance no matter how it's framed, including fiction and hypotheticals. Attempts are preserved, escalated and reported. Below is what that means in practice.
Self-harm instruction
The assistant redirects to crisis resources and won't provide method information.
Weapons and biothreats
No synthesis routes, no device construction, no uplift for mass-casualty capability.
Targeted harassment
No content written to intimidate, dox or degrade a named person.
Academic dishonesty
Study tools explain and quiz. They won't submit graded work on a student's behalf.
Fraud and malware
No phishing kits, no credential harvesters, no ransomware, regardless of framing.
Moderation in practice.
Reporting
Every post, message and AI response can be reported right where you see it.
Review queues
Reports go into a queue with a full history of actions. Every decision traces back to a named moderator.
School moderators
Verified staff can moderate their own campus without seeing private notes or direct messages.
Appeals
Suspended accounts get told why and get a way to appeal through the Field Guide.
No warning. No strike count. No appeal. No exception for a first offence.
Everything else on this page is a scale. Sexual content involving minors, and any attempt to use our products to reach, groom or exploit a child, is completely outside it. There's no version of that we manage, moderate or educate someone out of. We remove the account, we keep the evidence, and we hand it to the people whose job is to act on it.
What happens, and how fast.
The account is frozen
Access ends the moment the report is confirmed. The account can't post, message or reach any student while it's reviewed, and it's not restored during an appeal, because there is no appeal.
A person reviews it
Nothing in this category is decided by an automated system alone. A trained staff member reviews the report, and that review comes before every other item in every queue.
Evidence is preserved
Content, account records, sign-in history and identifiers are put under legal hold. Deleting a message, a conversation or the whole account doesn't remove anything that's already been preserved.
It's reported to the authorities
We report to the national child protection body for the jurisdiction and to law enforcement, as the law where we operate requires. It's not optional and it doesn't wait for a court order.
The account is terminated
Termination covers the whole ecosystem, not one product. Every connected app, API key and active token on that account is revoked at the same time.
Return is blocked
Trying to come back under a new name counts as part of the original conduct and gets reported again. Deleting an account doesn't reset anything and never has.
The consequences, stated plainly.
We'd rather anyone thinking about this reads the list before they try it, not after.
Permanent loss of access
Every Noctic product, forever. Not a suspension, not a cooling-off period, and not something that expires after a year.
No appeal
Every other enforcement decision we make can be appealed to a person. This one can't. It's the only category like that, and it's on purpose.
Referral to law enforcement
Reports go to the police service with jurisdiction and to the national reporting body, with the preserved material attached, not just described.
Full cooperation with investigations
We respond to valid legal process quickly, we don't make investigators fight us for records they're entitled to, and we have a named contact who handles only this.
Records survive the account
Material under legal hold is kept for as long as an investigation or prosecution needs it, no matter what deletion request comes in. A deletion request isn't a way to destroy evidence.
Civil action
If someone used our products to hurt a child, we'll go after every remedy we have, and we'll support a family or school going after theirs.
Notification to the school
If a student at a registered campus was targeted, the school's safeguarding contact is told directly and right away, not in a monthly report.
No quiet settlements
We never offer reinstatement in exchange for silence, and no business deal is big enough to change any line in this section.
Grooming is not a grey area.
Explicit content is the end of a process, not the start. The behaviour that leads there is itself a reason to terminate, and we act on it without waiting until it's undeniable.
Adults seeking private contact with students
An adult account attempting to open private conversation with minors it has no legitimate reason to
contact.
Moving a child off-platform
Pushing a student towards another service specifically to continue without moderation or a record.
Requests for secrecy
Asking a student to hide a conversation from parents, teachers or friends, in any wording.
Isolation and dependency
Positioning an adult as the only person a student can talk to, or discouraging them from telling
anyone.
Gifts, money and offers
Anything offered to a minor in exchange for contact, images, silence or continued attention.
Sexualising a real child
Including through the assistant, including in fiction, including in a hypothetical, and including
where the request is framed as a test of the system.
We don't publish how any of this is detected. Explaining it in public would only help the people it's meant to catch, and no amount of transparency is worth that.
The child comes first, not the case.
Going after the offender is the easy half. What matters is what happens to the student after.
No paperwork burden on a minor
We put the record together ourselves from what we already have. A student is never asked to collect evidence, re-read what was sent to them, or tell us what happened more than once.
The account isn't punished
A student who was targeted keeps their account, their notes and their standing. Being a victim isn't a policy violation and is never recorded as one.
Contact is severed properly
The offending account is blocked from every route to that student, including new accounts, before the
student is told anything has happened.
The school is brought in
The campus safeguarding contact is told directly, so the people who see that student every day can help in person instead of finding out later.
Guardians are supported
A parent or guardian gets a real person to talk to, a clear picture of what we have, and help making the report themselves if they want to.
Images can be removed
If intimate images of a minor exist, we help the family reach the specialist services that get them taken down across the whole internet, not just from us.
Specialist help exists and it's free. In Canada, Cybertip.ca and the Canadian Centre for Child Protection. In the United States, the National Center for Missing & Exploited Children. In the United Kingdom, the Internet Watch Foundation and CEOP. We'll make the introduction and stay involved, not just hand over a link.
If you need to report this now.
1
If a child is in immediate danger
Call your local emergency services first. We can't reach them faster than you can.
2
Report it in the product
Use the report control on the message or account. Reports in this category jump every queue.
3
Or write to us directly
Through Contact, marked urgent. This is monitored outside working hours.
4
Don't investigate it yourself
Don't confront the account, collect images, or ask a child to keep a conversation going. Don't save anything yourself. We already have it, and handling this material can put you at legal risk.
Reports made in good faith that turn out to be wrong never get the person in trouble. We'd rather read a hundred reports that turn out to be nothing than miss the one that isn't.
In plain English: what is a redirect URL (and where do I find mine)?
A redirect URL is just the page on your own website that people land on right after they press “Continue with Noctic”. We don't give it to you. You choose it, because it's a page in your app.
How to pick one, step by step:
1. Think of the address of your app, for example https://myapp.com. 2. Add a page
that will receive the sign-in result, for example /auth/callback. 3. Put them
together: https://myapp.com/auth/callback. That's your redirect URL. 4. Open
Register an app, paste that exact address into the “Redirect URIs”
box, and save. 5. If you're still building on your own computer, also add
http://localhost:3000/auth/callback (use whatever port your app runs on).
Rules that trip people up: it must match character for character. https isn't
the same as http, and a trailing slash counts. Add every address you use (local, staging,
live) as separate entries.
Where do I find my Client ID and Client Secret?
Go to Developers → API keys. Every app you've registered is listed there with a Copy button for the Client ID. The Client Secret is only shown once, right after you register an app. If you lost it, press Roll secret on that app and a fresh one appears.
Client ID = public, fine to put in your web page. Client Secret = private, only ever use it on your server. Never paste a secret into front-end code or a public repo.
Add “Continue with Noctic” to my app in 5 steps.
1. Register your app and copy the Client ID and Secret. 2. Add
your redirect URL (see the article above). 3. Send people to the sign-in link. Build it with the
Authorisation URL builder. 4. We send them back to
your redirect URL with ?code=shc_… in the address. 5. On your server, swap that code
for tokens. Test it first with the
Token exchange tester. Then read the person's details
with the Userinfo explorer.
What are scopes, and which should I ask for?
Scopes are the boxes the person ticks when they approve your app. identity gives you a
stable user ID. profile adds name and avatar. email adds the email address.
api allows calls on their behalf. Ask for the fewest you need. Shorter consent screens
get approved more often.
What is PKCE and do I need it?
PKCE is a small extra safety step for apps that can't keep a secret, like mobile apps and pure browser apps. Generate a pair with the PKCE generator, put the challenge in the sign-in link and keep the verifier in memory, then send the verifier when you exchange the code. If your app has a server that can hold the Client Secret privately, you don't need PKCE.
What is “state” for?
State is any random text you make up. You put it in the sign-in link, we hand it back untouched, and you check it matches. If it doesn't, someone else started that sign-in and you should ignore it.
How long do tokens last, and how do I refresh them?
Access tokens last one hour. Refresh tokens last thirty days and are replaced each time you use one.
Paste any token into the Token inspector to see its
exact expiry. To refresh, call the token endpoint again with grant_type=refresh_token.
Error: “redirect_uri_mismatch”. How do I fix it?
The address in your sign-in link isn't exactly the same as one saved on your app. Copy the address from the error, open API keys, and paste it in exactly. Look for http vs https, www vs no www, a different port, a trailing slash, or capital letters.
Error: “invalid_client”.
The Client ID or Secret is wrong, has extra spaces, or belongs to a different app. Copy both again from API keys. If the secret was ever shared, roll it.
Error: “invalid_grant” or “code expired”.
Authorisation codes are single-use and expire after sixty seconds. Exchange the code right away on your server, and never reuse one. Refreshing the page after sign-in also reuses the code, and that's the most common cause.
My developer tool says “Network error”.
It's almost always one of three things: you're offline, an ad blocker is blocking the request, or you're calling from a page that isn't allowed. Try again in a normal browser tab, and if it keeps happening send us the exact request through Contact.
How do I verify a webhook we send you?
We include a header X-Noctic-Signature: sha256=…. Take the raw request body, sign it with your signing secret using HMAC-SHA256, and compare. The Webhook signature tool gives you the exact value so you can check your code matches.
Are there rate limits?
Sixty sign-in requests per minute per app and six hundred API calls per minute. Go over and you get HTTP 429 with a Retry-After header. Wait that many seconds and try again.
Can I test without publishing my app?
Yes. Register the app, add a localhost redirect URL, and sign in with your own Noctic Account. Nothing's public until you share the link.
What is a Noctic Account?
One sign-in that works across everything we make. It carries your name, avatar, plan, verification status and the permissions you've given connected apps. Make it once at Sign in.
I forgot my password.
Open the sign-in page, enter your email and ask for a reset link. The link expires after an hour and only works once. If it doesn't show up within a few minutes, check spam and make sure it's the address on the account.
What are the password requirements?
At least eight characters, with an uppercase letter, a number and a special character. We also check the password against known breach lists using a privacy-safe hash prefix, so a password that's already leaked can't be used here.
How do I change my email address or name?
Open Noctic Account. Changing your email sends a confirmation link to the new address. The change only happens once you click it, so the old address keeps working until then.
How do I see and remove apps connected to my account?
Noctic Account lists every app you've given access to, what it can see, and a Revoke button. Revoking is instant and its tokens stop working right away.
How do I delete my account?
Account settings in any product has a delete option. Deleting removes your profile, posts, notes and generated content across everything. It can't be undone, and it's done within thirty days.
It says my email is already registered, but I have never signed up.
Usually the account already exists from another Noctic product, since one account covers all of them. Use “Forgot password” on the sign-in page to take control of it. If that email isn't yours, tell us through Contact.
What do the plans cost?
Free is free. Noctic Plus is three hundred and ninety dollars a year and Noctic Pro is seven hundred and seventy-nine, both covering Shiba, Cadence and Momentum. Drop an app you won't use and the price drops too. See Pricing to build yours.
What happens if a payment fails?
Access is cut right away, not quietly kept going on a lower tier. Update the card and the plan comes back on the next successful charge.
How do I cancel?
Cancel from billing settings. It goes through right away and you keep the plan until the end of the current period. No "are you sure" flow and no cancellation fee.
Can I get a refund or an invoice?
Invoices are in billing settings and get emailed after each charge. For a refund, write to us through Contact within fourteen days of the charge and tell us what went wrong.
What are treats?
Treats are the daily usage allowance on the Free tier. Higher effort tiers use more treats per request, from a quarter of the base cost at Economic up to eight times at Ultra. Treats reset daily.
What do the effort tiers do?
They control how long the model thinks before answering. Economic is near-instant and cheap. Ultra runs a long chain of reasoning for hard problems. Most everyday questions are fine at Low or Medium.
Can I see the reasoning?
Yes. The thought process is summed up and shown above the answer. It's a summary, not the raw chain, because raw chains are long and often misleading out of context.
What is Agent mode?
Agent mode lets Shiba plan a task, run a few steps in a row and check its own work before answering. Use it for long jobs like building a page or reworking a document. Use normal chat for quick questions.
Replies are slow or cut off.
Drop the effort tier one step, shorten really long attachments, and check Service status. If one prompt always fails, send it to us through Contact and we'll look at that request.
How do I register my school?
Open Cadence, pick your campus, and scan a real student or staff ID card. The scan is checked before the school is created. Fake cards get rejected and the attempt is logged.
How do I import my timetable?
Take a photo of the printed schedule, or upload a PDF, from the calendar screen. It's read on our server and turned into real calendar entries you can edit after.
My timetable import failed.
Make sure the whole page is in frame, the text is in focus, and the file is under ten megabytes. Photos of screens often blur, so a PDF works best. Try again, then contact us with the file if it still fails.
How do I get verified?
Verification is free. Scan a valid ID card during school registration. Verification you earn in one product counts everywhere.
How do reposts and channels work?
A repost shows a small “you reposted” header on the original post and your followers can see it. You're added to school and grade channels automatically once your school is confirmed, and you can leave any channel from feed settings.
How do I install Cadence on my phone?
Open the download page in Cadence. Android gets an APK. Your phone will warn that it's not from a store, which is expected for a direct download. iPhone uses Add to Home Screen from the share menu.
How do I add Continue with Noctic to my app?
Register an app to get a client ID, a secret and your redirect URIs, then run a normal OAuth 2.0 authorisation code exchange. Full steps are on the Developers page.
Which scopes exist?
Identity, profile, email and api. The user approves each one separately on the consent screen and can revoke them any time from account settings.
Do you train on my content?
We don't use private notes, direct messages or encrypted conversations for training. The Privacy Policy has the full rundown of what we process and why.
How do I report abuse?
Use the report button on the post, message or response. Reports go into a moderation queue with an audit trail. Urgent safety stuff can also go through Contact.
How do I get a copy of my data?
Ask through Contact and pick the privacy topic. We send back a machine-readable export within thirty days, for free.
How do I report a vulnerability?
Send the details through Contact with steps to reproduce it. We confirm every report and don't go after researchers acting in good faith. Details are on the Security page.
Nothing loads, or a page looks broken.
Go in this order: reload the page, check Service status, sign out and back in, then try a private window with extensions off. Still broken? Send us the page address and a screenshot through Contact.
Noctic checks which system you're on and shows that system's keys. You're on your device, so the modifier below is the modifier key. Open the full list any time with .
Search everything
Jump to any page, or run a command like switching the colour scheme.
Search without the modifier
Works anywhere you aren't typing into a field.
This list of shortcuts
A panel over the page, with the keys written for your system.
Close anything open
Palette, menus, date pickers, confirmations. All of it.
Go straight to a page
Press and then one more key. You've got about a second and a half for the second press.
Home
Products
Research
Ecosystem
Developers
Noctic Account
Settings
Company
Field Guide
Why is there nothing on the Windows or Super key?
Because it wouldn't work. Your operating system grabs those keys before a web page ever hears about them, so a shortcut using either would just do nothing. Off the Mac we use Control instead, which a browser tab can actually get.
It's showing the wrong system's keys
We go by what your browser tells us. A browser in compatibility mode, or a remote desktop session, can report the host machine and not the one in front of you. Everything still works. Only the labels are wrong.
Do these clash with my browser's own shortcuts?
We stayed away from the combos browsers keep for tabs, windows, bookmarks and printing. is used by some address bars, and we take priority on this site the same way other web apps do.
Can I turn them off?
The single-key ones never fire while you're typing in a field, which is the thing people actually trip over. If they still get in your way, tell us at contact and we'll add a switch to Settings.
Is there anything for screen readers?
The palette is a labelled combobox with a listbox of results, the panel is a modal dialogue, and focus
returns to wherever you were when either closes. More in Accessibility.
Checked live, from your browser, every thirty seconds.
Checking every service…
Checking…
Platform
AI
Apps
Rows with a timing were measured from this browser a moment ago, so they reflect the path between you and us. A slow network on your end will show here too. Rows marked Reported by Noctic come from us. An endpoint answering doesn't prove the feature behind it works, so a declared incident always outranks a probe. Incidents are posted here first and summarised later in the Newsroom.
What each level means.
Operational
Working normally. Normal ups and downs in speed aren't an incident and we won't post about them.
Degraded
Usable but slower or flakier than it should be. Some requests fail and then work on retry.
Partial outage
One feature or one region is down while the rest keeps working.
Major outage
A core service is down for most people. Posted within fifteen minutes of us confirming it.
Maintenance
Planned work with a start and end time, announced at least three days ahead.
How we handle an incident.
The trip every request makes, drawn in text. It isn’t live data. The live checks are at the top of this page.
We say something
A first post as soon as we've confirmed the problem, even if we don't know the cause yet. Silence is worse than an incomplete update.
We keep saying something
Regular updates while the incident is open, whether anything's changed or not.
We mark it fixed
Only once it's actually fixed for everyone, not when it just looks better on our side.
We write it up
Anything that hit a major outage gets a plain-English write-up in the Newsroom: what broke, who it hit, and what we changed so it doesn't happen again.
Maintenance and schools.
Never during school hours
Planned work stays out of the school day wherever Cadence is used. Nothing gets touched at the start of term.
Announced in advance
At least three days' notice here, and a note in the campus channel where a school is affected.
Read-only first
When we can, the calendar and existing posts stay readable while we work on everything else.
Told directly
School admins hear from their named contact, not from this page.
Seeing a problem that isn't listed? Tell us through Support. A report from one person is often how we find out.
Noctic, always capitalised. Use the trademark symbol on first prominent use: Noctic™.
Products
Shiba AI, Cadence, Noctic Account. Never hyphenate or abbreviate them.
Clear space
Leave at least the height of the mark as empty space on every side.
Colour
Black on light surfaces, white on dark surfaces. No gradients, no shadows, no outlines added to the
mark.
Don't
Recolour it, rotate it, stretch it, animate it, put it inside another shape, or lock it up with someone else's logo.
Endorsement
Don't use our marks in a way that suggests we partner with, sponsor or approve of you without written permission.
Writing the name.
Most brand mistakes are about type, not graphics.
Correct
Noctic. Shiba AI. Cadence. Noctic Account. Continue with Noctic.
Incorrect
NOCTIC, noctic, Noctic.ai, Noctic AI, Shiba AI™ on every mention, Cadence App.
Trademark symbol
Once, on the first big mention in a document. Not in headlines, and not every time after.
As a verb or noun
Our names are adjectives. Write "the Cadence calendar", not "Cadence it" or "send me a Cadence".
Possessives and plurals
Avoid both. Write "the Shiba AI assistant" instead of "Shiba AI's assistant" or "Shibas".
Translation
Product names aren't translated or transliterated. They stay as written in every language.
The mark.
Minimum size
Never smaller than sixteen pixels on screen or five millimetres in print. Any smaller and the drop stops looking like a drop.
Clear space
At least the full height of the mark on every side, kept free of type, rules and other logos.
Backgrounds
Solid, calm backgrounds. Not on busy photos, not on a gradient, not on another logo.
One colour only
Black on light, white on dark. There's no brand colour version of the mark, so please don't make one up.
Never redrawn
Use the file we give you. Don't trace it, re-letter it, or rebuild it from a screenshot.
No lockups
Don't put the mark next to your own logo as one unit. Keep them apart, or just use text.
Colour and type.
Ink
#1D1D1F on light surfaces. #F5F5F7 on dark. Pure black is reserved for full-bleed dark sections.
Accent
#0071E3, used for actions and links only. It isn't a decorative colour and not a background.
Surfaces
#FFFFFF and #F5F5F7 in light appearance; #000000 and #101010 in dark.
Typeface
The system sans on each platform. If you need a substitute, use Helvetica or Arial, never a display
serif.
Setting
Sentence case everywhere, tight letter-spacing on headlines, and no all-caps product names.
Screenshots and press use.
Use real screens
Take the screenshot from a current build. Don't mock up an interface and pass it off as ours.
Don't edit the interface
Cropping and scaling are fine. Changing labels, colours or numbers inside the screenshot isn't.
Blur other people
Cadence screens often have students in them. Remove names and faces before publishing anything.
Ask for assets
Logos, product shots and fact-checking go through the press contact on Contact.
What we cannot approve.
Merchandise carrying the mark.
The mark or a product name inside your own logo, app icon, domain or social handle.
Any use that implies certification, a partnership or an official integration that doesn't exist.
Comparative advertising that puts our mark next to claims about our products.
Use in political, religious or campaign material of any kind.
For anything else, just ask. Requests go to the press contact on Contact and usually get answered within a few days. The legal side is under Trademarks.
The notice and counter-notice process is on the Copyright page.
How we handle changes.
1
Dated, always
Every policy carries the date it last changed at the top. Nothing is edited quietly.
2
Notice before it counts
Material changes are announced at least thirty days before they take effect.
3
In plain words
Announcements say what changed and why, in the Newsroom, not only in the diff.
4
You can leave
If you do not accept a change, delete the account before it takes effect and nothing new applies to
you.
Requests from authorities.
We require valid legal process for user data. We tell the affected person unless we are legally prohibited
from doing so, we read every request for scope and push back on the ones that are too broad, and we do not
provide bulk or standing access to anyone.
Emergencies involving a risk to life are handled immediately and reviewed afterwards. Requests go to the
legal contact on Contact.
These terms govern your use of Noctic™ products, including Shiba AI, Cadence, Noctic Compass and
the Noctic Account. By creating an account or using a product, you accept them. If you do not accept
them, do not use the products. Noctic is operated by Nicholas Steiche, carrying on business as Noctic, in
Montreal, Quebec, Canada.
1. Eligibility and accounts
You must be at least thirteen years old to create an account, and old enough to consent to data
processing where you live. You are responsible for the security of your credentials and for everything
done through your account. Provide accurate information, including your date of birth, because product
behaviour depends on it. We may suspend or close accounts created with false information.
2. Your content
You keep ownership of what you write, upload and generate. You grant us the limited licence needed to
store, transmit, display and process that content in order to operate the products you asked for. That
licence ends when you delete the content, apart from copies retained in backups for a limited period or
where retention is legally required.
3. Generated output
Subject to these terms, you own the output the models produce for you. Output may be inaccurate, may
resemble output given to others, and must not be relied on as professional, legal, medical or financial
advice. You are responsible for reviewing output before you use it, publish it, or submit it anywhere it
matters. The AI Policy explains the models' limits and what they may be used for.
4. Acceptable use
Your use must comply with the Acceptable Use Policy and, in shared spaces, the
Community Guidelines. We may remove
content, restrict features, or suspend accounts that breach it, and we will tell you the reason where we
are permitted to.
5. Plans, billing and cancellation
Paid plans renew on a yearly cycle until cancelled. A plan covers the applications you selected when
you bought it; applications you did not select remain on their free tier. Prices are shown before
purchase and may change with notice ahead of a renewal. If a payment fails, access to paid features is
revoked immediately rather than silently downgraded. Cancellation stops the next renewal and takes
effect at the end of the paid period. Refunds follow the Refund and Cancellation
Policy. Campus agreements are governed by their own ordering document.
6. Free tier and fair use
Free accounts receive a daily allowance. We apply rate limits, abuse detection and minimum account-age
rules to prevent automated farming of that allowance. Circumventing these controls is a breach of these
terms.
7. Schools and organisations
Where a school or organisation licenses a product for you, an administrator may manage your access,
moderate shared spaces, and see participation data. Administrators cannot read private notes or direct
messages. Their agreement with us governs where it conflicts with these terms.
8. Third-party applications
Applications that use Continue with Noctic receive only the scopes you approve. Those applications are
operated by their developers, not by us, and their handling of your data is governed by their own terms. Their developers are bound by the Developer
Terms and the Developer Data Policy.
Revoke access at any time from account settings.
9. Intellectual property
We keep all rights in the products, models, software, designs and marks. Nothing here transfers those
rights to you. See Trademarks for permitted use of our names and logo.
10. Beta products
Products marked beta or preview, including Cadence before its public release now, are provided as they
are. They may change, break or be withdrawn, and they carry no availability commitment.
11. Disclaimers and liability
To the fullest extent permitted by law, the products are provided without warranties of any kind, and
our aggregate liability is limited to the greater of the amount you paid us in the twelve months before
the claim arose and one hundred Canadian dollars. Nothing here limits liability for intentional or gross
fault, for bodily or moral injury, or any other liability that cannot lawfully be limited, and nothing
here removes a right you hold under the Quebec Consumer Protection Act.
12. Suspension and termination
You may stop using the products and delete your account at any time. We may suspend or terminate access
for breach of these terms, for legal reasons, or to protect other users. Where we terminate without
cause, we refund the unused portion of a paid period.
13. Changes
We may update these terms. Material changes are announced before they take effect, and continued use
afterwards means acceptance. The date at the top always reflects the current version.
14. Governing law
These terms are governed by the laws of Quebec and the federal laws of Canada that apply there. The
courts of the judicial district of Montreal have jurisdiction, except where the law of the place you
live gives you the right to bring proceedings at home.
This policy explains what Noctic™ collects, why, how long we keep it, and what you can do about
it. It applies to Shiba AI, Cadence, Noctic Compass, the Noctic Account and this website.
Date of birth, used to apply age-appropriate behaviour and protections.
Content you create: messages, prompts, notes, posts, uploads and generated results.
Verification material: identification card scans submitted for school registration.
Payment records. Card numbers are handled by our payment processor and never reach our servers.
Information we collect automatically
Usage and diagnostic data: feature use, error reports, request counts and timing.
Device and connection data, including internet protocol address, used for security and rate limiting.
2. Why we process it
To provide the product you asked for, which is the performance of our contract with you.
To keep accounts and shared spaces safe, which is our legitimate interest and, in places, a legal
obligation.
To bill you and keep financial records.
To improve reliability and quality, using aggregated or de-identified data wherever it is sufficient.
With your consent, where consent is the appropriate basis, which you may withdraw at any time.
3. Training
We do not use private notes, direct messages, or conversations held in encrypted mode to train or
fine-tune models. Where we use any content to improve quality, it is de-identified first. The training preference in
Settings is currently saved on the device you set it on and is not yet carried to our servers, so treat it
as a statement of preference rather than an enforced control until this policy says otherwise.
4. Identification scans
A school identification card is collected for one purpose: to confirm that the holder is a currently
enrolled student, so that a verified account can take part in the Cadence social feed. The scan is read
by the verification model and then deleted immediately once the check completes —
whether it passed or failed. We keep the outcome, the school it named and the date, and nothing else.
The image is never shown to other users, never shown to school staff, never used to train a model, and
never retained as a record of identity. There is no archive of student cards to request, to leak or to
be compelled to hand over, because after the scan there is nothing left to hand over.
5. Sharing
We do not sell personal information, and we do not share it for cross-context behavioural advertising.
We share it only with processors who run infrastructure, payment and model services on our behalf under
contract, who are listed on the Sub-processors page, with applications you
explicitly authorise through Continue with Noctic, whose developers are bound by the
Developer Data Policy, and with authorities
where the law compels it. Where a school licenses a product, administrators see participation and
moderation data, never private notes or direct messages.
6. Protection at the database level
Sensitive fields, including date of birth, plan history and moderation records, are unreadable by other
users at the database level rather than merely hidden in the interface. Model provider keys never reach
a browser; every model call is proxied server-side and rate limited.
7. Retention
Account data: for as long as the account exists.
Content: until you delete it, then removed from live systems and purged from backups within thirty
days.
Security and abuse logs: up to twelve months.
Financial records: as long as tax and accounting law requires.
Aero™ reservations: until you cancel or the programme ends, then deleted within thirty days.
8. Your rights
Depending on where you live, you may request access, correction, deletion, a portable copy, restriction
of processing, or object to processing based on legitimate interests. Deletion is started from
account settings, which raises the request with us; it is carried out by a person rather than
instantly by the button. Other requests go to the privacy contact on the
Contact page, and we respond within thirty days. You may also complain to your local supervisory authority.
9. International transfers
Our infrastructure and processors may be located outside your country. Where that happens we rely on
recognised transfer mechanisms and contractual safeguards.
10. Children
Accounts belonging to minors receive additional protections described in
Children and Students. We do not knowingly create accounts for anyone under
thirteen, and we delete them when we discover them.
11. Who is responsible
Noctic is operated by Nicholas Steiche, carrying on business as Noctic, in Montreal, Quebec, Canada. The
person in charge of the protection of personal information, as Quebec law requires, is Nicholas Steiche,
reachable at privacy@noctic.ink.
12. Changes
Material changes are announced before they take effect. The date at the top always reflects the current
version.
We use a deliberately small number of cookies and browser storage keys. We run no advertising trackers
and no cross-site profiling.
What we set
Session token. Strictly necessary. Keeps you signed in to your Noctic Account.
Expires when the session ends or is refreshed.
Preferences. Functional. Remembers appearance, language and interface choices on this
device.
Security. Strictly necessary. Supports rate limiting and abuse prevention.
Translation. The English site is at noctic.ink, and each other language has its own
address, such as noctic.ink/fr. On your first visit we take you to your device's language if we offer
it, or, when we do not, to the language your time zone suggests. A page in another language sends its
visible text to our translation provider. Choose English and you stay on the English address, where
nothing is sent. We remember that choice on the device.
Controls
Strictly necessary keys cannot be disabled without breaking sign-in. Everything else can be cleared
from your browser at any time. Translation is the one optional thing, and it happens only on a language's
own address; to stop it, choose English from the notice, the footer or Settings.
How long each one lasts
noctic_sso
Your session, so that signing in once works across noctic.ink, account.noctic.ink and
developer.noctic.ink. It carries your sign-in tokens, your user id and your email address. Thirty
days if you asked to be remembered, otherwise until you close the browser. Cleared on sign-out.
noctic_hop
Twenty seconds. Tells the next page that you have just come from another Noctic site, so the
move between them does not flash.
Browser storage
Your appearance, language and notification preferences, the same session, and a cache of
translated phrases. Stored on the device until you clear it.
That is the complete list. There is no advertising cookie, no analytics cookie and no third-party
script on this site at all.
Browser storage, not just cookies
Some preferences are kept in local storage rather than in a cookie: your appearance choice, your
language, and a translation cache that stops the same phrase being sent for translation twice. These
stay on your device. Clearing site data removes them.
Third parties
We set no advertising cookies and embed no advertising trackers. We do not run cross-site profiling and
we do not participate in data co-operatives or identity graphs. Where a page loads something from
another service, it is because that service is doing work you asked for, such as processing a payment.
Global Privacy Control
We honour the Global Privacy Control signal where your browser sends it. We do not sell or share
personal information for advertising, so the practical effect is that we never move you to another
language on our own and do not ask you to switch: nothing is sent to our translation provider unless
you open a language's address yourself.
Consent
We set nothing beyond the strictly necessary keys and your preferences, for everyone, not only the regions
that require it. The one thing that reaches another company on its own is translation, and only on a
language's address: the first time we move you to one, a notice says so and offers English, and your
answer is remembered on that device. If your browser sends a Global Privacy Control signal we do not
move you at all.
Turning things off yourself
Every browser can block or clear cookies for a single site. Blocking the strictly necessary keys will
stop sign-in from working, which is a limitation of how sessions work rather than a choice we made.
Nothing else breaks.
Changes
If we add a cookie or a storage key, this page is updated before it ships, and the date at the top
changes. Material changes are also noted in the Newsroom.
This policy applies to every Noctic™ product and to anything built on our interfaces. It is
written short on purpose.
Do not
Create, request or distribute sexual content involving minors, in any form, at any time.
Produce instructions for weapons, explosives, biological or chemical harm.
Seek or provide methods of self-harm or suicide.
Harass, threaten, dox or impersonate a real person.
Build malware, phishing pages, credential harvesters or fraud tooling.
Submit generated work as your own where an institution forbids it.
Scrape, resell or redistribute model access outside the published interfaces.
Evade rate limits, farm free allowances, or run bulk automated accounts.
Upload someone else's personal information or identification documents.
Present model output as human-authored where doing so misleads people who need to know.
Enforcement
Depending on severity we may remove content, restrict features, suspend the account, or terminate it.
Serious matters, including material involving minors, are escalated to the appropriate authorities.
Suspended users are told the reason and may appeal through the Field Guide.
How we decide
A mistake
A refusal and an explanation. Most first contacts with this policy end here and nothing happens to
the account.
Repeated attempts
A warning naming the rule, and the feature involved may be restricted while it is reviewed.
Deliberate misuse
Suspension, with the reason stated and an appeal available.
Harm to a person
Immediate termination, no warning, and referral where the law requires it.
Anything involving minors
Immediate permanent termination across every product, evidence preserved under legal hold, and a
report to law enforcement and the national child protection body. No warning, no threshold for a
first offence, and no appeal. The full position is on Safety.
Appeals
An appeal is read by a person, not by the system that made the decision. Tell us what you were doing and
why you believe the decision was wrong. We answer within five working days and we will say plainly if
the answer is no. Decisions involving child safety are not appealable.
Schools
Conduct inside a campus is moderated by that school's own staff under the school's policy. This document
sets the outer boundary that applies everywhere regardless of what a campus permits, and we act on it
whether or not the school does.
Developers
An application built on our interfaces is responsible for what its users do through it. Apps that
systematically enable conduct on this list lose access, and apps that ship a client secret in front-end
code are suspended until it is rotated. The platform rules are on Platform.
Automated systems and humans
Some enforcement starts automatically because volume requires it. Any action that suspends or terminates
an account is reviewed by a person before it stands, and any action taken in error is reversed with the
account restored to where it was.
Reporting something
Report an account, a post or a message through the product where you found it, or write to us through
Contact. Reports about the safety of a student are handled ahead of everything
else in the queue. If you believe someone is in immediate danger, contact your local emergency services
first — we cannot reach them faster than you can.
Changes
This policy can change as products change. The date at the top moves whenever it does, and material
changes are announced in the Newsroom before they take effect.
All traffic is served over encrypted transport with strict transport security enforced.
Passwords are hashed with a slow, salted key-derivation function. We never store or log a plaintext
password.
New passwords are checked against known breach corpora using a hash-prefix lookup, so the password
itself never leaves the browser.
Row-level security governs every table, and sensitive columns are revoked from ordinary roles rather
than filtered in the client.
Server functions validate an authenticated token on every privileged call, with per-account and
per-address rate limits.
Model provider keys exist only in server-side secrets. They are never embedded in a page or bundle.
Administrative actions are recorded with an attributable audit history.
Reporting a vulnerability
Send reproduction steps, affected endpoints and impact to the security contact on the
Contact page. Please give us reasonable time to fix an issue before disclosing
it, avoid accessing other people's data, and do not run denial-of-service or automated scanning against
production. We will not pursue researchers acting in good faith under these conditions.
Out of scope
Missing best-practice headers with no demonstrated impact, self-inflicted issues requiring a compromised
device, social engineering of our staff, and reports produced solely by automated scanners without a
working proof of concept.
What to expect from us
First reply
Same day, including weekends, from a person rather than an automatic acknowledgement.
Assessment
Within three working days we confirm whether we could reproduce it and how we are rating the impact.
Critical issues
Mitigated immediately, ahead of anything else in progress.
Updates
You hear from us while it is open, not only when it is closed.
Credit
Public thanks if you want it, silence if you would rather not be named.
Good faith
We will not pursue legal action against researchers who follow the conditions above.
Special care around students
Cadence holds data belonging to minors. Please do not test against real school accounts, real student
data or a live campus. If a vulnerability can only be demonstrated that way, tell us what you believe is
possible and we will reproduce it ourselves on a test campus rather than asking you to.
If something goes wrong
In the event of a breach affecting personal data we notify affected people directly and without delay,
notify the relevant supervisory authorities within the period the law requires, tell the schools
involved before we tell anyone else, and publish a plain-language account in the
Newsroom
once people have been informed. We would rather publish an uncomfortable summary than a vague one.
What we ask of you
Use a strong, unique password. We check new ones against breach corpora, but that is a floor, not a
wall.
Keep client secrets on your server. Anything shipped to a browser is public, whatever the file is
called.
Review connected apps occasionally and revoke what you no longer use.
Treat any message asking for your password, a full API key or a session token as fraudulent. We will
never ask for them.
We target conformance with the Web Content Accessibility Guidelines, version 2.2, at level AA, across
every product we ship.
What that means in practice
Full keyboard operation, with visible focus on every interactive element.
Semantic structure and accessible names, so screen readers announce controls correctly.
Contrast ratios checked against the guideline minimums in both light and dark appearance.
Motion reduced automatically when the operating system requests it.
Text inputs sized to prevent forced zoom on mobile devices.
Captions and transcripts for spoken content where we provide it.
Known gaps
Some dense data views and the panorama viewer are not yet fully operable by keyboard alone. Work on
those is in progress.
Tell us
If something is unusable, write to us through Contact with the page and the
assistive technology you use. Accessibility reports are treated as defects, not feature requests.
What we test with
Automated checks catch a minority of real problems, so every release is also driven by hand. We test
with VoiceOver on macOS and iOS, NVDA on Windows, TalkBack on Android, keyboard-only navigation in each
supported browser, and both appearance modes at two hundred per cent zoom.
By product
This site
Fully keyboard operable, with a visible focus ring on every control and headings that describe the
page rather than decorate it.
Shiba
Conversations are a semantic list, streamed replies are announced without interrupting, and every
control has a text label as well as an icon. Reasoning output can be collapsed entirely.
Cadence
Feed, channels and calendar are navigable by keyboard and by heading. Calendar entries carry full
dates in text so a screen reader never has to interpret a grid position.
Compass
Study plans are readable as ordinary text, not only as a chart, and every suggestion states its
reasoning in words.
Things we hold ourselves to
No control that works only on hover, and no gesture without a button that does the same thing.
Colour is never the only signal. Status carries a word or a shape alongside it.
Errors are announced, described in plain language, and say how to fix the problem.
Nothing moves, flashes or auto-plays for more than five seconds without a way to stop it.
Time limits can be extended, and no session ends silently in the middle of a task.
Text can be resized to two hundred per cent without losing content or function.
Schools and accommodations
Cadence is used by whole campuses, which means it is used by students with formal accommodations. If a
student's plan requires a change we do not currently support, write to us through the school. We treat
that as a defect on the same footing as any other, and we will tell you honestly whether it is weeks or
months away.
How we handle reports
Acknowledgement
Within two working days, from a person rather than an automatic reply.
Assessment
Within ten working days we tell you what we found, whether it is a defect, and what happens next.
Blocking problems
Anything that makes a core task impossible is fixed ahead of feature work.
Everything else
Scheduled, with the date shared with you rather than kept internally.
Known gaps, in detail
Dense data views in the developer tools are not yet fully operable by keyboard alone.
The panorama viewer has no non-visual equivalent. A text description is planned.
Some long assistant outputs are announced in one block rather than in readable sections.
This list is kept current. We would rather publish an honest gap than claim conformance we have not
earned.
Cadence is used in schools, so most of the people in it are minors. These additional protections apply
to those accounts.
Minimum age
Accounts require a minimum age of thirteen. We do not knowingly serve anyone younger, and we delete such
accounts when we find them. Where local law sets a higher age of consent, that age applies.
Age-appropriate behaviour
Assistant language and topic handling are tied to the verified date of birth. Unverified accounts are
treated as the strictest tier. See Safety for the tiers.
What schools can and cannot see
Staff and administrators see channel activity, moderation reports and participation. They do not see
private notes, direct messages or assistant conversations.
No profiling, no advertising
We do not build advertising profiles of students, and we do not show advertising in any product.
Parents and guardians
A parent or guardian may request access to, correction of, or deletion of a minor's data through the
privacy contact on the Contact page. We verify the relationship before acting.
Send the student's full name, the school, the account email if you know it, and what you are asking for.
We reply within seven days and complete most requests within thirty. If we cannot verify that you are
the parent or guardian of that student, we will say so rather than release anything.
Who this applies to
A student account is any account created through a registered school, or any account whose verified date
of birth places the holder under the age of majority where they live. Staff accounts at the same school
are not student accounts, even when a teacher is in the same channel.
Where this page and the Privacy Policy differ, the stricter of the two
applies to student accounts.
What a student account holds
Identity
Name, school, grade or homeroom, and a verified date of birth used to set the behaviour tier.
School activity
Channel posts, replies, bulletin entries and anything else published to a group at the school.
Private content
Notes, direct messages and assistant conversations. Held for the student, not for the school.
Calendar
The school year plus whatever the student adds or imports from a photographed timetable.
Safety records
Reports filed, reports received, and actions taken by moderators, with the reason recorded.
Identification
The result of the student ID check and the school it named. The scan itself is deleted as soon as
the check finishes, so no card image is held against a student account.
What we never do
Keep a student's identification card. It is deleted the moment the check finishes.
Build an advertising profile, or run advertising of any kind.
Sell, rent or trade student data. There is no arrangement under which this happens.
Use private student content to train models.
Track location in the background, or read contacts, photos or messages outside the app.
Use facial recognition or other biometric identification.
Let one school see another school's data.
How the assistant behaves
Assistant tone, topic handling and refusals are set by the verified date of birth rather than by a
self-declared age. An account without a verified date of birth is treated as the strictest tier until it
is verified. The tiers themselves are described on the Safety page.
The assistant will not help with anything that would put a student at risk, and it does not pretend to
be a counsellor. Where a conversation suggests a student is in danger, it points to real help rather
than continuing the conversation.
Messages and notes
Direct messages and private notes are not visible to staff, administrators or other students. Schools
cannot request bulk access to them, and there is no administrator view that exposes them. The exception
is a specific message reported for review, which a moderator sees only in the context of that report.
Reporting and moderation
Any student can report a post, a message or an account. Reports go to a queue staffed by the school's
own moderators, with every action logged and attributable. A student who is actioned is told what
happened and can ask for it to be reviewed again.
Reporting is not anonymous to us, because a reporting system that cannot be audited is a system that
gets abused. It is anonymous to the person being reported.
Attention and notifications
There is no infinite feed, no streak mechanic and no notification designed to pull a student back. Quiet
hours are on by default for student accounts, and channels a student is not part of cannot notify them.
When a student leaves
Leaving a school removes access to that school's channels and calendar immediately. The account itself
survives — notes, direct messages and assistant history belong to the student, not the campus. Deleting
the account removes all of it. School-owned content such as a channel announcement written by staff
stays with the school.
What schools agree to
Only enrolled students and employed staff get accounts.
Moderator rights go to named staff, not to shared logins.
Any data exported from the platform is handled under the school's own retention rules.
Requests from parents are pointed at us where they concern private content we hold.
Regional protections
Where local law sets a higher minimum age, a stronger consent requirement or a shorter retention limit
than this page describes, the local rule applies to accounts in that region. This includes the student
privacy and parental consent regimes in the United States, Canada, the United Kingdom and the European
Economic Area.
If an adult targets a student
This is the one part of our rules that has no scale, no warning and no appeal. An account used to reach,
groom, sexualise or exploit a child is terminated permanently across every Noctic product, its content
and records are placed under legal hold, and it is reported to law enforcement and to the national child
protection body for the jurisdiction, as the law where we operate requires.
Deleting the account does not undo any of that. Material already preserved stays preserved, a deletion
request is not a route to destroying evidence, and an attempt to return under a new name is treated as
part of the original conduct and reported again.
What we do the same day
Freeze the account so it cannot reach any student while the report is reviewed.
Put a trained person on the review, ahead of everything else in every queue.
Preserve the content, the account records and the identifiers under legal hold.
Report it to the police service with jurisdiction and to the national reporting body.
Tell the school's designated safeguarding contact directly, not through a monthly summary.
Sever every route from that account to the student before we tell the student anything.
Conduct that counts, before anything explicit happens
Waiting for explicit material means waiting until the harm has already been done. We act on the pattern
that leads there: an adult seeking private contact with students, pushing a conversation onto another
service to escape moderation, asking a child to keep something secret from parents or teachers, offering
gifts or money for contact or images, or positioning themselves as the only person a student can talk
to. Each of those is a terminable violation on its own.
We do not publish how this is detected. Explaining the mechanism would help the people it exists to
catch, and that is not a trade we are willing to make for the sake of transparency.
Cooperating with investigations
We respond to valid legal process in these cases quickly and without argument, and we do not make
investigators fight us for records they are entitled to. Where a family or a school pursues civil
action, we will support it, and we will pursue the remedies available to us. There is no commercial
relationship, school agreement or account size that changes any of this.
Helping the student, not just closing the case
Enforcement against an offender is the straightforward half. What happens to the child afterwards
matters more, and it is where we put the effort.
A student who was targeted keeps their account and their standing. Being a victim is not a policy
violation and is never recorded as one.
We build the record from what we already hold. A minor is never asked to gather evidence, re-read what
was sent to them, or repeat the account to us more than once.
Parents and guardians get a person to speak to, a clear description of what we hold, and help making
their own report if they want to make it.
Where intimate images of a minor exist, we help the family reach the specialist services that get them
removed across the wider internet rather than only from us.
The school's safeguarding staff are brought in so that the adults who see that student every day can
act in person.
Free specialist help exists: Cybertip.ca and the Canadian Centre for Child Protection in Canada, the
National Center for Missing & Exploited Children in the United States, and the Internet Watch
Foundation and CEOP in the United Kingdom. We make the introduction and stay involved rather than
handing over a link.
Reporting it
If a child is in immediate danger, contact your local emergency services first — we cannot reach them
faster than you can. Otherwise use the report control in the product, or write to us through
Contact marked urgent. Reports in this category are monitored outside working
hours and jump every queue.
Do not confront the account, collect images, or encourage a child to keep the conversation going.
Handling that material can put you at legal risk, and we already hold what is needed. A report made in
good faith that turns out to be mistaken carries no consequence for the person who made it. We would
rather read a hundred reports that come to nothing than miss the one that does not.
Questions
Anything on this page can be asked about directly through Contact. Questions from
parents are answered by a person, not a form response. The wider enforcement picture is on the
Safety page.
Noctic™, the Noctic drop mark, Shiba AI, Cadence, Cadence AI, Noctic Compass, Noctic Account and
Aero™ — including Aero™ Neo — and AeroBook™ — including AeroBook™ Nano and
AeroBook™ Pro — are trademarks of Noctic. All rights are reserved.
Permitted use
Referring to our products accurately in text, in ordinary prose.
Stating truthfully that your application supports Continue with Noctic, using the wording and button
we provide.
Using our marks in your product name, company name, domain name or application icon.
Altering the mark, or combining it with your own logo into a single lockup.
Any use suggesting partnership, sponsorship, certification or endorsement without written permission.
Requests for permission go to the legal contact on the Contact page.
Naming your own things
You may say what your product does with ours. You may not name your product after ours. "Timetable sync
for Cadence" is fine. "CadenceSync" is not, and neither is a name that merely rhymes closely enough that
people will assume a connection.
The same applies to domain names, subdomains, application identifiers, package names, social handles and
repository names. A descriptive phrase is acceptable; a name that reads as ours is not.
Using the marks in an interface
The Continue with Noctic button is supplied by us. Use it as provided, without recolouring or
relabelling.
Our name may appear in a settings row describing a connection, at the same visual weight as other
services you support.
Do not use our mark as your application icon, your favicon or your splash screen.
Do not imply that a connection is certified, reviewed or officially supported unless we have said so
in writing.
Open source and plugins
A community project that works with our products can say so plainly in its description and
documentation. It may not use our marks in its own name, its logo or its package identifier, and it
should state clearly that it is unaffiliated.
Editorial and academic use
Journalists, researchers and educators may use our names to refer to us without asking, provided the use
is accurate and does not suggest we participated. The presentation rules are on
Brand.
Reporting misuse
If you find our marks being used to impersonate us, particularly on a sign-in page or in something aimed
at students, tell us through Contact with a link and a screenshot. Impersonation
that puts minors at risk is escalated the day we receive it.
Enforcement
We would rather correct a misunderstanding than start a dispute, and most matters end with a short
email. Permission granted under this page can be withdrawn in writing, and no permission is implied by
the absence of an objection.
We respond to valid notices of claimed copyright infringement and terminate the accounts of repeat
infringers.
Submitting a notice
Send the following to the legal contact on the Contact page:
Identification of the copyrighted work you claim has been infringed.
The exact location of the material on our service.
Your name, address and contact details.
A statement that you believe in good faith the use is not authorised by the owner, its agent or the
law.
A statement, under penalty of perjury, that the information is accurate and that you are the owner or
authorised to act for the owner.
Your physical or electronic signature.
Counter-notice
If your material was removed in error, you may send a counter-notice with the same contact details,
identification of the removed material, and a statement under penalty of perjury that the removal
resulted from mistake or misidentification. We may restore the material after the statutory waiting
period unless the original complainant files an action.
Misuse
Knowingly filing a false notice carries liability. We keep a record of every notice received.
What happens after you send a notice
Acknowledgement
Within two working days, confirming what we received and whether anything is missing.
Assessment
We check the notice is complete. An incomplete notice is returned with the missing element named
rather than ignored.
Action
Valid notices result in removal or disabling of access to the material, usually within five working
days.
Notification
The person who posted it is told what was removed and why, and is given a copy of the notice.
Counter-notice
If one arrives, we forward it to you and the statutory waiting period begins.
Repeat infringers
We keep a record of valid notices against each account. An account that accumulates repeated valid
notices is terminated, and the count is not reset by deleting and recreating the account.
What this page does not cover
Trademark complaints, which are handled under Trademarks.
Privacy complaints about your own personal information, which go to the privacy contact.
Disputes about who owns a work. We are not able to decide ownership between two claimants.
Model output
A notice about material generated by one of our models should identify the specific output and where it
appears, in the same way as any other notice. We investigate these seriously and will tell you what we
find, including when the honest answer is that the output does not reproduce the work you have
identified.
Before you file
Consider whether the use might be permitted. Quotation, commentary, criticism, news reporting and
teaching are lawful in many places, and a notice filed against clearly lawful use may itself carry
liability. If you are unsure, take advice — we cannot give you legal advice about your own notice.
These terms apply when you build on Noctic: when you register an app, use Continue with Noctic, hold an API key or a class key, receive webhooks, or call any documented endpoint. They sit alongside the Terms of Service and the Acceptable Use Policy, which keep applying to your own account. Registering an app, or using a key, means you accept them. Noctic is operated by Nicholas Steiche, carrying on business as Noctic, in Montreal, Quebec, Canada ("Noctic", "we", "us").
1. Who may build
You must hold a Noctic Account and be at least eighteen, or be acting for an organisation that has authorised you. If you build for an organisation, these terms bind that organisation and you confirm you may accept them for it.
The details you give when you register an app, including its name and homepage, must be accurate and must describe the product the people signing in will actually be using.
2. What these terms cover
Continue with Noctic: OAuth 2.0 with an authorisation code, optional PKCE, access and refresh tokens, and the userinfo endpoint.
App credentials: client IDs, client secrets and redirect URIs, managed from API keys.
Class keys for Class Sync and the Cadence Teacher API, in their publishable and secret forms.
Webhooks we send to you, and the developer tools that help you test each step.
3. Credentials
A client secret is shown once, when you create the app. Keep it, and every secret class key, on a server, in an environment variable or a secret manager. Never put a secret in a browser, a mobile app bundle, a public repository or a screenshot. If a secret may have been exposed, roll it straight away from API keys.
You are responsible for everything done with your credentials. A publishable class key may appear in a web page; it can only send material and cannot read anything back. The Teacher API accepts the secret key only and sends no CORS headers, because it handles class registers.
4. Scopes and consent
Ask only for the scopes your app needs at the moment it needs them, and say on your own site why you need each one. The scopes are identity, profile, email and api. The api scope lets your app make model requests on a person's behalf, drawn from their plan, and is granted only when we approve it.
The consent screen shows your app's name and homepage, and the scopes it asks for. Apps outside the Developer Program are shown as coming from an unverified developer. You must not disguise your app, imitate Noctic or another developer, or try to get consent by misleading anyone.
Some data is not available through any scope: date of birth, plan history, moderation records, private notes, direct messages and assistant conversations. Do not try to obtain it some other way.
5. Using what you receive
Everything your app receives through Noctic is governed by the Developer Data Policy. In short: use it only to run the feature the person asked for, never sell it, protect it, and delete it when you no longer need it.
6. Limits
Endpoints are rate limited, and the limits are documented with each API. Class Sync and the Teacher API share 60 calls a minute per key, and the token and userinfo endpoints are limited per token. Do not try to get around a limit, for example by spreading calls across keys or accounts. Members of the Developer Program receive raised limits as described in the Developer Program Agreement.
7. Webhooks
Every webhook carries its signature in the X-Noctic-Signature header. Verify it against the raw body with your signing secret, compare in constant time, and refuse deliveries older than five minutes. A request that fails these checks did not come from us, and you must not act on it.
8. What you must not do
Collect sign-in details for a Noctic Account anywhere except our own sign-in pages.
Sell, rent or trade data you receive through Noctic, or hand it to a data broker or an advertising network.
Use Noctic data to monitor, profile or track students, or to make decisions about a person's eligibility for credit, insurance, housing, employment or education.
Train or fine-tune a machine-learning model on data about Noctic users unless each person has given you their clear, separate consent to it.
Scrape our products, test the security of systems you do not own, or interfere with the service, other than through the disclosure process on the Security page.
You may use the Continue with Noctic button in the form we provide on API keys, and you may say that your app signs in with Noctic. You may not suggest that Noctic made, endorses or certifies your app, and any other use of our names and marks follows the Trademarks page.
10. Your app and your users
Your app is yours, and so is your relationship with the people who use it. If your app asks for profile or email, its homepage must link to a privacy policy that explains what you receive from Noctic and why. Give your users a way to reach you, and answer them. We may pass you a request from one of your users about their data.
11. Changes to the platform
We may change, add or retire endpoints, scopes and limits. For a change that would break a documented endpoint we aim to give at least thirty days' notice in the changelog. We may act faster where security, the law or the safety of users requires it.
12. Price
The developer platform and the Developer Program are free at present. If we ever introduce a charge, we will announce it at least thirty days before it applies, and nothing will be charged to you without your agreement.
13. Suspension and ending
You may delete your app, or stop using a key, at any time. We may suspend or revoke an app, a key or a scope where these terms are broken, where an app puts users or the service at risk, or where the law requires it. Where it is safe and lawful to do so, we will tell you why and give you a chance to put it right first.
When your access ends, stop using Noctic data and delete it as the Developer Data Policy requires. Sections 5, 8, 14, 15 and 16 continue to apply.
14. No warranty
The developer platform is provided as it is and as available, without a service level, and Cadence and other products marked beta may change or break. Live incidents are posted on the status page.
15. Liability
To the extent the law allows, we are not liable for lost profits, lost data or indirect damages, and our total liability under these terms is limited to the greater of the amount you paid us in the twelve months before the claim and one hundred Canadian dollars. Nothing here limits liability for intentional or gross fault, for bodily or moral injury, or any other liability that cannot lawfully be limited.
You are responsible for claims brought against Noctic that arise from your app, from your use of Noctic data, or from your breach of these terms, except to the extent we caused them.
16. Law, changes and contact
These terms are governed by the laws of Quebec and the federal laws of Canada that apply there. The courts of the judicial district of Montreal have jurisdiction, except where the law of the place you live gives you the right to bring proceedings at home. Nothing in them removes a right you hold under the Quebec Consumer Protection Act or any other consumer law that cannot be contracted out of.
We may update these terms. Material changes are announced at least thirty days before they apply. If you keep using the platform after that, the new terms apply; if you do not accept them, delete your app before they take effect. Questions about these terms go to legal@noctic.ink.
This policy says what an app built on Noctic may do with the data it receives, and what it must never do. It applies to everything that reaches your app through Noctic: the profile behind a sign-in, tokens, class material and rosters, and webhook payloads. It is part of the Developer Terms. Many of the people who use Noctic are students, some of them between thirteen and seventeen, so parts of it are stricter than you may be used to.
1. What you can receive
identity: the person's stable Noctic user ID.
profile: username, display name, picture, plan and verified status, which other people can already see.
email: the email address and whether it is verified. A person may refuse this scope on its own.
api: model requests on the person's behalf, drawn from their plan, where we have approved it.
Through a class key: the class, the material its site publishes and, through the Teacher API, the register of student handles.
Date of birth, plan history, moderation records, private notes, direct messages and assistant conversations are never available, through any scope or any arrangement.
2. Use it only for what was asked
Use Noctic data only to provide the feature the person used your app for, and to keep that feature secure. Do not combine it with other data to learn more about a person than they gave you, and do not use it to follow people across other services.
3. Never sell it
Do not sell, rent, license or trade Noctic data, and do not share it with data brokers or advertising networks, or use it for advertising, whether behavioural or not. You may share it with service providers who process it for you under a contract that protects it at least as well as this policy does.
4. Students and class registers
A class register is a list of children's handles. Use it only to keep the class in step with the school's own records. Never publish it, never put it in a browser, never contact students through it, and never use it for marketing of any kind. Call the Teacher API from a server only.
Where you act for a school, follow the school's instructions and the privacy and education laws that apply to it, including Quebec's Act respecting the protection of personal information in the private sector, PIPEDA and, for schools in the United States, FERPA. Noctic accounts are for people aged thirteen and over; if you learn that you hold data about a child under thirteen, delete it and tell us.
5. Keep it safe
Protect Noctic data with security that suits how sensitive it is: encrypt it in transit, keep secrets out of code and browsers, limit who can see it to the people who need to, and keep software you run patched.
6. Keep it only as long as you need it
Delete a person's Noctic data within thirty days of the earliest of: the person revoking your app's access, the person asking you to, us telling you their account has been deleted, or your app no longer needing it. Delete class material and registers within thirty days of a class key being revoked or the class ending. You may keep records the law requires you to keep, for as long as it requires.
7. If something goes wrong
If Noctic data in your care is accessed, disclosed or lost without authorisation, tell us at security@noctic.ink within seventy-two hours of becoming aware of it, say what happened and what you are doing about it, and work with us on it. Notify the people affected and the authorities where the law requires you to.
8. Be open about it
Your privacy policy must say what you receive from Noctic, why, how long you keep it and how to ask you to delete it. Honour people's requests to see, correct or delete their data. If we forward you a request, answer it within thirty days.
9. Checks
We may ask you how your app uses Noctic data, and you will answer accurately and promptly. If we find that an app breaks this policy, we may suspend or revoke its access, and we may tell the people affected.
This agreement applies to members of the Noctic Developer Program on developer.noctic.ink. It adds to the Developer Terms and the Developer Data Policy, which keep applying in full. You accept it when you complete enrolment. Noctic is operated by Nicholas Steiche, carrying on business as Noctic, in Montreal, Quebec, Canada ("Noctic", "we", "us").
1. Membership
Membership lasts one year from enrolment and renews only when you ask for it. All memberships are free: there is no fee to enrol or to stay, and no payment card is needed.
2. Who may enrol
An individual aged eighteen or over, or an organisation acting through someone it has authorised. The legal name you enrol under must be your own, or your organisation's, and everything you tell us during enrolment must be true.
3. Your name on the consent screen
The legal name you enrolled under is shown as the publisher on the consent screen of your apps. That is a statement to the people signing in, and you are responsible for it being accurate. If it stops being accurate, tell us and we will update it. If it was false, this agreement ends.
4. What membership includes
A listing for your apps in Ecosystem → Apps.
Ten times the standard rate limit on the token and userinfo endpoints, and a priority queue position on Parable.
Pre-release models, endpoints and Glass revisions, with breaking changes written down in advance.
Two support requests a year, read by an engineer, or six for an organisation membership.
The chance to request an Aero™ unit for the membership year, and early seats at developer labs when they run.
These benefits may change, and some depend on things that do not yet exist: Aero™ is a concept and has not been manufactured, and no labs are scheduled. A request is not a promise that a unit or a seat will be available.
5. Pre-release material
Pre-release builds, documentation and dates are confidential until we publish them. Do not share them outside the people working on your app, and do not publish benchmarks of pre-release models without asking us first. Pre-release material is unfinished and may change or be withdrawn.
6. Shouts, events and the community
Developer Shouts, events and other shared spaces follow the Community Guidelines. Members of the Developer team may remove posts and limit access to these spaces when the guidelines are broken.
7. Ending
You may leave at any time by telling us at legal@noctic.ink. We may end a membership if this agreement, the Developer Terms or the Developer Data Policy is broken, or if the Program closes, in which case we will give thirty days' notice. When membership ends, its benefits stop, and your apps return to the standard platform under the Developer Terms.
8. Law and contact
These terms are governed by the laws of Quebec and the federal laws of Canada that apply there. The courts of the judicial district of Montreal have jurisdiction, except where the law of the place you live gives you the right to bring proceedings at home. Nothing in them removes a right you hold under the Quebec Consumer Protection Act or any other consumer law that cannot be contracted out of.
This policy explains how to cancel what you pay for, and when you get money back. It adds to section 5 of the Terms of Service. Payments for plans are processed by Stripe.
1. Plans
Noctic Plus and Noctic Pro are billed yearly and renew automatically until you cancel. Cancel from your Noctic Account, under Manage billing. Cancelling stops the next renewal; you keep everything you paid for until the end of the period you have already paid for.
2. Your first fourteen days
If you ask within fourteen days of your first payment for a plan, we refund that payment in full and end the plan. After fourteen days, payments are not refunded, except where these terms or the law say otherwise.
3. When we end a plan
If we end your plan without cause, or stop offering a product it covers, we refund the unused part of the period you paid for.
4. Failed payments
If a renewal payment fails, paid features stop straight away rather than being silently downgraded. Nothing is owed for a period you did not pay for.
5. Kick Start
Kick Start is a $199 USD download, paid once. If it does not work as described, for example if npm run typecheck or npm run build fails on a fresh unzip, write to us within fourteen days of paying. We will either fix it or refund you in full. Refunds go back by the method you paid with.
6. Things that cost nothing
Reserving an Aero™, joining the Developer Program and the free tiers of every product cost nothing, so there is nothing to refund. Nothing is ever charged for a reservation unless you confirm a purchase at release.
7. How to ask
Write to support@noctic.ink from the address on your account, with the receipt or the date and amount of the payment. Refund decisions are made in the first reply. Approved refunds are issued within ten working days; your bank may take a few more days to show them.
8. Your legal rights
This policy does not take away any right to a refund or cancellation that you have under the law where you live, including the Quebec Consumer Protection Act.
These are the companies that process personal information on Noctic's behalf, including the ones that see only a little. If you find a service we send data to that is not on this list, that is a mistake and we want to hear about it at privacy@noctic.ink.
1. The list
Supabase: database, authentication and file storage. Processes account and application data.
Netlify: delivers this website. Serves pages and files and holds no account data. DNS and delivery for noctic.ink are Netlify's; Cloudflare is not in the path.
Stripe: subscription payments. Receives your email address and your card details, which go to Stripe directly and never reach this site.
Resend: sends sign-in codes, unlock links and account notices. Receives an email address and the message.
Have I Been Pwned: checks a new password against known breaches. Receives the first five characters of a hash of the password, padded so it cannot tell which password it is, and your IP address. Never the password.
A translation provider: translates a page shown at a language's own address, such as noctic.ink/fr, where first-time visitors whose device uses that language are taken automatically unless their browser sends Global Privacy Control. Receives the visible text of the page. Nothing is sent on the English address, and choosing English is remembered.
Apple and Google: TestFlight and Google Play deliver the Cadence beta. The email address you give as a tester reaches them so they can issue the build.
Model providers: run the models behind Shiba, Cadence AI and Compass. Receive the prompts you send and what the product sends with them. Each provider is named in writing on request while the per-provider list is finished.
2. Where they are
Some of these companies process information outside Canada, including in the United States. Where that happens we rely on contracts that require them to protect it, and we assess the transfer as Quebec law requires.
3. Changes
We give thirty days' notice in the changelog before adding a sub-processor that touches school or account data.
Cadence is a place for students to share their school day: the feed, reels, channels and direct messages. Developer Shouts and events are where people building on Noctic talk to each other. These guidelines apply in all of them, together with the Acceptable Use Policy. Most of the people here are at school, many of them under eighteen, and the rules are written with them in mind.
1. Be who you are
Use your own account and your real school. Do not pretend to be another student, a teacher or Noctic, and do not create accounts to get around a ban or a block.
2. Treat people well
No bullying, harassment, threats or pile-ons. No content that attacks people for their race, ethnicity, national origin, religion, disability, sex, gender identity, sexual orientation or age. Disagree with ideas, not with the person holding them.
3. Keep it safe
No sexual content of any kind involving anyone under eighteen. We remove it, close the accounts involved and report it to Cybertip.ca or the relevant authority.
No sexual or graphically violent content in shared spaces.
No content that encourages self-harm, suicide or dangerous challenges. If you are struggling, you deserve help: in Canada you can call or text 9-8-8, and Kids Help Phone is at 1-800-668-6868 or text 686868.
No threats of violence, and nothing about weapons, drugs or alcohol aimed at selling them to anyone.
4. Respect privacy
Do not post other people's personal information, such as addresses, phone numbers, schedules or photos, without their permission, and never post private messages someone sent you. Do not record or photograph people at school to make fun of them.
5. Keep school honest
Share notes and help each other, but do not post answers to a test or assignment while it is being taken, and follow your school's rules on what counts as your own work.
6. No spam or scams
No repeated or automated posting, no fake giveaways, no links that trick people into handing over passwords, and no selling. Ask before promoting anything.
7. Post what is yours to post
Share only what you made or have permission to share. Copyright complaints go through the Copyright page.
8. Reporting
Report a post, reel or message from where it appears, where the app offers it, or write to support@noctic.ink with a link or a screenshot. Anything involving a student's safety is handled immediately, ahead of everything else. Where a school licenses Cadence, its moderators may also act on reports in their school's spaces.
9. What happens when rules are broken
Depending on how serious it is, we may remove the content, warn you, limit what you can do, or suspend or close the account. Where someone is in danger, we may contact the school or the authorities. We tell you what you did and why we acted, unless doing so would put someone at risk.
10. Appeals
If you think we got it wrong, reply to the notice or write to support@noctic.ink within thirty days. A person reviews every appeal and replies.
Shiba, Cadence AI and Compass use language models. This policy explains what they can and cannot do, what you may use them for, and what happens to what you send them. It adds to the Terms of Service and the Acceptable Use Policy.
1. What they are
The models write text, plan, summarise and answer questions from what you send them and, in Cadence, from the material your teachers have posted. They are tools that predict likely answers. They do not understand you the way a person does.
2. They make mistakes
Answers can be wrong, out of date or incomplete, and can sound confident when they are wrong. Check anything that matters. Answers are not medical, legal, financial or other professional advice, and are not a substitute for your teacher, a doctor or anyone qualified to help you. In an emergency, contact local emergency services.
3. What you get
Subject to the Terms of Service, you own what the models write for you. Something similar may be written for someone else. You are responsible for how you use it, including checking it before you publish or submit it.
4. At school
Follow your school's rules on using AI. Where your teachers have not allowed it, do not hand in AI-written work as your own. Cadence AI answers from your class material so you can trace what it says back to its source.
5. What you must not use them for
Creating sexual content involving minors, or any content the Acceptable Use Policy prohibits.
Harassing, threatening or impersonating real people, or creating deceptive content meant to mislead people about who made it.
Writing malware, breaking into systems, or getting around the safety measures built into the products.
Planning violence or obtaining instructions for weapons capable of mass harm.
Making decisions about other people's credit, employment, housing, education or legal rights without a person reviewing them.
6. What happens to what you send
Your prompts, and what the product sends with them, are processed by the model providers listed on the Sub-processors page in order to produce the answer.
We do not use private notes, direct messages or conversations held in encrypted mode to train or fine-tune models. The training preference in Settings is currently saved on the device you set it on and is not yet carried to our servers, so treat it as a statement of your preference rather than an enforced control until this page says otherwise.
7. Safety and limits
The products include safeguards that may refuse or adjust requests, and accounts belonging to people under eighteen receive the additional protections described in Children and Students. Usage is limited by your plan and by fair-use rules.
8. Changes and contact
Models change and improve, and this policy will change with them. The date at the top always shows the current version. Questions go to legal@noctic.ink.
These terms apply when you reserve an Aero™, Aero™ Neo, AeroBook™ Nano or AeroBook™ Pro. Aero™ is a concept: none of these machines has been manufactured, there is no manufacturing partner yet, and the final hardware may differ from what this site shows.
1. What a reservation is
A reservation puts your name on a list of up to one hundred people, in the order requests arrive. It is not an order and not a contract to buy. It costs nothing, and no payment details are collected.
2. What we do
We confirm your place by email, with your position in the list. We contact you again only when something real happens, such as a manufacturing partner, a date or a price.
3. At release
Buying is locked until release, which we do not expect before 2030. When a machine is ready to sell, we ask you to confirm before anything is charged. If you do not confirm, nothing happens and your place passes to the next person. Prices and specifications shown today are indicative and may change before release.
4. No guarantee
We may never make some or all of these machines, and a reservation does not guarantee that you will be able to buy one, at any price or on any date. If we end the programme, we will tell everyone on the list.
5. Changing or cancelling
Your reservation is held against your Noctic Account, so only you can change or cancel it, at any time and for no charge.
6. Your information
We keep your name, email and the model you chose only to run the list. We delete them within thirty days of you cancelling or of the programme ending, as the Privacy Policy describes.
This licence covers the Kick Start source code you download after paying for it. Paying and downloading it means you accept it. Noctic is operated by Nicholas Steiche, carrying on business as Noctic, in Montreal, Quebec, Canada ("Noctic", "we", "us").
1. What you may do
Use, copy and change the source code to build any number of your own products, commercial or not, for yourself or for a client, and ship those products under your own name. You do not need to credit Noctic.
2. Who it is for
The licence belongs to the person who paid, or to the one organisation they paid for. Anyone working for you or with you on a product may use it for that product.
3. What you may not do
Resell, share or publish the source code, or a lightly changed version of it, as a starter kit, template, boilerplate or course material, or post the download anywhere other people can get it. Your finished products may contain the code; the kit itself stays with you.
4. Other people's code
Kick Start includes open-source packages, such as Next.js, Drizzle and Tailwind. Each keeps its own licence, and nothing here changes those licences.
5. Services you connect
Kick Start can connect to services such as Stripe, Google and GitHub. Your use of them is between you and them, under their terms.
6. No warranty
Apart from the promise in the Refund and Cancellation Policy that it works as described, Kick Start is provided as it is. You are responsible for reviewing, testing and securing the products you build with it. To the extent the law allows, our liability is limited to the price you paid.
7. Ending
If you break this licence, it ends and you must stop distributing products built with Kick Start until you put it right. These terms are governed by the laws of Quebec and the federal laws of Canada that apply there. The courts of the judicial district of Montreal have jurisdiction, except where the law of the place you live gives you the right to bring proceedings at home. Nothing in them removes a right you hold under the Quebec Consumer Protection Act or any other consumer law that cannot be contracted out of.
Our own reasoning model, trained independently, and the one under everything we make. It thinks before it answers, shows you the shape of that thinking, and stops when it's not sure.
Parable is one model with an adjustable amount of thinking, not a family of models you have to pick between. The same weights answer a one-line question and a week-long project. What changes is how long it gets to think.
6Effort tiers, Economic to Ultra
1MToken context window
29Languages at full quality
1Current generation
How it works.
No magic, just a lot of maths done really fast. This is what actually happens between you pressing send and the answer showing up, from the bottom up.
1
Your words become tokens
Everything you send gets cut into tokens, small chunks of text that are usually part of a word. "Unbelievable" might be three of them. Photos get cut into little patches and voice gets cut into slices, and those become tokens too, so the model only ever sees one kind of thing.
2
Tokens become numbers
Each token turns into a long list of numbers called an embedding. Tokens that mean similar things end up with similar numbers, so it already knows "car" and "vehicle" sit close together before it's read a single sentence of yours.
3
Every token looks at every other one
Those numbers go up through a tall stack of transformer layers. In each layer every token checks every token before it and decides which ones matter to it. That's called attention. In "the cat sat down because it was tired", "it" learns to look at "cat". Stack enough layers and those lookups add up to grammar, facts and reasoning.
4
One token at a time
At the top, the model scores every possible next token. One gets picked, added to the end, and the whole thing runs again. A paragraph is a few hundred of those loops. Everything it's already read is kept in a cache, so each new token only costs the work for that one token. It stops when it writes the token that means "done".
How it learned.
Parable 1 is ours. We trained it ourselves, in stages, and each stage teaches it something the one before couldn't.
1
Reading
First it read a huge amount of text and code and practised exactly one thing: guessing the next token. Every wrong guess nudges the numbers inside it a tiny bit. Repeat that enough times and guessing the next word well means knowing a lot about the world.
2
Answering
A model that's only read just keeps writing whatever comes next. So then it trained on examples of good answers to real requests, which is where it learns to actually answer you instead of continuing your sentence.
3
Getting it right
Then it trained on its own attempts, graded. For maths and code the grade is simple: did the proof hold, did the program run. That's where working step by step comes from, and where "I'm not sure" gets tied to how often it's actually right.
4
Knowing the lines
Last, what it won't help with and how to say no properly, with a reason. Which rules apply depends on the verified age on the account, so a student and an adult don't get the same limits. The full version is on Safety.
After training the model is frozen. Talking to it doesn't change it, and your conversations are never used to train it.
Effort, not model roulette.
Most systems make you guess which model fits your question. Parable takes effort as a setting instead. Ask for less and you get an answer in a second. Ask for more and it plans, checks itself and revises before replying.
Economic
Reflex answers. Definitions, reformatting, short translations, tidying a sentence. No planning stage at all, so under a second in most cases.
Standard
The default. One planning pass, then an answer. Good for normal questions, short code, and summing up a document you just pasted in.
Extended
Plans, drafts, then reads its own draft back before answering. Where most real work belongs: essays, multi-file changes, arguments with more than one moving part.
Deep
Several separate attempts, compared against each other. Way better at maths, proofs and anything where one small early mistake wrecks everything after it.
Research
Long jobs with tools the whole way through. Reads, searches, runs code, keeps notes, and tells you what it couldn't figure out as well as what it could.
Ultra
Everything Deep does, wider and longer, plus a pass where it actively hunts for reasons the answer is wrong. Slow and expensive on purpose.
Effort is a ceiling, not a quota. Ask for Ultra on a question that only needs Standard and Parable will stop early instead of padding the answer to justify the setting.
What thinking actually is.
Thinking isn't a separate brain. It's more tokens. Before the answer, Parable writes itself a working draft you mostly don't see: a plan, a first try, notes on what's wrong with it. The effort tier is the size of that draft.
More effort, bigger draft
Economic skips the draft and just answers. Standard writes a short plan. Extended writes a full draft and rereads it. Deep writes several separate drafts and trusts the parts they agree on. Research keeps tools going through a long job. Ultra adds a pass that argues against its own answer before you get it.
It stops when it's done
The tier is a budget, not a target. When the draft has settled, it answers, even if there's budget left. That's why a simple question on Ultra still comes back fast and doesn't cost what a hard one does.
What you see is a summary
The reasoning panel shows a summary of the draft, not the raw thing. Raw drafts are long, messy and easy to misread out of context. The summary keeps the route it took, so you can still check how it got there.
Tools, context and memory.
Tools are just more text
The model can't browse or run code by itself. When it needs to, it writes a request in a set format, like "search for this" or "run this code". Our servers do it and paste the result back in as more tokens, and it carries on. Every one of those calls shows up in the steps you can watch.
The context window
Everything it can see at once: your messages, files, tool results and its own draft. Parable 1 holds about a million tokens, roughly eight novels' worth. Anything outside that window doesn't exist to it, which is why a really long chat can eventually lose its oldest messages.
Memory is notes, not learning
Memory is a list of plain sentences saved in your account, like "studies chemistry, final on the 18th". When one is relevant it gets added to the context. The model itself never changes. You can read every note, delete any of them, or turn memory off.
That's also why it can be wrong. It predicts the most likely next token, and likely isn't the same as true. Unless it searched, an answer comes from what it learned in training, so it can be out of date or confidently off. That's what calibration and citing sources are there to catch, and the list further down is where it still slips.
How it answers.
1
Reads the whole thing
Your question, attachments, the conversation so far and whatever memory you've allowed, all in one pass.
2
Decides what it needs
Whether to search, run code, open a file, or just answer. Tool use is a decision, not a reflex.
3
Works, visibly
You can watch the plan and the steps. Nothing important happens somewhere you can't see.
4
Checks before it speaks
At Extended and up it rereads its own draft looking for the mistake it's most likely to have made.
Calibrated uncertainty
Trained so that "I'm not sure" tracks actual accuracy. When Parable hedges, the hedge means something. It's not politeness.
Citation before assertion
When it's searched, claims come with the source they came from. A claim with no source is coming from the model's own training, and it tells you that.
Won’t guess without telling you
Missing information gets you a question, not a made-up answer. It's the number one complaint about assistants and the thing we put the most work into.
Stable across a long context
Quality at 900,000 tokens is close to quality at 9,000. Instructions given at the start still hold at the end, which is the part most long-context claims skip.
What it is not good at.
We publish this because a model card that only lists strengths is just marketing. These are the problems we know about and haven't fixed yet.
Arithmetic on long numbers, without tools
It'll reason through the method correctly and then slip a digit. At Deep and up it grabs a calculator, which is the right instinct, but it means the raw model is weaker at this than it looks.
Very recent events
Anything after the training cut-off only exists to it if it searches. Without search it'll sometimes answer confidently about a world that's already moved on.
Counting things in an image
Reliable up to a handful of objects and unreliable after that. It reads text in images well and counts badly, which is a weird combo but a real one.
Knowing what it doesn't know about you
It can't tell the difference between something you never said and something it forgot. If memory is off, it won't notice the gap.
Sycophancy under pressure
Push back hard enough on a right answer and it'll sometimes cave. We test for this, and it's not gone yet.
Long creative work
It holds a plot for a few thousand words, then starts contradicting details it set up earlier. Good for drafting, not for finishing.
Less time on the admin around teaching, and a straight answer about what your students are actually doing with AI.
We didn't build this by imagining a classroom. Cadence started at one school, with teachers telling us which parts of their week were wasted. Most of what's below came from those conversations, not a product plan.
Post to a class, a grade or the whole school. It goes in the feed, in the calendar if it has a date, and as a notification only for the people it's for.
A timetable from a photograph
Take a photo of the printed timetable. Cadence turns it into a real calendar, including rotations and week A/B patterns, and asks about anything unclear instead of guessing.
Your class website, read in
Paste one key into the site you already post to. Slide decks, notes and handouts show up in Cadence under your class, and the tutoring quotes your slides instead of guessing at the syllabus. Get a teacher key.
Marking that shows its reasoning
Optional, and never final. Parable drafts feedback against your rubric and points to the exact line it's talking about. You edit and send it. Nothing reaches a student without you reading it.
Deadline collision warnings
When three departments put major work in the same week, you find out while there's still time to move something.
Channels that stay on topic
Subject channels with teacher moderation, a slow mode for the noisy ones, and no direct messages
between staff and students outside a logged channel.
Attendance without a register app
Take it from the class list on your phone in about ten seconds, or let it fill from the calendar and fix the exceptions.
The honest position on AI and homework.
We're not going to tell you we can detect AI writing. Nobody can, not reliably, and the tools that say they can are wrong often enough to wreck a student's year. So we built the opposite.
1
Assistance is visible
When a student uses Shiba on work linked to an assignment, they can see the transcript and attach it themselves. You ask, they show.
2
You set the boundary
Per assignment: no AI, AI for planning only, or AI freely as long as they say so. Students see the rule before they start, right in the assignment.
3
Tutor mode refuses to finish it
On flagged coursework, Shiba explains and asks questions but won't make the thing for them. It says why, and who set the rule.
This changes the question from "did a machine write this" to "can you explain what you wrote", which is a better question and probably one you were already asking.
Coursework, messages and assistant chats from a school account are never used to train models. A district can't talk us into turning that on.
No advertising, ever
There's no ad product. Nothing about a student gets packaged up for anyone outside the school.
No selling to third parties
Profile data obtained through school sign-in may not be sold, brokered or merged into an outside
graph. Our processors are listed in the trust centre.
No surveillance features
No keystroke logging, no webcam proctoring, no location tracking, no screen monitoring. We've been asked for all four and said no every time.
No lock-in
Export the school's data whenever you want, in a format you can read. Leaving is a button, not a negotiation.
Questions teachers ask.
How long does setup take?
One class takes about ten minutes. A whole school with verified registration and a timetable import is usually an afternoon, with someone from us on a call.
Do students need their own devices?
No. Cadence runs in a browser on shared machines, and signing out really is signing out. Preferences and sessions don't stick around for the next person.
Yes. The feed, calendar, channels and attendance all work with every AI feature turned off for the school. Some schools run it like that for a term first.
What happens to a student's work when they leave?
It belongs to them. They keep a personal copy under their own Noctic Account, and the school's copy follows the school's retention policy.
Who do I contact when something breaks at 8am?
Support, and during term we handle school reports first. Live status is on the status page.
Rollout, identity, data protection and the paperwork your procurement team is going to ask for.
We're a small company. That comes with things you should know before you start a procurement process with us, and they're laid out below, not buried in a call.
We start small on purpose. One cohort with real timetables finds more problems in a week than a pilot document does in a month.
Identity and the timetable
SSO hooked up, verified registration on, timetable imported and checked by the people who wrote it. This takes the longest and it's worth not rushing.
Widen to the school
Staff onboarding takes about an hour. Students need no training. That's not a boast, it's the test of whether the interface is right.
The rest of the district
School by school, with the first school's staff usually doing more of the explaining than we do. Then a review of what to turn off, because there's always something.
Identity and access.
SSO and SAML
Not built yet. Sign-in today is an email, a password and a one-time code. SAML 2.0 against Google and Microsoft directories is what we plan to build for the first district that needs it, and we'll put it in writing with a date before you commit to anything.
Verified school registration
A student account tied to a school is confirmed by the school, not just claimed by the student. That's what keeps channels safe and outsiders out.
Roles that mean something
Student, teacher, head of department, administrator, guardian. Permissions follow the role, and the
role follows your directory.
Two-step by default
Staff accounts finish every sign-in with an emailed code, and five wrong passwords lock the account and email an unlock link. Not optional, and you can't turn it down.
Guardian access
Linked, read-only, limited to their own child, and visible to the student. No hidden parental monitoring. Everyone can see who can see what.
Audit log
Partly built. Permission changes and sign-ins are recorded. Record-level access logging and export aren't done yet, so ask us where it's at before you rely on it.
Data protection.
Controller and processor
The school or district is the controller. We're the processor and we act on your instructions. We don't have a standard data processing agreement ready to hand you yet. Ask, and we'll write one up and sign it before you commit to anything.
Residency
One region today, not a choice. Everything, backups included, lives wherever our database provider keeps it, and we'll tell you exactly where before you sign anything. Canadian and EU residency is something we'll build for a district that needs it, as a dated commitment, not a checkbox on this page.
Retention
You set it per type of data. Deletions reach backups within thirty days, and we'll tell you when it's done so you don't have to assume.
Training
School data is never used to train models. There's no consent flow that changes that for a school account, on purpose, so nobody can turn it on by accident.
Subprocessors
Listed publicly in the trust centre, with notice before anyone gets added. It's a short list right now, because we run most of it ourselves.
Incidents
Notification within 72 hours, and really as soon as we know. Our track record and our process are both on the status page.
A procurement process will find these anyway. Better you hear them from us first.
We're small
If you need a vendor with a hundred-person support team and ten years of district references, that's not us yet. What you get instead is direct access to the people who build it.
Some compliance certifications are in progress
Our current status is in the trust centre, stated plainly. If a specific certification is a hard requirement for you, ask before starting and we'll tell you straight whether we have it.
We'll say no to some requests
Proctoring, keystroke logging, webcam monitoring and location tracking aren't on any roadmap we'll be talked into. If you need those, we're the wrong supplier.
Pricing is simple and not very negotiable
Cadence is free for schools. That's the whole price list, so there isn't much to negotiate.
Ours and other people's. Every one asks for specific permissions, and every one can be cut off from your account in one click.
This is the whole list, not a curated pick. An app showing up here means it registered and passed review. It doesn't mean we vouch for what it does with a permission you give it.
Four scopes. No bundles, nothing granted without you saying so, and you can refuse each one on its own.
identity
That you're a real signed-in person, and a stable ID for you. Nothing else, not even your name.
profile
Display name, avatar and verification badge. Stuff other people can already see.
email
Your address, so the app can contact you. The scope people refuse the most, and fair enough.
api
Model requests made for you, counted against your plan and shown in your usage. A person reviews it before any app is allowed to ask for it.
Your date of birth, plan history, moderation records, private notes, direct messages and assistant chats aren't available through any scope. There's no partner tier that unlocks them, and no price that would get us to add one.
Staying in control.
1
You see who is asking
The consent screen names the app and lists exactly which scopes, before anything's granted.
2
You can switch account
Connecting the wrong account is easy to do and easy to undo. Switch on the consent screen and sign in as whoever you meant.
3
Every grant is listed
What each app asked for and when you approved it, right in your account. Nothing hidden in a submenu.
4
Revoking is immediate
One button ends access right away. No grace period, no token that keeps working for another hour.
Every app is checked for a working redirect, a real name and a real homepage before it can ask for anything past identity. Apps asking for api get reviewed by a person. We don't audit what an app does with data you chose to give it.
What if an app misuses my data?
Revoke it from your account first, then tell us at support. Selling or brokering profile data from sign-in breaks our terms and gets an app removed.
Can an app read my Shiba conversations?
No. No scope exposes assistant chats, direct messages or private notes, and that's enforced in the token itself, not just by policy.
Why is an app asking for my email separately?
Because we made it a separate scope so you can say no to it. An app that really needs to email you'll explain why. One that doesn't will still ask, and you can decline.
I built something. How do I get listed?
Register it, ship it, then write to us. See build on Noctic.
Continue with Noctic is open to apps that aren't ours. No fee, no revenue share, and no approval queue for the normal case.
The deal is simple. You get an identity layer you didn't have to build, with sign-in codes, lockout and recovery already done. Users get one consent screen they recognise and one place to revoke you.
Short, and we actually enforce them. Breaking any of the first three gets an app removed, not warned.
Don't sell the data
Profile data from sign-in can't be sold, brokered, or merged into someone else's identity graph. This is the one we remove apps for the most.
Don't impersonate Noctic
Use the official button and the official name. Don't make it look like we built your app, endorse it, or review its content. Details in brand.
Ask for the least you need
Asking for every scope because it's easier will get you reviewed. Narrow requests also get approved by more users, so it's in your interest anyway.
Handle revocation properly
When a user revokes you, stop. Treat a sudden 401 as a revocation and send them back through authorisation, don't retry in a loop.
Keep the secret secret
Server only. A secret in a front-end bundle or mobile app is a published secret, and we'll ask you to roll it.
No apps aimed at under-13s
You have to be 13 or older for a Noctic Account. Don't build anything that pushes younger users to say otherwise. See children and teens.
Before you commit.
What does it cost?
Nothing. No listing fee, no revenue share, no per-user charge for identity,
profile or email. The api scope draws on the user's plan.
How many users does this actually reach?
Not many yet, to be real with you. We're a small company with a handful of products. Build on this because the integration is clean and the terms are fair, not because of the distribution.
Will you compete with my app?
Maybe, and we won't pretend we wouldn't. What we won't do is use anything we learn from your integration to do it. We don't read your traffic for product ideas.
What if you shut down the programme?
Twelve months' notice for any breaking change to the authorisation flow, and we'd publish the wind-down in the changelog and the newsroom, not in some email you might miss.
Is there rate limiting?
Yes, per token and per app. Generous for sign-in traffic, real for api. Ask before launching something with unusual volume and we'll raise it.
Can I test without real users?
Register a second app for development with http://localhost redirects. Keep it separate from production so a leaked dev secret can't touch anyone real.
Where your data lives, who else touches it, what we have certified and what we have not.
Most trust pages are written to survive a procurement questionnaire. This one is written to be read, which
means it says "not yet" where that is the truth.
Certifications, honestly.
GDPR
Working towards it We follow the principles, but we are not
going to call that compliance. There is no data processing agreement to sign yet, and there is one
database rather than a choice of regions, so everything lives wherever that one sits. Access and
erasure requests are handled by hand, by a person, within thirty days.
PIPEDA
Working towards it This is our home regime and we build to
it. Residency is not yet selectable, and we have not published a registered entity and address, both
of which a formal claim would need.
FERPA
Aligned in practice School data is processed on the school's
instruction as a school official: no secondary use, no advertising, nothing sold. Nothing is trained
on school data. This is a commitment we keep and a contract we will sign, not something an
independent assessor has checked.
COPPA
Not fully settled A Noctic Account asks you to be 13 or
older and we do not knowingly collect from under-13s, but the date of birth is the one you type and
nothing verifies it. The Cadence tester form asks for a parent or guardian's permission, which means
some people reaching us are younger. See children and teens.
SOC 2 Type II
In progress Observation window underway. We do not have the
report yet, and we will not imply otherwise. Ask for a current date if this gates a decision.
ISO 27001
Not started On the list, not begun. If it is a hard
requirement, we are not the right supplier this year.
If a certification matters to your process, write to us and we will give you the
current position in writing rather than a marketing answer.
Where your data lives.
Regions
Canada (default) and the European Union. The region covers primary storage, replicas and backups. It is
chosen at setup, and changing it later is a migration rather than a switch.
Encryption
TLS 1.3 in transit and AES-256 at rest, both as our database and hosting providers implement them.
There is one region today, so there are no per-region keys, and backup encryption is the provider's
rather than ours.
Backups
Continuous, with point-in-time recovery over 30 days, as configured at our database provider. A
deletion propagates through backups within the same 30 days.
Access on our side
Noctic is one person today, so production access means one account, protected by two-factor and
logged by the provider. Nobody has standing access to message contents or assistant conversations.
Subprocessors.
Everyone who processes something on our behalf, including the ones that only see a little. If you find
a service we talk to that is not on this list, that is a mistake and we want to hear about it.
Supabase
Database, authentication and object storage. Region-pinned. Processes account and application data.
Netlify
Static site delivery for noctic.ink. Serves pages and assets; holds no account data.
Stripe
Subscription payments. Receives your email address and your card details, which reach Stripe
directly and never this site.
Resend
Delivers sign-in codes, unlock links and account notices. Receives an email address and the
message body, nothing further.
Have I Been Pwned
Checks a new password against known breach corpora. Receives the first five characters of a hash
of the password, padded so the request does not identify which password it is, and your IP address.
Never the password itself.
Translation provider
Translates pages shown at a language's own address, such as noctic.ink/fr, where first-time
visitors whose device uses that language are taken automatically unless their browser sends Global
Privacy Control. Receives the visible text of the page. Nothing is sent on the English address.
Apple and Google
TestFlight and Google Play run the Cadence beta. If you sign up as a tester, the email address you
give us reaches them so they can issue the build.
Model providers
Run the models behind Shiba and Cadence AI. Receive the prompts you send and what the product sends
with them. Named in writing on request while we finish the per-provider breakdown.
We give thirty days' notice in the changelog before adding a subprocessor that
touches school or account data. Cloudflare used to be listed here and is not in the path: DNS and
delivery are Netlify's.
How we handle an incident.
1
Contain
Stop the bleeding first — revoke, isolate, roll credentials. Before any communication goes out.
2
Post publicly
The status page is updated while we still do not know the cause. Silence during
an incident is worse than an incomplete update.
3
Notify
Affected schools and users within 72 hours of confirming a data incident, and in practice as soon as we
can describe it accurately.
4
Write it up
A post-mortem with the actual cause, published. No "an issue with a third party" when it was our
mistake.
Tell us before you tell anyone else and we will work with you. We do not threaten researchers, and we do
not require you to sign anything before reporting.
Where do I send it?
Through contact with "security" as the topic. We acknowledge within one working
day and give you a real assessment within five.
What is in scope?
noctic.ink, shibaai.dev, the Cadence application, our authorisation endpoints and our edge functions.
Third-party marketing pages and our subprocessors' own infrastructure are not.
What should I not do?
Do not access accounts that are not yours, do not run denial-of-service tests, and do not exfiltrate
data to demonstrate a finding. A description is enough.
Is there a bounty?
Not a formal programme yet. We pay for serious findings out of proportion to our size, and we credit
you publicly if you want that.
Will you disclose it?
Yes, once it is fixed, with your credit if you want it. Ninety days is our default ceiling and we
usually beat it considerably.
Every change you can see, including the ones that were our fault. Breaking changes are marked and come with notice.
The newsroom is for announcements. This is the running record: smaller, duller, and more useful if you're trying to figure out when something changed.
2026
The chips get their names
The Aether chips are now the N1 family: N1x, N1 Bionic and N1 Pro, each a step up from the last. N1 Bionic is the chip that's already designed and running in simulation, and its spec now matches that design.
Parable 1, our own model
Parable 1 replaces Parable 4.5 everywhere: Shiba, Cadence AI and the API. It's the first model we trained ourselves, independently. Same six effort tiers, same Agent Mode, voice and vision, and the known limitations are published with it.
Aero™ desktops, and laptops called AeroBook™
The family is now four machines. Aero™ and Aero™ Neo are new desktop-class computers, one
full-size and one small enough to carry. The laptops are called AeroBook™, and the lineup keeps two
of them: the AeroBook™ Nano and the AeroBook™ Pro. The 13.4-inch and 14.2-inch laptops are gone.
The family page, the builder and the questionnaire were rebuilt around it.
A page for every Aero™, and a fourth machine
Aero™ Nano, Aero™ Neo, Aero™ Ultra and Aero™ Pro each have their own page now, with the full
specification, the ceilings and the reasons to buy something else. The Nano is new: an Intel N100,
8 GB of memory and either 64 GB or 500 GB of storage, fanless, and the cheapest machine we could
design without it being a bad one. The lineup page keeps the comparison.
Two-step email verification, everywhere
Registration and sign-in now both finish with a six-digit code sent to your address. Five wrong passwords lock the account and email an unlock link. Not optional. A password alone doesn't sign anyone in anymore.
Switch account on the consent screen
Connecting an app while signed into the wrong account used to mean signing out and starting over. Now the consent screen shows which account you're connecting and lets you switch right there.
Settings, properly
Notification preferences, appearance controls including accent colour and text size, account privacy, session management and a data export. Preferences save as you set them.
Light mode contrast pass
Every text and background pairing across the site was measured and fixed. Cards that were hard-coded dark now follow your theme, and code blocks finally switch palette in dark mode. They'd been stuck on the light one because of a selector that never matched.
Noctic Silicon
A new page for the RISC-V processor family we want to build: the microarchitecture, the whole manufacturing process, the patent situation in plain English, a five-rung plan from software simulator to laptop chip with a cost on each rung, and all the ways it could fall apart.
Aero™ moves to Intel Core Ultra, and says concept
The lineup is respecified around Core Ultra 5 226V, Core Ultra 7 258V and Core Ultra 9 285H (real parts with on-package memory) so the machine and AXESS OS can be judged now. Every badge reading “work in progress” now reads “concept”, which is what it always meant.
Aether A1 X Nano
A second chip in the Aero™ concept: 4 cores, 4 threads, up to 3.4 GHz, fanless, alongside the
8-core A1 at up to 3.8 GHz. Same architecture, so one build runs on both. Both are now
Noctic Silicon targets instead of Aero™ specifications.
Developer tools, documented
The URL builder, PKCE generator, token exchange tester, token inspector, userinfo explorer and webhook signer all got explanations of what the parameters mean and what the errors are telling you.
Parable 4.5
Six effort tiers, a one-million-token context window that remembers instructions all the way to the end, and better sense of when it's unsure. Known limitations published with it.
Continue with Noctic opened up
Third-party apps can register and use the authorisation flow. Four scopes, no fee, no revenue share.
Cadence, out of pilot
Verified school registration, timetable import from a photograph, channels with teacher moderation.
Free for schools.
How we version things.
Breaking changes get notice
Twelve months for the authorisation flow, ninety days for anything else in the API. Announced here first, then emailed to registered developers.
Model versions are explicit
Parable 1 stays 1. We don't swap the weights behind a version number without telling you, because that makes your evaluations meaningless.
Deprecations are dated
Anything on its way out gets a date, not a "soon". If we miss the date, the date moves in public. The removal never happens early.
Incidents live on the status page
Outages and their post-mortems are on status. This page is for changes we made on purpose.
Put your name on the list. No payment now, and no payment at release until you say yes.
Concept hardware, limited to 100 reservations.
Concept renders of the Aero™, Aero™ Neo and AeroBook™ Pro. None of them have been manufactured, and the final hardware could look different.
100
Reservations in the first run
One hundred spots, held in the order requests arrive. We confirm your place by email. We'd rather tell you straight where you are in the queue than show a number on a page we can't back up.
No payment today
How it works.
1
You join the list
Name, email, and which of the four models you're into. That's the whole form.
2
We confirm by email
Within a few days, with your spot. If the hundred are gone you go on the list behind them.
3
We keep you posted
Only when something real happens, like a manufacturing partner, a date or a price. Not a newsletter.
4
You decide at release
We ask you to confirm before anything is charged. Say nothing and nothing happens. Your spot just passes to the next person.
Your reservation.
We ask for as little as we possibly can. No address, no card, no date of birth.
You need a Noctic Account.
Reservations are tied to an account so only you can change or cancel yours, and so we're not keeping a second list of names and addresses we don't need. It's free, takes a minute, and doesn't commit you to buying anything.
No. It's a list, not a contract. You can leave with one email, and there's no penalty, no deposit and nothing to lose.
Are you taking payment?
Not now, and not at release until you confirm. We don't hold a card and this page never asks for one. If a page claiming to be us ever does, it isn't us.
What if the hundred spots are gone?
You go on the list behind them, in order, and we tell you that straight up in the confirmation email. No pretending you made the first run.
When will it actually ship?
We don't know. There's no manufacturing partner, no date and no price. Anyone telling you a quarter for this machine is guessing. See where the concept is at.
Can I change which model I want?
Yes, right up until you confirm an order. Reply to the confirmation email and we'll change it.
What happens to my details?
They sit on the reservation list and nowhere else. Not sold, not brokered, not used to train anything. The full terms are in the Privacy Policy.
Why do I need an account?
So the reservation belongs to someone. Only you can change or cancel yours, you can see it from your account, and we're not keeping a separate list of names and addresses outside the thing that already holds them.
Does making an account cost anything or sign me up for more?
No to both. It's free, it's the same account that works across every Noctic product, and marketing email is off unless you turn it on in Settings.
Most companies our size put up a page like this with five titles and four photos of the same three people. Here's the real version instead.
NS
Nicholas Steiche
Founder and Main Engineer
Montreal, Quebec, Canada
Im telling you bro its not another one (if Yk.
What each of those actually means.
Founder
Decides what we build and what we refuse to build. Answers the email. Says no to the surveillance features schools keep asking for, and will keep saying no.
Main Engineer, hardware
The Aero™ and AeroBook™ concepts: the four machines, the decision to ship on Intel Core Ultra until our own silicon exists, the N1 Bionic processor design behind Noctic Silicon, going USB-C only, and putting memory in the package where it can't be upgraded.
Main Engineer, software
AXESS OS and the Glass UI, Cadence, the Noctic Account, the sign-in codes, and every line of
the site you're reading.
Everything else
Support tickets, the privacy policy, the status page during an incident, and the invoices. There's nobody to escalate to, which is either reassuring or scary depending on who you are.
A note from Nicholas.
Hey its me Nico, I'm the founder of Noctic. I sarted this beacuse i wanted to change the way ai is seen with people and prove that its posible to use it in a way that is helpful and not harmful.
By making Cadence i wanted to create a tool that can help the students least motivated about studying to study. Or with Aerobook, a cheap high quality laptop that shows that we put in effort to make a good product for a system that was seen as for geeks only.
and by making a all aluminum laptop, with a intuitive clean modern design operating system baced off linux fedora without commands to open your questionable apps or to larp that you use linux. Linux is for geeks and larpers we make it for the people who like quality and simplicity. For shiba making a independent self taught real model without useing ai providers is a huge achivement for me however yes we are limited for compute power we hae a model that can do things thats all goodnight
Nicholas Steiche Founder and Main Engineer, Noctic · Montreal
To everyone using this.
Hey. I'm the founder of Noctic. The company is Noctic, not Noctic.ink. That part is just the address it lives at.
If you're using Cadence, Shiba AI, the developer tools, or Teacher Connect™ (the class keys, Class Sync and the Teacher API that put a class into Cadence), then the part of your day that runs on software is simpler than it was. That was the whole point of building any of it: tools that do the obvious thing and don't watch you while they do it.
For the first twenty teachers
Your own Noctic address, built free.
The first twenty teachers to set up a class key and connect a real class get a site of their own,
on their own Noctic address
(your-name.noctic.ink), designed and built by me, at no cost, ever.
All I ask in return is that you point your students at Cadence and the study tools in it. That's the whole deal. No contract, no card, nothing to cancel.
To claim one, connect your class, then write to me and say which class it is. I build these myself, so give me a couple of weeks each. When the twenty are gone I'll say so here instead of leaving the offer up.
And if you haven't tried Cadence yet: start with one class. Cadence reads what a teacher already posts and turns it into something a student can actually study from, with an AI that answers from that material and not from the internet. Studying stops being a hunt for the right page and turns into a conversation with the actual course. That's the good version of student life, and it's the one I wanted when I was in it.
Mostly, though, this is a thank you. To the teachers who put a real class on Cadence before there was any good reason to trust it. To the students who told us, bluntly, when it got something wrong. To the developers building on the Noctic Account while the docs were still half-written. And to everyone who wrote in about something broken instead of walking away. Every one of those emails turned into a fix.
Noctic is still one person and a lot of unfinished work. You using it is what makes the rest worth building.
Nicholas Steiche Founder and Main Engineer, Noctic · Montreal
What a one-person company means for you.
Worth weighing properly, whichever side of it you're on. Some of this works in your favour and some of it doesn't.
You reach the person who decides
No tier-one script, no account manager passing your question along to engineering. The reply comes from whoever can actually change the thing.
Decisions don't drift
"No ads, no training on school work, no proctoring" holds because there's no board, no investor and no growth target pulling the other way.
Bus factor of one
The real risk, said plainly. It's why your data is exportable any time and why nothing we build locks you in. Leaving has to work even if we stop.
Some things move slowly
Certifications, compliance paperwork and enterprise procurement all take longer here than at a company with a legal team. See the trust centre for exactly where things are.
Support has one pair of hands
During term, school reports get answered first. Everything else gets answered too, just not always the same day.
Nothing gets killed off without notice
Small enough that shutting something down would be a real conversation, not a line in a changelog you find three months later.
The roles we want to stop holding.
These are the titles above, written as the jobs they'll become. None open on a fixed date, and we won't pretend otherwise. But this is the order we'd fill them in.
1
Engineer, Cadence
The product with real users and real schools depending on it. The first hire, whenever that happens.
2
Support, education
Someone whose actual job is answering schools, not the fourth thing on their list.
3
Hardware
Aero™ needs someone who's shipped physical products before. Right now it has someone who hasn't.
4
Operations
Compliance, contracts, invoices and the certifications sitting in the trust centre marked "in progress".
If you're reading this because you're thinking about working here, the real pitch is that you'd be the second person, and you'd have a lot of say in what Noctic becomes.
😕
Hmm… Something’s not right.
That didn't work, and it's on our end, not yours.
Nothing you were doing got lost, and nothing on your account changed. Most of the time it works on a second try.
One failed request is the most common cause, and trying again fixes it.
2
Check the status page
If something of ours is down it'll already be on status, usually before we even know why.
3
Reload the page
A tab that's been open a long time can be stuck on an old version of the site after we've shipped a new one.
4
Tell us
If it keeps happening, send us what it says above through contact. That text is the useful part.
Did I lose anything?
No. Forms on this site hold on to what you typed until they go through, and nothing gets written to your account unless the request came back clean.
Was I charged?
No. Nothing on Noctic charges you without a clear confirm step, and an error like this stops before that.
Is my account safe?
Yes. Signing in needs your password and a code from your email, and a page error can't change either one. If you want peace of mind, end every session from Settings.
This keeps happening on one page
That's worth telling us about, with the page address and the text above. Write to support and we'll chase it down instead of waiting for a pattern.
The model, the account and the design language, in one membership.
Everything Noctic runs on is open to you: Parable for reasoning, the Noctic Account for sign-in, Cadence for classrooms, Glass for how it all looks. The Developer Program is how you get the parts that carry our name: a publisher name on record, published listings, hardware, and the people who built it.
Six effort tiers behind one endpoint, with the reasoning trace sent back, not hidden. Streaming, tool calls and structured output all work the same way as the chat you already know.
The material Noctic is drawn in (surfaces, depth, the motion curves) written down properly, with tokens you can lift straight into your own product without guessing at the numbers.
You can build on Noctic without joining. The OAuth endpoints, the tools and the examples are open to any account. The Program is for the things that need a name attached: a named publisher on the consent screen, a listing in the Ecosystem, early builds, hardware, and a person to talk to.
Enrolment checks who you are, asks what you plan to build, and puts a name we can stand behind on every consent screen your app shows. It takes about ten minutes. None of it is a test.
The legal name you enrolled under, shown on the consent screen above the scopes your app asks for, and backed by an agreement that ends if it's false. Apps outside the Program say "an unverified developer" there instead, and people notice.
A listing in the Ecosystem
Apps that sign in with Noctic can be listed at Ecosystem → Apps, where people who already have an account go looking for stuff to connect.
Raised limits
Ten times the normal rate limit on the token and userinfo endpoints, and a spot in the Parable queue that doesn't get pushed behind free traffic.
Pre-release builds
Models, endpoints and Glass changes before they ship, with breaking changes written down ahead of time, not discovered.
Two support requests a year
Not a ticket queue. An engineer reads your code and answers about your code. Organisation membership gets six.
Hardware and labs
Request an Aero™ unit for the membership year. When developer labs start running, members get the seats before anyone else. None are scheduled yet.
Memberships.
All four are free. No fee to enrol, no fee to stay, and no card to put on file. What you choose here decides whose name goes on the consent screen and what the membership can do, not what it costs.
Individual
One person, publishing under their own name. Two support requests, one Aero™ unit, everything
above. The name on the consent screen is your legal name.
Organisation
A company, publishing under the company's name. Up to twenty-five people on one membership and six support requests. The name on the consent screen is the company's.
Education
A school, college or university. Everything in Organisation except hardware, and we don't ask for an entity number, since plenty of institutions don't have the kind we mean.
Enterprise, in-house only
Apps distributed inside your own organisation and never listed publicly. Includes private scopes and
a named contact.
Pick the one that actually describes you, not the one that sounds biggest. It sets what your membership can do, and changing it later means enrolling again.
How enrolling works.
1
A Noctic Account
Everything is done as you, so we know who agreed to what. Free, and it takes a minute.
2
The questionnaire
Eight questions about what you're building, who it's for and what happens to their data. There are no right answers.
3
Your details
Legal name, or the entity and your authority to sign for it. This is the name you're held to.
4
The review
An automatic check sends back anything missing or contradictory right away. A complete application goes to the Noctic Developer team, who accept or decline it.
Automatic, and instant. It checks what you gave us for anything that contradicts itself or is missing, and answers right away.
5
Membership
Live the second it's accepted. Free, with nothing to pay now or ever.
There are no right answers. Nothing here is marked.
A membership is an agreement about a specific thing you plan to do, so the review goes better when we know what that thing is. Answers route the application (a product for under-sixteens is checked against different rules than an internal dashboard) and they're not a test you can fail. Say "not sure yet" wherever that's true. It's one of the options for a reason.
Sign in first
Your answers are saved against your Noctic Account, alongside the rest of the enrolment.
An internal dashboard and a product for schoolkids get checked against different rules. Telling us which one you're building is how the right person picks it up.
They tell you what else to read
Some answers come with a pointer, like the rules on minors or on passing profile data to a third party. That's a note, not a mark against you.
They can change later
Plans change. Come back and edit any answer while the enrolment is still a draft, and tell us in writing once it's a membership.
The one thing that isn't flexible: your answers have to be true when you give them. The membership depends on them, and an answer that turns out to be false ends it.
Five steps, free, and read by the Developer team.Five steps, free, answered on the spot.
Your answers save as you go, so you can leave in the middle and come back. Nothing is submitted until the last step, and there's nothing to pay at any point. Membership is free. Anything missing is caught the moment you submit, so the only wait is for the team to read a complete application.The check at the end is automatic, so you get the answer right away instead of in a few days.
1Who is enrolling
2Your details
3The entity
4Questions
5Agreement
Sign in first
Enrolment is an agreement between Noctic and a named person, so it happens as you, not as some anonymous form.
This decides whose name goes on the consent screen, and it can't be changed after without enrolling again.
Your details
Exactly like it's written on the ID you'd show a bank. Initials and nicknames fail review.
Where the review decision goes. Defaults to the address on your Noctic Account.
The entity
Exactly as registered, including the suffix. This is the name people will see.
Nine digits, issued once to a registered company. The check is automatic and nobody looks these up for you, so it has to go here. It's in your own incorporation documents.
About what you're building
Checking your answers…
Check it, then agree
This is what gets checked. Nothing here costs anything. Membership is free.
Two readings. A machine first, the second you press the button, so nobody waits on a person just to be told a box is empty. Then the Noctic Developer team, who read what's complete and decide.
Nobody reads it. The check runs the second you press the button and answers right away, so there's no queue and no working day to wait for.
1
It's checked
Against itself, mostly: missing fields, an organisation enrolling from a personal mailbox, a name that's only initials, a declaration left unticked. Anything it finds comes straight back with a list of what to change. Fix it and submit again, as often as you need.
2
The team decides
A complete application waits with the Developer team, who accept or decline it with a note written for you. Spot a mistake while it's waiting? Pull it back, fix it, send it again.
You get the answer
A complete application is accepted on the spot. Sent back isn't a refusal. Fix what it named and submit the same form again.
3
That's all
Membership is live and free from the moment it's accepted. Nothing to pay and no card to add.
Let's be straight about what an automatic check is: it reads what you typed. It doesn't confirm that a company exists, that you work there, or that a legal name matches your passport. What it does is hold you to the declarations you ticked, and those are what the membership rests on. An answer that turns out to be false ends it, whoever or whatever accepted it.
The first one is an hour with our CEO, online, on 20 October.
Sign up with the Noctic Account you already have and the join link shows up on this page. It happens if at least one person signs up. Sign-ups close an hour before it starts, and if nobody has by then it's cancelled, so nobody ends up sitting in an empty room.
The three kinds.
What's scheduled is above. These are the shapes the rest will take when they happen. Said here so you know what to expect, not as promises with dates on them.
Sessions
An hour on one thing, streamed and kept up afterwards. Open to anyone with a Noctic Account.
Labs
Your code on the screen and an engineer next to it, no slides. Small enough that they'd fill up, so members of the Program would get first dibs.
Meetups
Run by people who aren't us, in their own city. We'd send stickers and a speaker where we can.
Anything scheduled goes in the changelog as well as on this page.
Want to run the first one?
Someone has to be first, and it doesn't have to be us. If you'd organise a Noctic developer meetup in your city, say so. We'll help with stickers, a speaker where we can, and the slides for anything we've shown publicly. Use the mark the way the brand guidelines describe and call it a Noctic Developer Meetup, not a Noctic event.
Releases, heads-ups, events and anything else a developer should know about, posted by the Noctic Developer team as it happens. Pinned shouts stay at the top until they stop being true.
Where else they turn up.
On the developer home
The latest three sit at the top of developer.noctic.ink, above everything else that's new.
One key per buyer. It downloads the Kick Start zip once, and the buyer enters it on Kick Start. If a download fails, reopen the key and it works again.
New key for
Events
Who has signed up, and the link they join on. Paste the Meet link here and everyone who signed up sees it on the events page. Nobody else does. An event nobody has signed up for by the time sign-ups close doesn't happen, and the page says so without anyone having to do anything.