| 1 | <!DOCTYPE html> |
| 2 | <html lang="en-GB"> |
| 3 | <head> |
| 4 | <meta charset="utf-8"> |
| 5 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
| 6 | <title>Oficina</title> |
| 7 | <meta name="description" content="Oficina is a fast, lightweight office suite that values your privacy. Docs, Sheets, Slides, Calendar, Calls and Memoria, in the browser and as native Mac apps."> |
| 8 | <link rel="preload" href="/static/estilo/fonts/v1/onest-latin.woff2" as="font" type="font/woff2" crossorigin> |
| 9 | <link rel="preload" href="/static/brand/icon.svg" as="image" type="image/svg+xml"> |
| 10 | <link rel="preload" href="/static/brand/docs.svg" as="image" type="image/svg+xml"> |
| 11 | <link rel="preload" href="/static/brand/sheets.svg" as="image" type="image/svg+xml"> |
| 12 | <link rel="preload" href="/static/brand/slides.svg" as="image" type="image/svg+xml"> |
| 13 | <link rel="preload" href="/static/brand/calendar.svg" as="image" type="image/svg+xml"> |
| 14 | <link rel="preload" href="/static/brand/calls.svg" as="image" type="image/svg+xml"> |
| 15 | <link rel="preload" href="/static/brand/memoria.svg" as="image" type="image/svg+xml"> |
| 16 | <link rel="icon" type="image/png" sizes="32x32" href="/static/brand/icon-32.png"> |
| 17 | <link rel="icon" type="image/svg+xml" href="/static/brand/icon.svg"> |
| 18 | <link rel="apple-touch-icon" sizes="180x180" href="/static/brand/apple-touch-icon.png"> |
| 19 | <link rel="stylesheet" href="/static/estilo/fonts/v1/fonts.css"> |
| 20 | <link rel="stylesheet" href="/static/theme.css"> |
| 21 | <link rel="stylesheet" href="/static/estilo/sky.css"> |
| 22 | <link rel="stylesheet" href="/static/site/apps.css"> |
| 23 | <link rel="stylesheet" href="/static/site/home.css"> |
| 24 | </head> |
| 25 | <body> |
| 26 | |
| 27 | <a class="skip" href="#directory">Skip to the apps</a> |
| 28 | |
| 29 | <header class="bar"> |
| 30 | <div class="shell bar-in"> |
| 31 | <a class="mark" href="/"><img src="/static/brand/icon.svg" alt="" width="30" height="30"><span>Oficina</span></a> |
| 32 | <nav class="nav" aria-label="Sections of this page"> |
| 33 | <a href="#directory">Apps</a> |
| 34 | <a href="#memoria">Memoria</a> |
| 35 | <a href="#isolation">Privacy</a> |
| 36 | <a href="#native">Mac apps</a> |
| 37 | </nav> |
| 38 | <a class="btn btn-quiet" href="/auth/start?return_to=%2F">Sign in</a> |
| 39 | </div> |
| 40 | </header> |
| 41 | |
| 42 | <main> |
| 43 | |
| 44 | <!-- ───────── Hero: every app's colour, together, behind the headline ───────── --> |
| 45 | <section class="hero" estilo-sky-host> |
| 46 | <!-- estilo-sky: the suite's sky, rendered from estilo's template on first serve (page.go) --> |
| 47 | <div class="shell hero-in"> |
| 48 | <h1 class="hero-h">Open your new office suite.</h1> |
| 49 | <p class="hero-lead">Oficina is fast, modern and light enough to forget it’s running. |
| 50 | Six apps that share one account, in the browser or as real native apps — |
| 51 | with your team’s work sealed inside your team’s own instance.</p> |
| 52 | <div class="acts"> |
| 53 | <a class="btn" href="https://memoria.oficina.works">Try Memoria</a> |
| 54 | <a class="btn btn-quiet" href="/auth/start?return_to=%2F">Sign in</a> |
| 55 | </div> |
| 56 | </div> |
| 57 | |
| 58 | <!-- The product is the picture: a launcher and a document, drawn in HTML. --> |
| 59 | <div class="shell"> |
| 60 | <div class="stage" aria-hidden="true"> |
| 61 | <div class="launch"> |
| 62 | <p class="launch-h"><img src="/static/brand/icon.svg" alt="" width="22" height="22"><b>Your team</b><span>6 apps</span></p> |
| 63 | <ul class="launch-apps"> |
| 64 | <li><img src="/static/brand/docs.svg" alt="" width="50" height="50">Docs</li> |
| 65 | <li><img src="/static/brand/sheets.svg" alt="" width="50" height="50">Sheets</li> |
| 66 | <li><img src="/static/brand/slides.svg" alt="" width="50" height="50">Slides</li> |
| 67 | <li><img src="/static/brand/calendar.svg" alt="" width="50" height="50">Calendar</li> |
| 68 | <li><img src="/static/brand/calls.svg" alt="" width="50" height="50">Calls</li> |
| 69 | <li><img src="/static/brand/memoria.svg" alt="" width="50" height="50">Memoria</li> |
| 70 | </ul> |
| 71 | </div> |
| 72 | <div class="doc" data-app="docs"> |
| 73 | <p class="doc-bar"><span class="lights"><i></i><i></i><i></i></span><img src="/static/brand/docs.svg" alt="" width="20" height="20"><b>Docs</b><span>Packing list, Thursday site visit</span></p> |
| 74 | <div class="doc-page"> |
| 75 | <p class="doc-h">Packing list, Thursday site visit</p> |
| 76 | <p>Leaving from the depot at 7:30, back by mid-afternoon. The forecast says overcast with rain after noon, so pack for both.</p> |
| 77 | <p>Bring hard hats (two spares are already in the van), the folding tape measure rather than the laser, high-vis vests, the signed site access letter, spare camera batteries and a <mark>full water bottle each</mark>. There is no tap on site.</p> |
| 78 | </div> |
| 79 | </div> |
| 80 | </div> |
| 81 | </div> |
| 82 | </section> |
| 83 | |
| 84 | <!-- ───────── The apps, and where to open each today ───────── --> |
| 85 | <section class="band" id="directory"> |
| 86 | <div class="shell"> |
| 87 | <div class="sec-head"> |
| 88 | <h2>Six apps, one family.</h2> |
| 89 | <p class="prose">Every app runs in the browser, five have a Mac app, and the iPhone apps are close.</p> |
| 90 | </div> |
| 91 | <ul class="family"> |
| 92 | <li data-app="docs"> |
| 93 | <img src="/static/brand/docs.svg" alt="" width="56" height="56"> |
| 94 | <h3>Docs</h3> |
| 95 | <p>Write together, in the same paragraph.</p> |
| 96 | <p class="get"><a href="https://docs.oficina.works">Open</a><a href="https://raw.amadan.net/oficina/native-releases/a48d4751df238594c8ee056e53e278124754c3be/docs/releases/net.amadan.oficina.docs-7.zip">Download for Mac</a><a class="soon" href="#testflight">iPhone soon</a></p> |
| 97 | </li> |
| 98 | <li data-app="sheets"> |
| 99 | <img src="/static/brand/sheets.svg" alt="" width="56" height="56"> |
| 100 | <h3>Sheets</h3> |
| 101 | <p>Formulas, ranges and a grid that keeps up.</p> |
| 102 | <p class="get"><a href="https://sheets.oficina.works">Open</a><a href="https://raw.amadan.net/oficina/native-releases/86c695b0ea23eace253a3a36133dc04b5ec4f82a/sheets/releases/net.amadan.oficina.sheets-9.zip">Download for Mac</a><a class="soon" href="#testflight">iPhone soon</a></p> |
| 103 | </li> |
| 104 | <li data-app="slides"> |
| 105 | <img src="/static/brand/slides.svg" alt="" width="56" height="56"> |
| 106 | <h3>Slides</h3> |
| 107 | <p>Build the deck, then stand up and present it.</p> |
| 108 | <p class="get"><a href="https://slides.oficina.works">Open</a><span class="none">Browser only, for now</span></p> |
| 109 | </li> |
| 110 | <li data-app="calendar"> |
| 111 | <img src="/static/brand/calendar.svg" alt="" width="56" height="56"> |
| 112 | <h3>Calendar</h3> |
| 113 | <p>Everyone’s week, without the reply-all.</p> |
| 114 | <p class="get"><a href="https://calendar.oficina.works">Open</a><a href="https://raw.amadan.net/oficina/native-releases/main/calendar/releases/net.amadan.oficina.calendar-2.zip">Download for Mac</a><a class="soon" href="#testflight">iPhone soon</a></p> |
| 115 | </li> |
| 116 | <li data-app="calls"> |
| 117 | <img src="/static/brand/calls.svg" alt="" width="56" height="56"> |
| 118 | <h3>Calls</h3> |
| 119 | <p>Meet without installing anything first.</p> |
| 120 | <p class="get"><a href="https://calls.oficina.works">Open</a><a href="https://raw.amadan.net/oficina/native-releases/a5c156da4d1329d8ff25089cc3d714f7f83f7bc1/calls/releases/net.amadan.oficina.calls-24.zip">Download for Mac</a></p> |
| 121 | </li> |
| 122 | <li data-app="memoria"> |
| 123 | <img src="/static/brand/memoria.svg" alt="" width="56" height="56"> |
| 124 | <h3>Memoria <em>New</em></h3> |
| 125 | <p>Ask your own documents a question.</p> |
| 126 | <p class="get"><a href="https://memoria.oficina.works">Open</a><a href="https://raw.amadan.net/oficina/native-releases/main/memoria/releases/net.amadan.oficina.memoria-2.zip">Download for Mac</a><a class="soon" href="#testflight">iPhone soon</a></p> |
| 127 | </li> |
| 128 | </ul> |
| 129 | </div> |
| 130 | </section> |
| 131 | |
| 132 | <!-- ───────── Memoria ───────── --> |
| 133 | <section class="band band-quiet" id="memoria" data-app="memoria"> |
| 134 | <div class="shell two"> |
| 135 | <div> |
| 136 | <h2>Introducing Memoria, your organisation’s shared memory.</h2> |
| 137 | <p class="prose">Every team keeps its answers in places nobody can search: an old thread, |
| 138 | a deck from March, the contract nobody re-read. Memoria holds your team’s |
| 139 | documents and answers questions from them — and it shows you the passage |
| 140 | it answered from, every time, so you can check its work.</p> |
| 141 | <p class="prose">Your documents are sealed at rest under your team’s own key, and |
| 142 | nothing is sent anywhere to be indexed. The index is built inside your instance, |
| 143 | on your own hardware or ours.</p> |
| 144 | <p><a class="lnk" href="https://memoria.oficina.works">Try Memoria with your own documents</a></p> |
| 145 | </div> |
| 146 | <div> |
| 147 | <div class="ask"> |
| 148 | <p class="ask-q">What did we promise Vitoria about keeping their data?</p> |
| 149 | <p class="ask-a">Ninety days by default, extendable to a year on request. Agreed |
| 150 | in the 4 March call and written into the contract addendum.</p> |
| 151 | <p class="ask-cite"><a href="#memoria">Vitoria — contract addendum, §4.2</a></p> |
| 152 | </div> |
| 153 | <p class="ask-note">Memoria never answers without a passage to point at.</p> |
| 154 | </div> |
| 155 | </div> |
| 156 | </section> |
| 157 | |
| 158 | <!-- ───────── Isolation ───────── --> |
| 159 | <section class="band" id="isolation"> |
| 160 | <div class="shell two"> |
| 161 | <div> |
| 162 | <h2>Every team gets its own building.</h2> |
| 163 | <p class="prose">Most suites put every customer in one enormous database and |
| 164 | separate you with a column. Oficina doesn’t. Your team gets its own |
| 165 | instance, its own store and its own key, so isolation is a property of |
| 166 | the architecture rather than a promise about our query filters.</p> |
| 167 | <p class="prose">It also means you can take it with you. Run Oficina on our |
| 168 | infrastructure, in your own cloud, or on a machine in your office — |
| 169 | the apps are the same either way.</p> |
| 170 | </div> |
| 171 | <dl class="facts"> |
| 172 | <div> |
| 173 | <dt>One instance per team</dt> |
| 174 | <dd>Your data has its own store and its own encryption key. There is no shared table to leak across.</dd> |
| 175 | </div> |
| 176 | <div> |
| 177 | <dt>Nothing leaves to be indexed</dt> |
| 178 | <dd>Search and Memoria build their indexes inside your instance. No document is sent out to be read.</dd> |
| 179 | </div> |
| 180 | <div> |
| 181 | <dt>Sharing stops at your edge</dt> |
| 182 | <dd>Documents are shared by name, inside your team, and stay that way until someone changes it.</dd> |
| 183 | </div> |
| 184 | </dl> |
| 185 | </div> |
| 186 | </section> |
| 187 | |
| 188 | <!-- ───────── Native apps ───────── --> |
| 189 | <section class="band band-quiet" id="native"> |
| 190 | <div class="shell"> |
| 191 | <div class="sec-head"> |
| 192 | <h2>Native apps, not a browser in a costume.</h2> |
| 193 | <p class="prose">Five of the six edit the same documents as the web apps, |
| 194 | with native editors rather than an embedded web view. They launch fast, they |
| 195 | keep working when the connection drops, and they sync when it comes back.</p> |
| 196 | </div> |
| 197 | <ul class="dl-list"> |
| 198 | <li data-app="docs"><img src="/static/brand/docs.svg" alt="" width="36" height="36"><span class="dl-app">Docs</span><a class="btn btn-sm" href="https://raw.amadan.net/oficina/native-releases/a48d4751df238594c8ee056e53e278124754c3be/docs/releases/net.amadan.oficina.docs-7.zip">Download</a></li> |
| 199 | <li data-app="sheets"><img src="/static/brand/sheets.svg" alt="" width="36" height="36"><span class="dl-app">Sheets</span><a class="btn btn-sm" href="https://raw.amadan.net/oficina/native-releases/86c695b0ea23eace253a3a36133dc04b5ec4f82a/sheets/releases/net.amadan.oficina.sheets-9.zip">Download</a></li> |
| 200 | <li data-app="calendar"><img src="/static/brand/calendar.svg" alt="" width="36" height="36"><span class="dl-app">Calendar</span><a class="btn btn-sm" href="https://raw.amadan.net/oficina/native-releases/main/calendar/releases/net.amadan.oficina.calendar-2.zip">Download</a></li> |
| 201 | <li data-app="memoria"><img src="/static/brand/memoria.svg" alt="" width="36" height="36"><span class="dl-app">Memoria</span><a class="btn btn-sm" href="https://raw.amadan.net/oficina/native-releases/main/memoria/releases/net.amadan.oficina.memoria-2.zip">Download</a></li> |
| 202 | <li data-app="calls"><img src="/static/brand/calls.svg" alt="" width="36" height="36"><span class="dl-app">Calls</span><a class="btn btn-sm" href="https://raw.amadan.net/oficina/native-releases/a5c156da4d1329d8ff25089cc3d714f7f83f7bc1/calls/releases/net.amadan.oficina.calls-24.zip">Download</a></li> |
| 203 | </ul> |
| 204 | <p class="dl-req">Apple silicon, signed and notarized. Docs and Sheets need macOS 26; Calendar, Memoria and Calls need macOS 14. Slides runs in the browser and has no Mac app yet.</p> |
| 205 | |
| 206 | <div class="tf" id="testflight"> |
| 207 | <h3>Unzip it and move it to Applications.</h3> |
| 208 | <p>That first install is a real one — drag it across yourself. After that |
| 209 | the app updates itself: use <em>Check for Updates</em> in the app menu, |
| 210 | or turn on automatic checks and forget about it. Every update is |
| 211 | signed, and the app asks before it relaunches.</p> |
| 212 | <p>iPhone and iPad come through TestFlight, and that part isn’t ready |
| 213 | yet. The builds exist; the invitations don’t.</p> |
| 214 | </div> |
| 215 | </div> |
| 216 | </section> |
| 217 | |
| 218 | <!-- ───────── Where to start ───────── --> |
| 219 | <section class="band" id="signup"> |
| 220 | <div class="shell two"> |
| 221 | <div> |
| 222 | <h2>Oficina isn’t open for sign-ups yet.</h2> |
| 223 | <p class="prose">Creating a team still means one of us provisioning the |
| 224 | instance by hand, so there is no form here that would do anything. The |
| 225 | apps above are real and running, though, and Memoria is the one worth |
| 226 | your time first.</p> |
| 227 | <p class="prose sm">When sign-ups open, the same page will say so.</p> |
| 228 | </div> |
| 229 | <div> |
| 230 | <div class="ask"> |
| 231 | <p class="ask-q">Already have an Oficina account?</p> |
| 232 | <p class="ask-a">Open any app above and sign in with your work email. |
| 233 | One account reaches every app your team has.</p> |
| 234 | <p class="ask-cite"><a href="/auth/start?return_to=%2F">Sign in to Oficina</a></p> |
| 235 | </div> |
| 236 | </div> |
| 237 | </div> |
| 238 | </section> |
| 239 | |
| 240 | </main> |
| 241 | |
| 242 | <footer class="foot"> |
| 243 | <div class="shell foot-in"> |
| 244 | <div class="foot-col"> |
| 245 | <h2 class="foot-h">Apps</h2> |
| 246 | <ul> |
| 247 | <li><a href="https://docs.oficina.works">Docs</a></li> |
| 248 | <li><a href="https://sheets.oficina.works">Sheets</a></li> |
| 249 | <li><a href="https://slides.oficina.works">Slides</a></li> |
| 250 | <li><a href="https://calendar.oficina.works">Calendar</a></li> |
| 251 | <li><a href="https://calls.oficina.works">Calls</a></li> |
| 252 | <li><a href="https://memoria.oficina.works">Memoria</a></li> |
| 253 | </ul> |
| 254 | </div> |
| 255 | <div class="foot-col"> |
| 256 | <h2 class="foot-h">Source</h2> |
| 257 | <ul> |
| 258 | <li><a href="https://amadan.net/oficina/home">Home</a></li> |
| 259 | <li><a href="https://amadan.net/oficina/memoria">Memoria</a></li> |
| 260 | <li><a href="https://amadan.net/oficina/docs/-/releases/v0.1.0">Releases</a></li> |
| 261 | </ul> |
| 262 | </div> |
| 263 | <p class="colophon">This page is one HTML file, a few stylesheets, one typeface and |
| 264 | a sky drawn in SVG, all served from our own machines. It runs no scripts, sets no |
| 265 | cookies and calls nothing third-party — which is why there is no banner |
| 266 | asking your permission.</p> |
| 267 | </div> |
| 268 | </footer> |
| 269 | |
| 270 | </body> |
| 271 | </html> |
| 272 | |