Think Build Implement Repeat
London, UK +44 7367 067226
WhatsApp FOLLOW f in X
  1. Home
  2. Blog
  3. Assessing an Application You Did Not Build
Python & Django

Assessing an Application You Did Not Build

What to check when you take over an existing Django application: security exposure, versions, test coverage and how long a typical change really takes.

Updated 2 min readBy SpiderHunts Technologies

Free estimateNo obligation

Get a free estimate

Tell us what you need. A senior engineer reads every enquiry.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →

Quick answer — TL;DR

Security exposure, version currency, test coverage of what matters, and how long a typical change takes. That last one is the most practical measure of all.

Five questions

  1. Is it exposed? Permissions, production settings, dependencies
  2. Is it current? Django and Python versions, dependency currency
  3. Is it tested? Not coverage, but whether the important parts are covered
  4. Is it maintainable? Could another developer work on it
  5. What does a typical change cost?
The last question is the commercially important one. An application where a simple change takes three days is expensive regardless of how it scores on anything else.

Security specifically

  • Record-level permissions on every view, list and export
  • Production settings — debug, hosts, cookies, HTTPS
  • Where media files are stored and how they are served
  • Raw SQL, marked-safe output and CSRF exemptions
  • Dependencies with known vulnerabilities

Practical signals

SignalIndicates
Runs locally in a daySetup documented
Deployments repeatableA process exists
Tests passThey are maintained
Migrations consistentEnvironments in step
Settings from the environmentEnvironments separable

What an audit should produce

A prioritised list: urgent, important, cosmetic, with an effort estimate against each. Written so a non-technical owner can decide what to fund.

Not a list of style deviations, which is what many audits produce and which nobody can act on.

When to commission one

  1. Before acquiring a business that depends on it
  2. When taking over from another supplier
  3. When changes take longer than they used to
  4. Before deciding between fixing and rebuilding
  5. After any security incident

FAQ

Frequently asked questions

The questions readers ask us after this guide.

Still have a question?

Ask us directly — a senior engineer will get back to you.

Ask about your project

How long does an audit take?

Two to five days for a typical business application, depending on size and documentation.

What does it cost?

Usually a few thousand pounds. Against a rebuild decision or an acquisition, it is inexpensive certainty.

Will it find everything?

It will find the significant things. An audit is proportionate, not exhaustive.

Can you audit code you did not write?

That is what an audit is. We do it regularly and give a straight assessment either way.

Keep reading

More on Python & Django

Python & Django

An API Other Systems Can Depend On

Designing a Python API service others can depend on: validation at the boundary, consistent errors and status codes, early versioning and documentation.

Python & Django

Moving and Transforming Data Reliably

Building data pipelines in Python that cope with malformed input: restartable stages, quarantining failures, reconciling counts and alerting on absence.

Start here

Inheriting or acquiring a system?

An audit is a few days against a decision you will live with for years. Happy to run one.

  1. You tell us what you needTwo minutes on the form, or a message on WhatsApp.
  2. A senior engineer reviews itAnd comes back with questions, a realistic range and an honest view on fit.
  3. Free 30-minute scoping callWe talk through scope, options and a realistic estimate — with no obligation.
Free estimateNo obligation

Talk to someone who builds this

Send a short brief and we will come back with an honest view and a realistic range.

Takes under a minute. We never share your details.

  • Free consultation
  • No commitment
  • NDA on request

Prefer to talk? Book a free 30-minute call →